Тема: Задача =)
Показать сообщение отдельно

  #2  
Старый 04.05.2007, 00:11
Gorn
Новичок
Регистрация: 25.10.2006
Сообщений: 13
Провел на форуме:
158978

Репутация: 34
По умолчанию

Если я правильно понял задачу - то вот прога:
Код:
#include <stdio.h>
#include <string.h>

class CFind
{
	char *FILEIN,*FILEOUT;
public:
	void SetInFile(char *name) { FILEIN = new char[strlen(name)]; strcpy(FILEIN,name); }
	void SetOutFile(char *name) { FILEOUT = new char[strlen(name)]; strcpy(FILEOUT,name); }
	void Make()
	{
		char line[21],fio[21];
		int p,m,meh,h;
		double res;
		FILE *fin = fopen(FILEIN,"r");
		FILE *fout = fopen(FILEOUT,"w");
		while (fgets(line,20,fin))
		{
			strcpy(fio,line);
			fgets(line,20,fin);
			sscanf(line,"%d %d %d %d",&p,&m,&meh,&h);
			if ((double)(p+m+meh+h)/4.0>=3.5) continue;
			fputs(fio,fout);
			fputs(line,fout);		
		}
		fclose(fin);
		fclose(fout);
	}
};

int main()
{
	CFind fnd;
	fnd.SetInFile("base.txt");
	fnd.SetOutFile("E:/rab/ind1.dat");
	fnd.Make();
	return 0;
}
Формат in файла:
Код:
Пупкин В.В.
3 5 7 2 
Петров П.П
4 6 8 3 
Иванов И.И
1 2 2 2
Формат out файла:
Код:
Иванов И.И
1 2 2 2
Если чё не так - пиши )

Последний раз редактировалось Gorn; 04.05.2007 в 00:36..