- •Кафедра Математического обеспечения
- •Требования к выполнению и оформлению лабораторных работ по дисциплине «Информатика и программирование»
- •Кафедра Математического обеспечения
- •Информационных систем и инноватики
- •Лабораторная работа № 1
- •По дисциплине "Языки программирования (1)"
- •Москва 2013
- •2. Второй вариант действий
- •3. Третий вариант действий
- •4. Четвёртый вариант действий
- •5. Выход из программы
Кафедра Математического обеспечения
Информационных систем и инноватики
Лабораторная работа № 1
По дисциплине "Языки программирования (1)"
Вариант N ____
-
Исполнители:
№ учебной группы,
фамилии студентов
Оценки по БРС
в баллах
Защита в срок
(да/нет)
Руководитель: профессор Грибанов В.П.
Дата защиты «_____»__________2013_ г.
Москва 2013
ПРИЛОЖЕНИЕ 2
Основные принципы разработки меню
Меню позволяет пользователю так организовать работу программы так, чтобы он имел возможность:
выбрать один из нескольких предложенных вариантов вычислений (последовательность вариантов выбирает сам пользователь),
повторить какой-либо вариант,
завершить программу (программе нужно сообщить подтверждение выхода),
кроме того программа должна блокировать неправильные действия пользователя при выборе вариантов действий и по возможности сообщать пользователю о его ошибках.
Рассмотрим процесс создания меню по шагам. Рассматривается фрагмент программы в развитии соответствующий.
Собственно текст меню (предложены 4 условных варианта действий и 5 - выход из программы с подтверждением):
Заголовок меню
Первый вариант действий
2. Второй вариант действий
3. Третий вариант действий
4. Четвёртый вариант действий
5. Выход из программы
Ваш выбор:
Затем производится ввод ответа (выбора) пользователя.
Далее необходимо проанализировать введённый ответ и выполнить вариант вычислений в соответствии с выбором пользователя. Для этого применяется оператор множественного выбора SWITCH…CASE
switch (выражение) {
case постоянная1:
{
// Реализация первого варианта действий
. . .
break;
}
case постоянная2:
{
// Реализация второго варианта действий
. . .
break;
}
case постоянная3:
{
// Реализация третьего варианта действий
. . .
break;
}
case постоянная4:
{
// Реализация четвёртого варианта действий }
. . .
break;
}
case постоянная5:
{
// Реализация выхода из программы
// с подтверждением }
. . .
break;
}
default:
{
// Реализация варианта действий
// защиты от неверного выбора
. . .
break;
}
}
Данный вариант показывает работу меню в «линейном виде», а нормальное меню работает до отказа пользователя от работы,
Для обеспечения работы меню «в цикле» можно сделать так - предыдущий фрагмент программы должен быть помещён внутрь цикла с неизвестным числом повторений, желательно вида do-while.
Рекомендуемый вариант пункта «Выход из программы (с подтверждением)»
Пункт 5:
Вопрос пользователю 'Вы действительно хотите’,
’ закончить работу? (Y/N)');
Чтение ответа (exit_ans);
if (exit_ans = 'Y')
F:=false;//флаг управления циклом?
//применённый в цикле do - while
Возможны и другие варианты реализации.
Усложнённое задание
|
РЕКОМЕНДАЦИЯ. Все возможные усовершенствования вида и размещения меню выполняются только после того, как полностью отлажена вся программа!!!
|
ПРИЛОЖЕНИЕ 3
Menu_exp_1a.c
#include <stdio.h>
#include <conio.h>
main ()
{
char ch;
int fl;
fl = 1;
do {
printf("1. Input_array\n");
printf("2. Output_array \n");
printf("3. First_task\n");
printf("4. Second_task \n");
printf("5. End_of_Job \n");
printf(" Your Choice, Please: ");
//ch = getchar(); /* τΓÑ¡¿Ñ ¬½áó¿Φ¿ */
scanf( " %c", &ch);
switch(ch)
{
case '1':
//Input_array ();
printf("\n Input_array\n");
break;
case '2':
//Output_array ();
printf("\n Output_array \n");
break;
case '3':
//First_task ();
printf("\n First_task\n");
break;
case '4':
//Second_task();
printf("\n Second_task \n");
break;
case '5':
//exit (); /* ???? */
printf("\n This Job Is Over!!!! \n");
fl = 0;
break;
default :
printf(" Your Choice Is Wrong %c\n", ch);
// break;
}
}
while(fl == 1);
return 0;
}