Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
02.05.2014
Размер:
4.31 Кб
Скачать
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
#include "windows.h"




char* RU(char* rustr)//Функция перевода в ASCI
{
char* str=new char[strlen(rustr)];
CharToOem(rustr,str);
return str;
}

char* f1prov()//Проверка первого файла
{
int n=0,in=0;
int f1st=2;
char tmp[100];
char F1[100][100][100];
char name[100];

cout<< RU("Введите название первого файла:");
cin>>name;

ifstream f1(name);

while(!f1.eof())//Механизм считывания из файла
{
f1.getline(tmp,sizeof(tmp)+1,';');
strncpy(F1[(in)/(f1st)][in%(f1st)],tmp,100);
if(in%(f1st)==0)
{if((in)/(f1st)>0)
{
for(int i=0;i<sizeof(F1[in/(f1st)][in%(f1st)]);i++)
F1[(in)/(f1st)][in%(f1st)][i]=F1[(in)/(f1st)][in%(f1st)][i+1];
}
}
in++;
}
f1.close();

n=in/f1st;

//Вывод содержимого файла на экран
for(int i=0;i<n;i++)
{
cout<< RU(F1[i][0]) <<" "<<RU(F1[i][1])<<"\n";
}
//Проверка на уникальность
for(i=0;i<n;i++)
{
	for(int j=i+1;j<n;j++)
	{
		if(strcmpi(F1[i][0],F1[j][0])==0){cout<<RU("Номер ")<<F1[i][0]<< RU(" не уникален!\n");}
	}
}
//Проверки на корректность символов
for(i=0;i<n;i++)
{
	for(int s=0;s<strlen(F1[i][0]);s++){if((F1[i][0][s]<'0')||(F1[i][0][s]>'9')){cout<<RU("Номер предмета ")<<RU(F1[i][0])<<RU(" должен содержать только цифры!\n");}}
    for(s=0;s<strlen(F1[i][1]);s++){if((F1[i][1][s]>'0')&&(F1[i][1][s]<'9')){cout<<RU("Наименование предмета ")<<RU(F1[i][1])<<RU(" не должно содержать цифр!\n");}}
}


return name;
}

char* f2prov()//Проверка второго файла
{
int n=0,in=0;
int f1st=4;
char tmp[100];
char F1[100][100][100];
char name[100];

cout<< RU("Введите название второго файла:");
	cin>>name;

ifstream f1(name);

while(!f1.eof())//Механизм считывания из файла
{
f1.getline(tmp,sizeof(tmp)+1,';');
strncpy(F1[(in)/(f1st)][in%(f1st)],tmp,100);
if(in%(f1st)==0)
{if((in)/(f1st)>0)
{
for(int i=0;i<sizeof(F1[in/(f1st)][in%(f1st)]);i++)
F1[(in)/(f1st)][in%(f1st)][i]=F1[(in)/(f1st)][in%(f1st)][i+1];
}
}
in++;
}
f1.close();

n=in/f1st;
//Вывод содержимого на экран
for(int i=0;i<n;i++)
{
cout<< RU(F1[i][0]) <<" "<<RU(F1[i][1])<<" "<<RU(F1[i][2])<<" "<<RU(F1[i][3])<<"\n";
}
//Проверка на корректность символов
for(i=0;i<n;i++)
{
	for(int s=0;s<strlen(F1[i][0]);s++){if((F1[i][0][s]<'0')||(F1[i][0][s]>'9')){cout<<RU("Номер группы ")<<RU(F1[i][0])<<RU(" должен содержать только цифры!\n");}}
	for(s=0;s<strlen(F1[i][2]);s++){if((F1[i][2][s]<'0')||(F1[i][2][s]>'9')){cout<<RU("Номер предмета ")<<RU(F1[i][2])<<RU(" должен содержать только цифры!\n");}}
    for(s=0;s<strlen(F1[i][1]);s++){if((F1[i][1][s]>'0')&&(F1[i][1][s]<'9')){cout<<RU("ФИО ")<<RU(F1[i][1])<<RU(" не должно содержать цифр!\n");}}
	for(s=0;s<strlen(F1[i][3]);s++){if((F1[i][3][s]<'0')||(F1[i][3][s]>'9')){cout<<RU("Оценка ")<<RU(F1[i][3])<<RU(" должна содержать только цифры!\n");}}
}

return name;
}


void main()
{
	char* perv;
	char* vtor;
	
	int z,x;

    perv=f1prov();	
	vtor=f2prov();


int n=0;
int in=0;
int f1st=3;
int f2st=4;
char tmp[50];
char F1[30][3][50];
char F2[30][4][50];

ifstream f1("f1.txt");

while(!f1.eof())
{
f1.getline(tmp,sizeof(tmp)+1,';');
strncpy(F1[(in)/(f1st)][in%(f1st)],tmp,40);
if(in%(f1st)==0)
{if((in)/(f1st)>0)
{
for(int i=0;i<sizeof(F1[in/(f1st)][in%(f1st)]);i++)
F1[(in)/(f1st)][in%(f1st)][i]=F1[(in)/(f1st)][in%(f1st)][i+1];
}
}
in++;
}
f1.close();
z=in/f1st;
in=0;

ifstream f2("f2.txt");

while(!f2.eof())
{
f2.getline(tmp,sizeof(tmp)+1,';');
strncpy(F2[(in)/(f2st)][in%(f2st)],tmp,40);
if(in%(f2st)==0)
{if((in)/(f2st)>0)
{
for(int i=0;i<sizeof(F2[in/(f2st)][in%(f2st)]);i++)
F2[(in)/(f2st)][in%(f2st)][i]=F2[(in)/(f2st)][in%(f2st)][i+1];
}
}
in++;
}
f2.close();
x=in/f2st;

int kol,buf;
char sort[100];
cout<<"\n\n";

ofstream f3("Rezult.txt");
kol=0;buf=0;
for(int s=0;s<x;s++)
{
	if(strcmpi(F2[s][2],"0")!=0){strncpy(sort,F2[s][2],40);}
for(int i=0;i<x;i++)
{
for(int j=0;j<z;j++)
{
if((strcmpi(F2[i][2],F1[j][0]))==0)
{

	if((strcmpi(F2[i][2],sort))==0)
	{
f3 << F1[j][1] <<" "<<F2[i][1]<<" "<<F2[i][3]<<"\n";
cout << RU(F1[j][1])<<" "<< RU(F2[i][1])<<" "<<RU(F2[i][3])<<"\n";
strncpy(F2[i][2],"0",40);

	}
}
}
}

}
cout<<"\n\n";
f3.close;
}
Соседние файлы в папке Курсовой проект
  • #
    02.05.201445 б13f1.txt
  • #
    02.05.2014156 б13f2.txt
  • #
    02.05.20144.31 Кб14Mila.cpp
  • #
    02.05.20143.38 Кб15Mila.dsp
  • #
    02.05.2014531 б13Mila.dsw
  • #
    02.05.201441.98 Кб13Mila.ncb
  • #
    02.05.201448.64 Кб13Mila.opt
  • #
    02.05.2014682 б13Mila.plg