 
        
        - •КУРСОВАЯ РАБОТА
- •ЗАДАНИЕ
- •Пример строки файла
- •Пример входного файла patient.txt
- •Выходные данные
- •При выборе пункта 1 на экран выводится сообщение:
- •№ Фамилия И.О. Год рожд. Диагноз
- •Пример результата при выборе пункта 2
- •Пример результата при выборе пункта 3
- •Файл pnevmon.txt:
- •Функциональная структура программы
- •Подпрограммы:
- •Поэтапная разработка программы
- •начало
- •Главная функция программы:
- •switch (n)
- •Тестирование функции main()
- •/* Гл. функция */
- •/* Заглушки подпрограмм */
- •Результаты тестирования
- •Тест 2. Входной файл есть в текущем каталоге
 
Функциональная структура программы
11
 
Подпрограммы:
Date – вывод пациентов, поступивших в заданный день.
MiddleAge - определение среднего возраста пациентов.
Diagnos - запись в новый файл списка пациентов с заданным диагнозом.
Age - определение возраста пациента по году рождения.
12
 
Поэтапная разработка программы
1 этап: Разработка функции main()
13
 
начало
f =fopen(“ patient. txt.”, “r” )
да
f = NULL
вывод “Файл patient.txt
не найден”
возврат 1
Открытие файла patient.txt для чтения
нет
c.15 A
14
 
c.14 A
вывод меню
Чтение номера пункта
меню n
n
‘1’
‘2’
‘3’
Date(f)
MiddleAge(f)
Diagnos(f)
да
n ≠ ’4’
нет
закрытие
файла
| 15 | возврат 0 | 
 
Главная функция программы:
int main()
{
FILE *f; /* ссылка на входной файл */ char n; /* номер пункта меню */ clrscr();
f= fopen("patient.txt", "r"); if (f == NULL)
{puts ("Файл patient.txt не найден"); getch();
return 1;
}
16
 
do
{ puts ("\n=========================================="); puts ("Выберите номер пункта меню:");
puts ("1 - вывод списка пациентов, поступивших в заданный день");
puts ("2 - определение среднего возраста пациентов");
puts ("3 - запись в новый файл списка пациентов с заданным
| диагнозом"); | 
 | 
| puts ("4 - выход"); | 
 | 
| puts ("---------------------------------------------------------------------------- | "); | 
| n = getche(); | 
 | 
17
 
switch (n)
{
case '1': Date(f); break;
case '2': MiddleAge(f); break; case '3': Diagnos(f); break; case '4': break;
default: puts("\nНужно вводить номер пункта от 1 до 4");
}
}
while (n != '4'); fclose(f); return 0;
}
18
 
Тестирование функции main()
#include <stdio.h> #include <conio.h>
/* прототипы функций */ void Date(FILE *f);
void MiddleAge(FILE *f); void Diagnos(FILE *fin);
19
 
/* Гл. функция */
int main()
{
. . .
puts (“Программа завершила работу”); getch();
return 0;
}
20
