Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2011, 14:23   #1
DARK_DESTROYER
 
Регистрация: 13.10.2011
Сообщений: 3
По умолчанию Классы потокового ввода-вывода и робота с файлами

/*5. Написати програму копіювання файла у зворотньому порядку.
Читання файлу відбувається блоками. Опрацювати можливі помилки.*/

#include <string>
#include <iostream>
#include <stdlib.h>
#include <fstream>

using namespace std;
int count;

class text {
char* info;
int n;
public:
text(char* info="");
~text(){}
int symbolsnum();
};

text::text(char* inf)
{
n=strlen(inf);
info=new char[n];
strcpy(info,inf);
}

int text::symbolsnum()
{
int cnt=0;
for (int i=0;i<n;i++) if(info[i]!=' ') cnt++;
return cnt;
}

void main()
{
char c;
char *s=new char[100];
fstream fs;
start:
cout<<"1. Print the file"<<endl;
cout<<"2. Copy the file in reverse order"<<endl;
cout<<"3. Exit"<<endl;
cout<<"Choose the number: ";
cin>>c;
switch (c){
case '1':
fs.open("C:\\test.txt", ios::in);
if (!fs) cout<<"File opening error!"<<endl;
else while(fs.getline(s,100)) cout<<s<<endl;
fs.close();
break;
case '2':
fs.open("C:\\test.txt", ios::in);
//fs.open("C:\\copy.txt", ios::in);
if (!fs) cout<<"File opening error!"<<endl;
while(fs.getline(s,100))
{
text temp(s);
count+=temp.symbolsnum();
}
char* p;
p = new char[count];
for(int i=count;i>=0;i--)
{

}

//cout<<"Result is: "<<count<<endl;
fs.close();
//fs.close;
break;
case '3':exit(0);
default: cout<<"Wrong number!"<<endl; goto start;
}
system("Pause");
goto start;
}
DARK_DESTROYER вне форума Ответить с цитированием
Старый 13.10.2011, 14:26   #2
DARK_DESTROYER
 
Регистрация: 13.10.2011
Сообщений: 3
По умолчанию

в корне диска С:\ должен быть файл test.txt . его вывести на екран а потом копировать задом наперед в тот же файл. чтение проводится блоками, до каждой каретки перевода на следующую стоку. проблема таится в case '2'
DARK_DESTROYER вне форума Ответить с цитированием
Старый 13.10.2011, 20:36   #3
DARK_DESTROYER
 
Регистрация: 13.10.2011
Сообщений: 3
По умолчанию

Помогите плиз доделать..
DARK_DESTROYER вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++, переопределение ввода-вывода Erisu Помощь студентам 9 16.06.2011 16:27
Операторы ввода и вывода wsws123 Паскаль, Turbo Pascal, PascalABC.NET 2 04.01.2011 18:12
переопределение ввода и вывода в С++ blackbanny Помощь студентам 12 03.05.2010 13:08
система ввода вывода StudentPolitech Общие вопросы C/C++ 3 02.04.2009 22:22