Здравствуйте! Зараннее прошу прощения, но возникла проблема, с которой не могу справиться .
Задали лабораторную такого типа:
Написать программу, которая считывает текст из файла и выводит его на экран, заме-нив цифры от 0 до 9 на слова «ноль», «один»,…, «девять», начиная каждое предложе-ние с новой строки.
Дело в том, что лекций нам не давали. В поисковике смотрел. Если кто может, помогите.
Зараннее спасибо.
Если предложения разделяются только точками -
#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;
}
Спасибо )
Можно последний вопрос, извините за нескромномть. Во второй лаб-й нужно - Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Я вас очень прошу помочь. Примного благодарен.
Вот, правда знаки препинания не учитываются:
#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;
}
Спасибо большое,но она разве переставляет все парные слова местами в тексте?