cout<<setw(5)<<"a"<<setw(5)<<"b"<<setw(5)<<"c"<<setw(5)<<"d"<<setw(5)<<"e"<<setw(5)<<"f"<<endl;
cout<<setw(5)<<a<<setw(5)<<b<<setw(5)<<c<<setw(5)<<d<<setw(5)<<e<<setw(5)<<f;
Работа с файловыми потоками в С++.
Дан символьный файл f. Подсчитать число вхождений в файл каждой из букв a, b, c, d, e, f.
Результат вывести в файл g в виде таблицы с комментариями.
Код:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <ctime>
#include <iomanip>
using namespace std;
int main()
{
srand(time(0));//инициализируем генератор случайных чисел
fstream fs;//создаем файловый поток
fs.open("data.txt",ios::in|ios::out|ios::trunc);//открывай файл для записи чтения и обнуляем его
int C=100;//сколько букв в файле
for(int i=0;i<C;i++)//случайно заполняем файл буквами
{
fs<<char(rand()%(int('z')-int('a'))+int('a'));
}
int a=0,b=0,c=0,d=0,e=0,f=0;//переменные для хранения кол-ва нужных нам букв
fs.seekg(0);//идем в начало файла
char ch;//переменная для хранения считываемого символа
while(!fs.eof())//пока не конец файла
{
fs>>ch;//читаем символ
switch (ch)//проверяем является ли он нужным нам,если да увеличиваем соответствующий счетчик
{
case 'a':{a++;break;}
case 'b':{b++;break;}
case 'c':{c++;break;}
case 'd':{d++;break;}
case 'e':{e++;break;}
case 'f':{f++;break;}
}
}
fstream fs1;//поток для выходного файла
fs1.open("data1.txt",ios::in|ios::out|ios::trunc);//открываем его
fs1<<setw(5)<<"a"<<setw(5)<<"b"<<setw(5)<<"c"<<setw(5)<<"d"<<setw(5)<<"e"<<setw(5)<<"f"<<endl;//записываем красивую табличку
fs1<<setw(5)<<a<<setw(5)<<b<<setw(5)<<c<<setw(5)<<d<<setw(5)<<e<<setw(5)<<f;//записываем данные о буквах
fs1.close();//закрываем потоки
fs.close();
cin.get();
return 0;
}
#include <iostream>
#include <fstream>
#include <ctime>
#include <iomanip>
using namespace std;
int main()
{
srand(time(0));//инициализируем генератор случайных чисел
fstream fs;//создаем файловый поток
fs.open("data.txt",ios::in|ios::out|ios::trunc);//открывай файл для записи чтения и обнуляем его
int C=100;//сколько букв в файле
for(int i=0;i<C;i++)//случайно заполняем файл буквами
{
fs<<char(rand()%(int('z')-int('a'))+int('a'));
}
int a=0,b=0,c=0,d=0,e=0,f=0;//переменные для хранения кол-ва нужных нам букв
fs.seekg(0);//идем в начало файла
char ch;//переменная для хранения считываемого символа
while(!fs.eof())//пока не конец файла
{
fs>>ch;//читаем символ
switch (ch)//проверяем является ли он нужным нам,если да увеличиваем соответствующий счетчик
{
case 'a':{a++;break;}
case 'b':{b++;break;}
case 'c':{c++;break;}
case 'd':{d++;break;}
case 'e':{e++;break;}
case 'f':{f++;break;}
}
}
fstream fs1;//поток для выходного файла
fs1.open("data1.txt",ios::in|ios::out|ios::trunc);//открываем его
fs1<<setw(5)<<"a"<<setw(5)<<"b"<<setw(5)<<"c"<<setw(5)<<"d"<<setw(5)<<"e"<<setw(5)<<"f"<<endl;//записываем красивую табличку
fs1<<setw(5)<<a<<setw(5)<<b<<setw(5)<<c<<setw(5)<<d<<setw(5)<<e<<setw(5)<<f;//записываем данные о буквах
fs1.close();//закрываем потоки
fs.close();
cin.get();
return 0;
}
Почему то не выводит на экран
Цитата: dom1nator
Почему то не выводит на экран
Ничего удивительного: в программе нет ни одной строчки, выводящей информацию на экран. Если нужно на экран вывести ту же табличку, что и в файл, достаточно добавить строчки
Код: