Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка сканера

Реферат Розробка сканера













Малюнок 1. Діаграма станів з семантичними процедурами.

2. Текст програми :


# include

# include

# include

# include

# include

# include

# include

int Prov_itn ();// Перевірка на введення цілого позитивного числа

int LookUp (Char *);// Пошук символу за таблицею службових слів

void Getchar (char, int &) ;//Визначає клас літери

void main ()

{

char s [20], f_in [10] = "in.txt", f_out [10], c, k, a;

int Class, Quit = 0, Q = 0, x, i, n, j = 0;

char _ [] = "в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ",

_cel [] = ". Ціле : ", p> _op [] = ". Оператор:",

_kom [] = ". Коментар : ", p> _id [] = ". Ідентифікатор:",

_sl [] = ". Службове слово:",

_log [] = ". Логічна операція: ",

_err [] = ". Неприпустиме вираз: ",

__ [] = "в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ в”Ђ";

clrscr ();

fstream inFile, outFile;

cout <<" t в”‚ 1.Ввод з клавіатури. в”‚ n ";

cout <<" t в”‚ 2.Ввод з файлу. в”‚ n ";

do

{

cout <<" t Ваш вибір: ";

n = Prov_itn ();

if (n <1 | | N> 2)

cout <<" t Невірно вказаний номер пункту меню. N ";

else

break;

} while (1);

if (n == 1)

{

inFile.open (f_in, ios :: trunc | Ios :: in | ios :: out);

cout <<" nВводіте текст (в кінці тексту введіть!): n ";

for (; (a = getchar ())! = '!' ;)

inFile <

inFile.close ();

inFile.open (f_in, ios :: in | Ios :: out);

cout <<" nВведіте ім'я файлу виводу: ";

cin>> F_out;

outFile.open (f_out, ios :: trunc | Ios :: in | ios :: out);

if (! outFile)

{

cout <<"Помилка окритія файлу: "<

}

}

if (n == 2)

{

cout <<"Введіть ім'я файлу вводу: "; p> cin>> F_in;

inFile.open (f_in, ios :: in | Ios :: out);

if (! inFile)

{

cout <<" nОшібка відкриття файлу: "<

}

if (inFile.peek ()! = EOF)

{

cout <<"Вміст файлу: n n ";

while (inFile.peek ()! = EOF)

{

inFile.get (c);

cout <

}

}

else

{

cout <<"Файл порожній! ";

getch ();

exit (0);

}

inFile.close ();

inFile.open (f_in, ios :: in | Ios :: out);

cout <<" n nВведіте ім'я файлу виводу: ";

cin>> F_out;

outFile.open (f_out, ios :: trunc | Ios :: in | ios :: out);

if (! outFile)

{

cout <<" nОшібка окритія файлу: "<

}

}

// Перевірка вмісту файлу

if (inFile.peek ()! = EOF)

{ p> Quit = 1;

inFile.get (c);

Getchar (c, Class);

outFile <<_ <<" n";

}

else

Quit = 0;

while (Quit == 1)

{

j + +;

while (c == ' '| | C ==' n ')

{

if (inFile.peek () == EOF)

{

Quit = 0;

break;

}

inFile.get (c);

Getchar (c, Class);

}

switch (Class)

{

case 1:// зчитуємо символ цифра

{

i = 0;

do

{

s [i] = c;

i + +;

if (inFile.peek () == EOF)

{

Quit = 0;

break;

}

inFile.get (c);

Getchar (c, Class);

} while (Class == 1);

s [i] = ' 0';

outFile <

}

break;

case 2:// зчитуємо символ буква

{

i = 0;

do

{

s [i] = c;

i + +;

if (inFile.peek () == EOF)

{

Quit = 0;

break;

}

inFile.get (c);

Getchar (c, Class);

} while (Class <= 2);

s [i] = ' 0';

x = LookUp (s);

if (x == 1)

outFile <

if (x == 2)

outFile <

if (x == 3)

outFile <

}

break;

case 3:// зчитуємо символ початок коментаря {

{

i = 0;

s [i] = c;

i + +;

if (inFile.peek () == EOF)

{

Quit = 0;

outFile <

break;

}

inFile.get (c);

Q = 0;

if (c == '*')

{

s [i] = c;

i + +;

do

{

if (in...


Назад | сторінка 2 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Клас двійкового файлу, похідний від fstream
  • Реферат на тему: Логічна операція визначення понять
  • Реферат на тему: Розробка програми для роботи з таблицею "Ліки"
  • Реферат на тему: Розробка програми для Windows, що здійснює пошук відбитків пальців
  • Реферат на тему: Розробка програми на платформі Android на тему "Інформатика - 2 клас&q ...