Курсовая работа по «Объектно-ориентированному программированию»

Автор работы: Пользователь скрыл имя, 29 Марта 2013 в 07:53, курсовая работа

Краткое описание

Данная курсовая работа посвящена реализации базы данных на языке Си. Программа содержит необходимые средства для создания, редактирования, обработки и хранения записей о государствах. В ходе реализации программы организован удобный пользовательский интерфейс.
В качестве средства описания государств, в работе используется файл записей. Записи имеют несколько полей, в которых содержится информация по определенному государству. Благодаря использованию переменных типа записи мы получаем доступ сразу ко всей информации, а также можем изменять ее соответствующим образом.

Содержание

1. Задание
2. Уточнение задания
3. Описание разрабатываемой программы с точки зрения пользователя.
4. Описание разрабатываемой программы с точки зрения программиста. Данный раздел включает следующие подразделы:
4.1. Объектное представление программы.
4.2. События.
4.3. Потоки.
5. Поэтапная разработка программной системы.
5.1. Этап 1. Разработка класса обычного объекта
5.2. Этап 2. Разработка класса Balls
5.3. Этап 3. Разработка события ev
5.4. Этап 4. Разработка прикладного окна
5.5. Этап 5. Разработка дочернего окна
5.6. Этап 6. Добавление элемента списка
5.7. Этап 7. Разработка специального объекта
6. Описание проблем, возникших при разработке программной сис-темы.
7. Список используемой литературы.

Прикрепленные файлы: 1 файл

Копия Курсовая по программированию.doc

— 385.50 Кб (Скачать документ)

 


 





   



 

 

(рис.2)


Функция vyborstolizy (рис.3)

 

 







 

     

       


 



 



 


 


                                                                                                                                                


 

 


(рис.3)


Функция yazik (рис.4)

 

 







     



 



 



 



 

                                                                    

 (Рис.4)


Функция naselenie (рис.5)

 

 










 



 

 



   


 



(Рис.5)

Функция ploshad (рис.6)

 

 


 









 



 

 


 


 



(Рис.6)

Функция denejnayaedeniza (рис.7)

 









 



 

 


 


 




(рис.7)


Функция coursv (рис.8)












 

 



 



(Рис.8 )


Функция  coursvd (рис.9)

















(рис.9)


Функция  stroi (рис.10)















(рис.10)


Тестирование программы

Главное меню программы (рис.11)

Рис.11

Каждая буква  имеет свое значение.(рис.12)

1)При нажатии V будет выводиться следующее.

Рис.12

 Здесь данные  всех стран: название страны; столица; государственный язык; население; площадь территории; денежная единица; курс валюты относительно рубля; курс валюты относительно доллара; государственный строй.

2)Нам нужно найти одну определенную страну. Для этого нужно найти строку поиск по стране. Нужно нажать на букву в клавиатуре “S” и набрать страну Greziya далее нажать‘enter’(рис.13)

Рис.13

Будет выведено следующее. (Рис.14)

Рис.14

Нашлась страна с таким названием, и вместе с  этим вывелась и другая информация, а именно: столица; государственный язык; население; площадь территории; денежная единица; курс валюты относительно рубля; курс валюты относительно доллара; государственный строй.

3)Для того, чтобы добавить еще одну страну нужно нажать на  букву на клавиатуре  “d (рис.15)

Рис.15

Нужно ввести требуемую  информацию и нажать‘enter’. После этого, введенная страна будет в нашей базе данных.

Здесь мы будем  искать новую добавленную страну.  Можно попытаться это сделать  по столице. Для этого нужно нажать на клавишу “T” и далее нажать ‘enter’.( рис.16)

Рис.16

 

 

 

 

 

 

 

 

 

 

 

Листинг Программы.

#include<stdio.h>

#include<conio.h>

struct states

{char  name[20];/*nazvanie strani */

char capital[20];/*stoliza */

char language[15];/*gosudarstvennii yazik */

int population;/* naselenie*/

int area;/*ploshad territorii */

char moneyunit[10];/* denejnaya edeniza*/

char coursevaluta[10];/* kyrs valuti otnositelno rublya*/

char coursevalutar[10];/* kyrs valuti otnositelno dollara*/

char politica[25];/*  gosudarstvennii stroi*/

};

