Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая программирование.doc
Скачиваний:
15
Добавлен:
19.03.2016
Размер:
931.33 Кб
Скачать

Файл «submenu.C»

#include "my.h"

void smenu() { // Показ подменю

line = 6; // Количество строк в подменю

system("cls");

pos = 1;

updatesm(pos); // Обновление подменю

do {

key = getch();

switch(key) {

case 75: { // Нажата стрелка влево

pos--;

if(pos == 0)

pos = line;

updatesm(pos);

break;

}

case 77: { // Нажата стрелка вправо

pos++;

if(pos == (line + 1))

pos = 1;

updatesm(pos);

break;

}

case 13: { // Нажат ввод

key = 0;

break;

}

}

} while(key != 0);

makesm(pos); // Выполнение выбранной опции в подменю

}

void updatesm(unsigned char pos) { // Обновление подменю

char itemMenu[80]; // Главное меню

char itemAdd[80]; // Добавить запись

char itemRemove[80]; // Удалить запись

char itemEdit[80]; // Редактировать запись

char itemFind[80]; // Поиск записи

char itemSort[80]; // Сортировка записей

strcpy(itemMenu, "");

strcpy(itemAdd, "");

strcpy(itemRemove, "");

strcpy(itemEdit, "");

strcpy(itemFind, "");

strcpy(itemSort, "");

switch(pos) { // Выбор позиции в подменю

case 1: { // Перейти в главное меню

strcpy(itemMenu, "+=============+-------------------------------------------------------+");

break;

}

case 2: { // Добавить новую запись

strcpy(itemAdd, "+-------------+==========+--------------------------------------------+");

break;

}

case 3: { // Удалить запись

strcpy(itemRemove, "+------------------------+==========+---------------------------------+");

break;

}

case 4: { // Редактировать запись

strcpy(itemEdit, "+-----------------------------------+==========+----------------------+");

break;

}

case 5: { // Найти запись

strcpy(itemFind, "+----------------------------------------------+==========+-----------+");

break;

}

case 6: { // Сортировать записи

strcpy(itemSort, "+---------------------------------------------------------+===========+");

break;

}

}

system("cls");

printf("\n %s%s%s%s%s%s\n", itemMenu, itemAdd, itemRemove, itemEdit, itemFind, itemSort);

printf(" | Main Menu | Add | Remove | Edit | Find | Sort |\n");

printf(" %s%s%s%s%s%s\n", itemMenu, itemAdd, itemRemove, itemEdit, itemFind, itemSort);

viewdata(); // Вывод всех записей

}

void makesm(unsigned char pos) { // Выполнение выбранной опции в подменю

switch(pos) {

case 1: { // Вернутся в главное меню

mmenu();

break;

}

case 2: { // Добавить новую запись

inputdata();

break;

}

case 3: { // Удалить запись

removerecord();

break;

}

case 4: { // Редактировать запись

editrecord();

break;

}

case 5: { // Искать запись

findrecord();

break;

}

case 6: { // Сортировать записи

sortdata();

break;

}

}

}

Файл «dialog.C»

#include "my.h"

unsigned char dialog(char message[30], char button1[20], char button2[20]) { // Окно диалога

pos = 1;

updatedialog(message, button1, button2, pos); // Обновление окна

do {

key = getch();

switch(key) {

case 75: { // Нажата стрелка влево

pos--;

if(pos == 0)

pos = 2;

updatedialog(message, button1, button2, pos);

break;

}

case 77: { // Нажата стрелка вправо

pos++;

if(pos == 3)

pos = 1;

updatedialog(message, button1, button2, pos);

break;

}

case 13: { // Нажат ввод

key = 0;

break;

}

}

} while(key != 0);

return pos;

}

void updatedialog(char message[30], char button1[20], char button2[20], unsigned char pos) { // Обновление окна диалога

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\n\n\n%21c", 201);

for(i = 1; i <= 37; i++)

printf("%c", 205);

printf("%c", 187);

printf("\n%21c%38c", 186, 186);

printf("\n%21c%38c", 186, 186);

printf("\n%21c%33s%5c", 186, message, 186); // Сообщение

printf("\n%21c%38c", 186, 186);

printf("\n%21c%38c", 186, 186);

switch(pos) {

case 1: // Кнопка 1

{

printf("\n%21c%4c", 186, 201);

for(i = 1; i <= 12; i++)

printf("%c", 205);

printf("%c%21c\n%21c%4c%11s%2c%15s%6c\n%21c%4c",

187, 186, 186, 186, button1, 186, button2, 186, 186, 200);

for(i = 1; i <= 12; i++) {

printf("%c", 205);

}

printf("%c%21c", 188, 186);

break;

}

case 2: // Кнопка 2

{

printf("\n%21c%21c", 186, 201);

for(i = 1; i <= 12; i++)

printf("%c", 205);

printf("%c%4c\n%21c%15s%6c%11s%2c%4c\n%21c%21c",

187, 186, 186, button1, 186, button2, 186, 186, 186, 200);

for(i = 1; i <= 12; i++)

printf("%c", 205);

printf("%c%4c", 188, 186);

break;

}

}

printf("\n%21c%38c\n%21c", 186, 186, 200);

for(i = 1; i <= 37; i++)

printf("%c", 205);

printf("%c\n", 188);

}