Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Кодирование и отладка

Читайте также:
  1. Вербовка и психологическая обработка (кодирование) новых членов секты.
  2. Внутреннее кодирование Flash
  3. Задания на кодирование графической информации и определение объема графического файла
  4. КЛАССИФИКАЦИЯ И КОДИРОВАНИЕ ИСХОДНОЙ ИНФОРМАЦИИ
  5. Кодирование информации
  6. Кодирование информации. Основные задачи кодирования.

Для реализации поставленных задач были использованы следующие стандартные библиотеки языка Си:

1. stdio.h – содержит константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода, таких как:

2. conio.h - консольный ввод-вывод.

3. stdlib.h - содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие.

4. locale.h – позволяет использовать символы русского алфавита.

5. string.h - содержащий функции для работы с нуль-терминированными строками и различными функциями работы с памятью.

6. time.h - содержит типы и функции для работы с датой и временем.

Использованные функции из данных библиотек:

fopen – открытие файла;

fscanf – считывает данные из файла;

fclose – закрывает открытый файл;

printf – вывод данных;

scanf – считывает данные с клавиатуры;

 

_getch - считывает символ из консоли без отображения;

_flushall – очистка буффера клавиатуры;

malloc - обеспечивают выделение блока памяти, определенного размера

Формат и структура данных:

Структура данных состоит из двух полей: страна и столица это массивы символов.

Листинг А.1. Описание структуры:

struct Date

{

char country[81];

char capital[81];

};

Данные хранятся в текстовом файле input, расширения txt. Верхнее значение в текстовом файле указывает на количество записей, каждая запись пронумированна. Формат записи имеет следующий вид: «1. Страна Столица».

Для достижения поставленной цели был разработан необходимый набор функций:

Date *input_date(FILE *in, int N); - чтение данных из файла

Формальные параметры указатель на файл и количество записей типа-int.

bool find(Date dd,int mode2, char *answer); - проверка ответа

Формальные параметры: структура данных, режим типа int 1 или 0, и указатель на ответ типа char.

Глобальные переменные:

Date *d – массив данных

int N – размер массива d

FILE *in - указатель на файл с данными input.txt

int mode - режим: 0 - тренировка, 1 - тест

int mode2- режим: 0 - дана страна, 1 - дана столица

int index – полученное случайное число

char answer[81] - ответ

bool res - результат true - верно, false - нет

int ballet=0- кол-во набранных баллов (для теста)

char ch – отвечает за выбор режима

int i=0- счетчик

Листинг А.2.- интерфейс выбора режима:

printf("Введите режим:\n0 - тренировка \n1 - тест\n");

while(1)

{

_flushall();

ret = scanf("%d",&mode);

if(ret == 1 && (mode == 0 || mode == 1))//OK

break;

// Error

printf("Warning: Error mode\n");

}

printf("Введите режим2:\n0 - страна \n1 - столица\n");

while(1)

{

_flushall();

 

ret = scanf("%d",&mode2);

 

if(ret == 1 && (mode2 == 0 || mode2 == 1))//OK

break;

// Error

printf("Warning: Error mode\n");

 

}

 

Листинг А.3.- основной цикл работы программы:

while(i<10)

{ i++;

int index = rand()%N;

if(mode2 == 0)

{

printf("Страна: %s Введите столицу: ",d[index].country);

scanf(" %s",answer);

}

else

{

printf("Столица: %s Введите страну: ",d[index].capital);

scanf(" %s",answer);

}

res = find(d[index],mode2,answer);

if(res == true)

{

 

if(mode == 1)

ballet++;

}

else

{

 

if(mode == 0){

printf("\n\t\tError\n");

printf("\n%s%s\n\n",d[index].capital,d[index].country);

}

}

printf(" Продолжим? y/n ");

scanf(" %c",&ch);

if(ch == 'n')

break;

}

 

if(mode == 1)

printf("Набрано баллов из 10: %d\n",ballet);

return 0;

 

}

 


Дата добавления: 2015-10-13; просмотров: 114 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Введение| Тестирование

mybiblioteka.su - 2015-2024 год. (0.007 сек.)