struct state

{

char  name[20];/*nazvanie strani */

char capital[20];/*stoliza */

char language[15];/*gosudarstvennii yazik */

int population[100];/* naselenie*/

int area[200];/*ploshad territorii */

char moneyunit[10];/* denejnaya edeniza*/

char coursevaluta[10];/* kyrs valuti otnositelno rublya*/

char coursevalutar[10];/* kyrs valuti otnositelno dollara*/

char politica[25];/*  gosudarstvennii stroi*/

};

void vyborstrani (FILE *f)

{char k1[20]; /*nazvanie strani */

int i=1,j,v;

struct state x;

printf("\nVVidite strany:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x.name)==0 )

{

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani s takim Nazvaniem net\n");}

getch();

clrscr();  }

void vyborstolizy (FILE *f)

{char k2[20]; /*stoliza */

int i=1,j,v;

struct state x;

printf("\nVVedite stolizy:");

scanf ("%s",&k2);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x. capital, &x. language, &x. population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k2,x.capital)==0)

{

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani s takoi Stolizei net\n");}

getch();

clrscr();  }

void yazik(FILE *f)

{char k2[15]; /* gosudarstvennii yazik */

int i=1,j,v;

struct state x;

printf("\nVvedite gosudarstvennii yazik:");

scanf ("%s",&k2);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x. capital, &x. language, &x. population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k2,x.language)==0)

{printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani s takim gosudarstvennii yazikom net\n");}

getch();

clrscr();  }

 

void  naselenie(FILE *f)

