Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с файловыми потоками в С++.

49K
14 декабря 2009 года
dom1nator
8 / / 05.10.2009
Помогите разобратсья с программой:
Дан символьный файл 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;
}

Почему то не выводит на экран
297
15 декабря 2009 года
koodeer
1.2K / / 02.05.2009
Цитата: dom1nator
Почему то не выводит на экран


Ничего удивительного: в программе нет ни одной строчки, выводящей информацию на экран. Если нужно на экран вывести ту же табличку, что и в файл, достаточно добавить строчки

 
Код:
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;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог