Тема: СИ
Показать сообщение отдельно

СИ++ (подправь код - получи аську)
  #1  
Старый 19.05.2009, 17:43
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
С нами: 10011945

Репутация: 33
По умолчанию СИ++ (подправь код - получи аську)

Программа считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова
"ноль", "один",...,"девять", начиная каждое предложение с новой строки.

Код:
#include <iostream>
#include <fstream>
#include <string>
#include <clocale>
using namespace std;

int main(){
    setlocale(LC_CTYPE, "Russian"); // для русских букв
    ifstream file("text.txt"); // открываем файл text.txt
    string str;
    string num[10] = {"ноль","один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"};
    getline( file, str, static_cast<char>(EOF)); // считываем текст из файла

    cout << str;
    for( char ch = '0'; ch <= '9'; ch++ ){
        string::size_type index = 0;
        while(( index = str.find( ch, index )) != string::npos ){
            str.replace( index, 1, num[ch-'0'] );
        }
    }
    cout << "\n\n\nResultat:\n\n" << str;

    cin.sync();
    cout << "\n\n\n Enter to exit\n\n";
    getchar(); // пауза
    return 0;
}
нашел в нете, кто поможет пордерактировать так, чтоб работало в Borland C 3.1., т.е. ничего лишнего, а это не работает. вот.

Последний раз редактировалось rubik-nerubik; 19.05.2009 в 19:42..
 
Ответить с цитированием