# 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;
}
Транслитератор
Выкладываю код элементарного транслитератора, входной и выходной потоки, идет определение символов вводимых данных. Файл In, файл с каким-то текстом, файл Out - это полное описание файла in Позже будет более усложненный вариан:
Для таких вещей правильнее использовать таблицы соответствий (ассоциативные массивы), а не switch/case.