Допустим, что в файле хранятся сведения о
мониторах. В каждой строке указан тип, оптовая и розничная цены и примечание.
Для простоты данные в каждой строке записаны единообразно: первую строку
занимает тип монитора, далее 2 строки целые числа, представляющие оптовую и
розничную цены, затем строка – примечание.
Приведенная ниже программа построчно
считывает данные из текстового файла в буферную переменную s, затем суммирует оптовые и розничные
цены и выводит результат на экран и в файл.
ifstream in("d:\\Test1.txt");
if(!in)
{cout << RUS("Ошибка открытия входного файла");
getch();return 1;}
ofstream out("d:\\Test2.txt");
if(!out)
{cout << RUS("Ошибка открытия выходного файла");
getch();return 1;}
char s[20][80];
int i=0,op=1,ros=2;
while (!in.eof())
{in>>s[i];i++;}
float sop=0; float sros=0;
while (op<i-1)
{sop+=atof(s[op]);op+=4;}
while (ros<i-1)
{sros+=atof(s[ros]);ros+=4;}
for(int j=0;j<i-1;j++)
{out<<s[j]<<"\n";
cout<<RUS(s[j])<<"\n";}
cout<<"\n"<<RUS("Сумма оптовых цен =
")<<sop;
cout<<"\n"<<RUS("Сумма розничных цен =
")<<sros;
out<<"\n"<<"Сумма
оптовых цен = "<<sop;
out<<"\n"<<"Сумма
розничных цен = "<<sros;
in.close();
out.close();
|