У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Дипломна робота - Розробка програми на мові С
20



//вивід рамки

gotoxy(35,24); //перехід на вказане місце екрану

printf("L=========-\n"); //вивід рамки

gotoxy(30,27); //перехід на вказане місце екрану

printf("г========================¬");//вивід рамки

gotoxy(30,28); //перехід на вказане місце екрану

printf("¦ What do you want to do?¦"); //вивід рамки

gotoxy(30,29); //перехід на вказане місце екрану

printf("L========================-\n"); //вивід рамки

gotoxy(56,27); //перехід на вказане місце екрану

printf("г=¬");//вивід рамки

gotoxy(56,28); //перехід на вказане місце екрану

printf("¦ ¦"); //вивід рамки

gotoxy(56,29); //перехід на вказане місце екрану

printf("L=-");//вивід рамки

gotoxy(57,28); //перехід на вказане місце екрану

q=getche(); //ввід пункту

delay(15); //затримка виконання програми

if (q=='1') new_zapus(); //якщо вибраний 1 пункт, то викликається функція вводу нових даних

else if (q=='2') new_marks(); //якщо 2 – функція вводу поточних оцінок

else if (q=='3') vuvid(); //якщо 3 – функція виводу даних

else exit(0); //інакше вихід з програми

return q;

}

/*-----------------------------Функція збереження даних у файл------------------------------------------*/

void save()

{

FILE *iop;

register int i;

if ((iop=fopen("Yarik2.dat","wb"))==NULL)

{

puts("ERROR");

exit(0);

}

for (i=0;i<n;i++) {

if(fwrite(&kvn[i],sizeof(struct command),1,iop)!=1) puts("error writing");

}

fclose(iop);

}

void load()

{

FILE *iop;

register int i;

if ((iop=fopen("Yarik2.dat","r"))==NULL)

{

puts("ERROR");

exit(0);

}

for (i=0;i<n;i++) {

if (fread(&kvn[i],sizeof( struct command),1,iop)!=1)

{

if (feof(iop)) break;

puts("error reading");

}

}

fclose(iop);

}

/*---------------------------Нові дані-------------------------------------------*/

void new_zapus()

{

int s;

char q;

char temp[25];

for (int i=0;i<n;i++) //цикл від 0 до n

{

clrscr(); //очищуємо екран

s=0; //обнуляємо суму

printf("\t\t\t\tг===========¬\n");

printf("\t\t\t\t¦%2d command:¦\n",i+1);

printf("\t\t\t\tL===========-\n"); //вивід рамки

printf("Name: ");

scanf("%s",&kvn[i].name); //ввід назви команди

printf("Marks:\n");

for (int j=0;j<=7;j++)

{

do {

printf("г===========¬\n");

printf("¦%2d juery: ¦\n",j+1);

printf("L===========-................");

scanf("%d",&kvn[i].oc[j]); //ввід 8 оцінок

s+=kvn[i].oc[j]; //обчислення суми оцінок

}while(kvn[i].oc[j]<2||kvn[i].oc[j]>5);

}

kvn[i].now=s/8.; //обчислення середнього арифметичного

kvn[i].results=kvn[i].now;

}

sort(); //виклик функції сортування

save(); //виклик функції збереження даних

menu(); //виклик функції меню

}

/*-----------------------------Поточні оцінки----------------------------------------*/

void new_marks()

{

int s;

load();

for (int i=0;i<n;i++)

{

s=0;

clrscr();

printf("г========================¬\n");

printf("¦%24s¦\n",kvn[i].name);

printf("L========================-\n");

for (int j=0;j<=7;j++)

{

printf("г===========¬\n");

printf("¦%2d juery: ¦\n",j+1);

printf("L===========-................");

do {

scanf("%d",&kvn[i].oc[j]);

s+=kvn[i].oc[j];

}while(kvn[i].oc[j]<2||kvn[i].oc[j]>5);

}

kvn[i].now=s/8;

kvn[i].results+=kvn[i].now;

}

sort();

save();

menu();

}

/*----------------------------Вивід даних----------------------------------------*/

void vuvid()

{

char q;

clrscr();

load();

sort();

/*вивід рамки*/

printf("г=T========================T=T=T=T=T=T=T=T=T===

===¬\n");

printf("¦#¦ NAME ¦1¦2¦3¦4¦5¦6¦7¦8¦RESULT¦\n");

printf("L=¦========================¦=¦=¦=¦=¦=¦=¦=¦=¦======-\n");

for (int i=0;i<n;i++)

{

printf("г=T========================T=T=T=T=T=T=T=T=T======¬\n");

printf("¦%1d¦%24s¦%1d¦%1d¦%1d¦%1d¦%1d¦%1d¦%1d¦%1d¦%6.2f¦\n",

i+1,kvn[i].name,kvn[i].oc[0],kvn[i].oc[1],kvn[i].oc[2],kvn[i].oc[3],

kvn[i].oc[4],kvn[i].oc[5],kvn[i].oc[6],kvn[i].oc[7],kvn[i].results);

printf("L=¦========================¦=¦=¦=¦=¦=¦=¦=¦=¦======-\n"); //вивід результатів у рамці

}

gotoxy(25,25);

printf("PRESS ANY KEY :-)");

q=getch();

menu();

}

/*----------------------Сортування методом “Бульбашок”---------------------------------------------*/

void sort()

{

float max;

int k;

command temp;

for (int i=0;i<n;i++)

{

max=kvn[i].results;

k=i;

for (int j=i;j<n;j++)

if (kvn[j].results>max)

{

max=kvn[j].results;

k=j;

}

temp=kvn[i];

kvn[i]=kvn[k];

kvn[k]=temp;

}

}

Контрольний приклад виконання та результати його виконання на ПК

Yarik2

Номер команди | Назва команди | Оцінки суддів | Середній бал

1 | Сусідній двір | 5 | 4 | 5 | 4 | 5 | 4 | 5 | 4 | 5.50

2 | Дівочий табір | 3 | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 3.75

3 | Веселуни | 5 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 4.87

4 | Шоколад | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5.00

ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ

Глушаков С.В., Коваль А.В., Смирнов С.В. Язык программирования С++. – Х.: Фолио,2002.

Прата С. Язык программирования С++. – М .- СПб.- К. : Diasoft, 2003.

Кораблев В. С и С++. – К.: BHV, 2002.

Спірідонов В.І., Войтков В.Г., Обчислювальна техніка і програмування. – Хмельницький: ХТІб 1992.

Єжова Л.Ф. Алгоритмізація і програмування процедур обробки інформації. – К.: КНАУ, 2000.


Сторінки: 1 2 3