Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки и файлы в С++
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Califax
Здравствуйте! Зараннее прошу прощения, но возникла проблема, с которой не могу справиться unsure.gif .
Задали лабораторную такого типа:
Написать программу, которая считывает текст из файла и выводит его на экран, заме-нив цифры от 0 до 9 на слова «ноль», «один»,…, «девять», начиная каждое предложе-ние с новой строки.
Дело в том, что лекций нам не давали. В поисковике смотрел. Если кто может, помогите.
Зараннее спасибо.
volvo
Если предложения разделяются только точками -
#include <iostream.h>
#include <fstream.h>

int main() {

char *change[10] = {
"ноль", "один", "два", "три", "четыре",
"пять", "шесть", "семь", "восемь", "девять"
};

char inBuf[128];
ifstream inFile("text.txt", ios::in);


while(inFile.getline(inBuf, 128, '.')) {

int len = inFile.gcount();

if(!len) break;

for(int i = 0; i < len; ++i) {
switch(inBuf[i]) {
case '\n':
cout << " ";
break;

case '0': case '1':
case '2': case '3':
case '4': case '5':
case '6': case '7':
case '8': case '9':
cout << change[inBuf[i] - '0'];
break;
default:
cout << inBuf[i];
}
}
cout << endl;

}
inFile.close();

return 0;

}
Califax
Спасибо )

Можно последний вопрос, извините за нескромномть. Во второй лаб-й нужно - Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Я вас очень прошу помочь. Примного благодарен.
Bill Gates
Вот, правда знаки препинания не учитываются: cool.gif
#include<iostream.h>
#include<fstream.h>
#include<conio.h>

#define FileName "MyFile.txt"
int main()
{
ifstream InputFile = FileName;
char word1[64],word2[64];

while (InputFile >> word1 >> word2)
cout << word2 << ' ' << word1 << ' ';
getch();
return 0;
}
Califax
Спасибо большое,но она разве переставляет все парные слова местами в тексте?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.