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

Ваш аккаунт

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

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

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

Транслитератор

20K
05 октября 2006 года
abv
2 / / 05.10.2006
Выкладываю код элементарного транслитератора, входной и выходной потоки, идет определение символов вводимых данных. Файл In, файл с каким-то текстом, файл Out - это полное описание файла in Позже будет более усложненный вариан:
Код:
# include <fstream.h>
# include <iostream.h>
# include <conio.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
char * Det(char c)
{
   if(c >= 'A'&&c <= 'Z'){return "Letter";}
   if(c >= '0'&&c <= '9'){return "Digit";}
   switch(c)
    {
      case '(': return "Skobka (";
      case ')': return "Skobka )";
      case '+': return "Ar. operation +";
      case '-': return "Ar. operation -";
      case '*': return "Ar. operation *";
      case '/': return "Ar. operation /";
      case '.': return "Dot";
      case '<': return "Log. operation <";
      case '>': return "Log. operation >";
      case '\n': return "End Of String";
      case 0x0d : return "End Of File";

    }
   if(c == ' '){return "Space";}
   return "Comment";

}

ifstream fin;
ofstream fout;

int main(int argc, char* argv[])
{
    char c;
    fin.open("in.txt");
    fout.open("out.txt");
    while(fin.get(c))
     {
        fout<<"Symbol ["<<c<<"] is :"<<Det(c)<<"\n";
     }
    cout<<"Done!";
    getch();
    return 0;
}
3
05 октября 2006 года
Green
4.8K / / 20.01.2000
Для таких вещей правильнее использовать таблицы соответствий (ассоциативные массивы), а не switch/case.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог