WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → База даних - Реферат

База даних - Реферат

Завдання

Скласти на одній з алгоритмічних мов програму, що запускається і видає на екран меню з трьох пунктів (формування файлу, запит, вихід).

На вибір першої опції меню сформувати на одному з дискових пристроїв двійковий файл, що містить дані про викладачів університету PROF.DAT. Структура запису: Ф.И.О. викладача, кафедра, рік народження, стаж роботи, посада, оклад. Організувати заповнення файлу вмістом у режимі діалогу з користувачем (уведення закінчити набором прізвища, що складає з 15 пробілів). Якщо файл із таким ім'ям існує, його коректування не здійснювати.

На вибір другої опції меню надати можливість користувачу одержати наступну інформацію:

  • список викладачів пенсійного віку з указівкою стажу роботи;

На вибір третьої опції чи меню натисканні користувачем на клавішу ESC здійснити вихід із програми зі збереженням введеної інформації.

Зміст

Вступ.........................................................4

Змістовна постановка задачі.....................................5

Алгоритм розв'зку задачі..........................................6

Текст програми.............................................7

Результати...................................................................14

Список використаної літератури..............................15

Вступ.

Для закріплення здобутих теоретичних знань, застосування їх при вирішенні питань виробничого характеру, а також з метою набуття навиків по створенню програмного забезпечення , виконується курсова робота з дисципліни "Програмування та алгоритмічні мови" . В курсовій роботі необхідно розробити програму на мові програмування C++,яка б запускалася і видала на екран меню з трьох пунктів (формування файлу, запит, вихід). В даній курсовій роботі використовується база даних

Змістовна постановка задачі

Задача даної курсової роботи полягає в розробці програми для створення бази даних, куди входить інформація про викладачів інституту . В програмі має бути передбачена можливість введення нових даних в разі відсутності бази даних, тобто створення нової бази даних. Якщо файл з таким іменем існує то його коректування не робити. А також повинна бути передбачена можливість на запит користувача давати інформацію про викладачів пенсійного віку з вказівкою стажу роботи.

База даних повина мати таку структуру запису:

П. І. П. викладача

Кафедра на якій він працює

Рік народження

Стаж роботи

Посада

Оклад

Алгоритм розв'язку.

Програма працює наступним чином. Користувач на запит програми вводить ім'я файлу, програма перевіряє його наявність. Якщо даний файл не існує то програма створює новий файл з таким іменем. Користувач вводить дані в новий файл. Ввід даних виконується при виборі пункту меню "zapovnennya". Якщо при заповненні пункту прізвище викладача ввести одні пробіли, тоді ввід даних припиниться.

Якщо файл з вказаним ім'ям існує то відкривається доступ до пункту меню "zapit" , за допомогою якої можна отримати інформацію про викладачів пенсійного віку із вказівкою стажу роботи.

Якщо файл з вказаним ім'ям існує то доступ до пункту меню "zapovnennya" блокується.

При виборі пункту меню "vihid" відбувається вихід з програми.

Текст програми.

#include

#include

#include

#include

#include

char m1[3][15];

int ff;

char filename[20];

FILE *pf,*pf1;

//---rozmir structuri

int size=5;

//----structura

struct sp

{

char prizv[15];

int oklad;

int stag;

int rik;

char posada[10];

char kaf[10];

} st;

char s1[5];

//---------------------------------------

//-----титулка-------

void titul()

{

int gdriver=DETECT,gmode,errorcode;

initgraph(&gdriver,&gmode,"");

errorcode=graphresult();

if(errorcode!=grOk)

{printf("Graphics error:%sn",grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();exit(1);}

setcolor(1);

rectangle(10,10,630,467);

settextstyle(0,0,3);

setcolor(5);

outtextxy(160,86,"КУРСОВА РОБОТА");

settextstyle(0,0,1);

setcolor(4);

outtextxy(280,126,"на тему:");

settextstyle(0,0,2);

setcolor(2);

outtextxy(220,170,"БАЗА ДАНИХ ");

settextstyle(0,0,1);

setcolor(4);

outtextxy(440,300," Виконав:");

setcolor(3);

outtextxy(440,310," студент 1-го курсу");

outtextxy(440,320," факультет:ПМ i KIС");

outtextxy(440,330," спецiальнiсть:АУТП-2");

outtextxy(440,340," Прокопенко О.В. ");

setcolor(2);

outtextxy(275,450,"РIВНЕ-2002");

getch();

closegraph();

}

//---------------------------------------

//-------функція меню-------------------

float a,b;

int menu(char m[3][15],int k)

{

int w,i,b;

int graphdriver = DETECT,gmode,errorcode;

printf("as:%sn");

initgraph(&graphdriver,&gmode,"c:bcppbgi");

errorcode=graphresult();

if(errorcode!=grOk)

{printf("error");

exit(1);

}

w=1;

setcolor(4);

settextstyle(0,0,2);

outtextxy(200,50,m[0]);

setcolor(15);

for(i=1;i

outtextxy(200,50+i*80,m[i]);

b=0;

for(;b=1;)

{i=getch();

if(i==27)

{ b=1;

return(6);

goto uuu;

}

if(i==13)

{ b=1;

return(w);

}

else

{ i=getch();

if (i==72)

if (w>1)

{ setcolor(15);

outtextxy(200,50+(w-1)*80,m[w-1]);

w--;

setcolor(4);

outtextxy(200,50+(w-1)*80,m[w-1]);

}

if (i==80)

if (w

{ setcolor(15);

outtextxy(200,50+(w-1)*80,m[w-1]);

w++;

setcolor(4);

outtextxy(200,50+(w-1)*80,m[w-1]);

}

}

}

uuu:

closegraph();

}

//--------------------------------------

//----функція створення нової бази даних-

void neww()

{

int kk,i,j,z,q,n;

if(ff==1)

{

if ((pf1=fopen(filename,"w+"))==NULL)

{printf("error");exit(1); };

clrscr();

n=0;

for(;;)

{

//-----zapiti na novi bazi danih

printf("nn введiть оклад викладача ");

scanf("%d",&st.oklad);

printf("n введiть посаду викладача ");

scanf(" %s",&st.posada);

printf("n введiть стаж викладача ");

scanf("%d",&st.stag);

printf("введiть рiк народження ");

scanf("%d",&st.rik);

printf("введiть кафедру ");

scanf(" %s",&st.kaf);

printf("введiть прiзвище викладача");

for(i=0;i<15;i++)

{

st.prizv[i]=getch();

printf("%c",st.prizv[i]);

if(st.prizv[i]==' ')

goto zzz;

};

//----запис у файл

fseek(pf1,2+size*(n),0);

fwrite(&st,size,1,pf1);

n++;

};

zzz:

rewind(pf1);

fwrite(&n,2,1,pf1);

ff=0;

fclose(pf1);

}

}

//-----------------------------------------------------

//---функція пошуку даних

void search()

{

int p,q,j,i,i1,v;

struct sp st1,st2;

printf("n ВИКЛАДАЧI ПЕНСIЙНОГО ВIКУ З ВКАЗIВКОЮ СТАЖУ РОБОТИ");

if ((pf=fopen(filename,"r+"))==NULL)

{printf("error");exit(1);

rewind(pf);

fread(&q,2,1,pf);

fseek(pf,2,0); }

if(st.rik<1930)

{ printf("n%d",st.stag);

printf("n%s",st.prizv);

}

getch();

fclose(pf);

}

//-----------------------------------------------------------

//------oсновна функція

void main()

{

int r,q;

titul();

ttt:

printf("n введiть назву бази даних ");

scanf(" %s",&filename);

ff=0;

if ((pf=fopen(filename,"r+"))==NULL)

ff=1;

printf("добре");

getch();

fclose(pf);

m1[0][0]='z';

m1[0][1]='a';

m1[0][2]='p';

m1[0][3]='o';

m1[0][4]='v';

m1[0][5]='n';

m1[0][6]='e';

m1[0][7]='n';

m1[0][8]='n';

m1[0][9]='y';

m1[0][10]='a';

m1[1][0]='z';

m1[1][1]='a';

m1[1][2]='p';

m1[1][3]='i';

m1[1][4]='t';

m1[2][0]='v';

m1[2][1]='i';

m1[2][2]='h';

m1[2][3]='i';

m1[2][4]='d';

uuu:

//------організація меню

r=menu(m1,3);

closegraph();

clrscr();

switch(r)

{

case 1:

if(ff==1)

neww();

goto uuu;

case 2:

if(ff==0) search();

goto uuu;

case 3:

break;

}

fclose(pf1);

lll:

}

Результати.

При введені даних

введiть оклад викладача 450

введiть посаду викладача доцент

введiть стаж викладача 34

введiть рiк народження 1945

введiть кафедру живопису

введiть прiзвище викладача Рєпін

введiть оклад викладача 250

введiть посаду викладача асістент

введiть стаж викладача 10

введiть рiк народження 1975

введiть кафедру гідрознавства

введiть прiзвище викладача Перекотиполе

введiть оклад викладача 600

введiть посаду викладача професор

введiть стаж викладача 55

введiть рiк народження 1924

введiть кафедру історикознавства

введiть прiзвище викладача Нєізвєстний

ВИКЛАДАЧI ПЕНСIЙНОГО ВIКУ З ВКАЗIВКОЮ СТАЖУ РОБОТИ

55

Нєізвєстний

Список використаної літератури

  • Крис Паппас, Уильям Мюррей Программирование на С и С++. Киев 2000

  • Методичні вказівки з курсу " Програмування та алгоритмічні мови "

    Ця курсова робота люб'язно надана Олександром Подранецьким

    Міністерство освіти і науки України

    Український Державний Університет Водного Господарства і Природокористування

    Кафедра електротехніки і автоматики

    Курсова робота

    з дисципліни:"Програмування і алгоритмічні мови"

    на тему: "БАЗА ДАНИХ"

    Варіант №49

    Виконав:

    студент 1-го курсу

    ФПМ і КІС

    АУТПіВ-2

    Прокопенко Олексій

    Володимирович

    Перевірив:

    Пастушенко

    Володимир Йосипович

    Рівне 2002

  • Loading...

     
     

    Цікаве