{

char k1[100]; /* naselenie */

int i=1,j,v;

struct state x;

printf("\nVvedite naselenie:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x.capital, &x.language, &x.population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x.population)==0)

{

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0){

printf ("\n Strani s Takim naseleniem net\n");}

getch();

clrscr();  }

 

void ploshad(FILE *f)

{char k1[200]; /* ploshad strani*/

int i=1,j,v;

struct state x;

printf("\nVvedite ploshad strani:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x.capital, &x.language, &x.population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x.area)==0 )

{

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani S Takoi ploshadju net\n");}

getch();

clrscr();  }

 

void  denejnayaedeniza(FILE *f)

{char k1[10]; /* denejnaya edeniza */

int i=1,j,v;

struct state x;

printf("\nVvedite denejnyu edenizy:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x.capital, &x.language, &x.population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x. moneyunit)==0 )

{ printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani S Takoi denejnoi edenizei net \n");}

getch();

clrscr();  }

 

void coursv (FILE *f)

{char k1[10]; /* kyrs valuti otnositelno rublya*/

int i=1,j,v;

struct state x;

printf("\nVvedite kyrs valuti otnositelno rublya:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x.capital, &x.language, &x.population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x.coursevaluta)==0 )

{ printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani S Takim kyrsom valuti otnositelno rublya net\n");}

getch();

clrscr();  }

void coursvd (FILE *f)

{char k1[10]; /* kyrs valuti otnositelno dollara*/

int i=1,j,v;

struct state x;

printf("\nVvedite kyrs valuti otnositelno dollara:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x.capital, &x.language, &x.population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x. coursevalutar)==0 )

{

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani S Takim kyrsom valuti otnositelno dollara net\n");}

getch();

clrscr();  }

void stroi (FILE *f)

{char k1[25]; /* gosydarstvenni stroi strani*/

int i=1,j,v;

struct state x;

printf("\nVvidite gosydarstvenni stroi strani:");

scanf ("%s",&k1);

rewind (f);

puts

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

while(fgets(&x,sizeof(struct state),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&x.name, &x.capital, &x.language, &x.population, &x.area, &x.moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

if (strcmp(k1,x.politica)==0 )

{

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i,&x.name, &x. capital, &x. language, &x.population, &x.area, &x. moneyunit, &x.coursevaluta, &x.coursevalutar, &x.politica);

v=0;i++;}}

if (v!=0  ){

printf ("\nStrani S Takim gosydarstvennim stroem net\n");}

getch();

clrscr();  }

 

void izmenenie(FILE *f)

{char n;

int i=0,j,y;

struct states x;

struct state m[40];

("\nStrana\t\tStoliza\t\tGosudarstvYazik\t\tNaselenie\tPloshadTterritorii\tDenejnayaEdeniza\tKyrsValutiOtnositelnoRublya\tKyrsValutiOtnositelnoDollara\tGosudarstvenniiStroi\t");

rewind (f);

while(fgets(&m[i],sizeof(struct states),f)!=NULL)

{ fscanf (f,"%s%s%s%s%s%s%s%s%s",&m[i].name, &m[i].capital  , &m[i].language, &m[i].population, &m[i].area, &m[i].moneyunit, &m[i].coursevaluta, &m[i].coursevalutar, &m[i].politica);

printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i+1, &m[i].name, &m[i]. capital , &m[i].language, &m[i].population, &m[i].area, &m[i].moneyunit, &m[i].coursevaluta, &m[i].coursevalutar, &m[i].politica);

i++;

}

y=i;

puts("Vyberite stroku kotoruy neobxodimo izmenit:");

scanf("%d",&j);

i=j-1;

 

puts("________________________________________________________________________________");

printf ("MENU->IZMENIT\ns-Strany\nt-Stolizy\ng- Gosudarstvennii yazik \nn- Naselenie \np- ploshad territorii \nj- denejnaya edeniza \nk- kyrs valuti otnositelno rublya \ny- kyrs valuti otnositelno dollara \no- gosudarstvennii stroi \n");

puts("________________________________________________________________________________");

n=getche();

if (n!='z'){

if (n=='s'){

printf("Vvedite_Strany:");

scanf("%s",m[i].name);

}

if (n=='t'){

printf("Vvedite _ Stolizy:");

scanf("%s",m[i].capital );

}

if (n=='g'){printf("Vvedite _ Gosudarstvennii yazik:");

scanf("%s",m[i].language);

}

if (n=='n'){printf("Vvedite _ Naselenie:");

scanf("%s",m[i].population);

}

if (n=='p'){printf("Vvedite _ ploshad territorii:");

scanf("%s",m[i].area);

}

if (n=='j') {printf("Vvedite_ denejnaya edeniza:");

scanf("%s",m[i].moneyunit);

}

if (n=='k') {printf("Vvedite_ kyrs valuti otnositelno rublya:");

scanf("%s",m[i].coursevaluta);

}

if (n=='y'){printf("Vvedite_- kyrs valuti otnositelno dollara:");

scanf("%s",m[i]. coursevalutar);

}

if (n=='o'){printf("Vvedite_ gosudarstvennii stroi:");

scanf("%s",m[i].politica);}

}

 

clrscr();

rewind(f);

fprintf(f,"\n");

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

/*if (i<y-1)*/

if(i!=y)

{

/*printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i+1, &m[i].name, &m[i]. capital , &m[i].language, &m[i].population, &m[i].area, &m[i].moneyunit, &m[i].coursevaluta, &m[i].coursevalutar, &m[i].politica);*/

fprintf(f,"%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n", &m[i].name, &m[i].capital , &m[i].language, &m[i].population, &m[i].area, &m[i].moneyunit, &m[i].coursevaluta, &m[i].coursevalutar, &m[i].politica);}

else

{

/*printf("%d.%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n",i+1, &m[i].name, &m[i]. capital , &m[i].language, &m[i].population, &m[i].area, &m[i].moneyunit, &m[i].coursevaluta, &m[i].coursevalutar, &m[i].politica);*/

fprintf(f,"%s\t%s\t\t%s\t\t%s\t%s\t\t\t%s\t\t\t\t%s\t\t\t\t\t%s\t\t\t%s\t \n", &m[i].name, &m[i].capital , &m[i].language, &m[i].population, &m[i].area, &m[i].moneyunit, &m[i].coursevaluta, &m[i].coursevalutar, &m[i].politica);}

clrscr();

fclose(f);

return;}

 

void removed(FILE *f)

Информация о работе Курсовая работа по «Объектно-ориентированному программированию»