- •Курсова робота
- •Реферат
- •Порядок виконання завдання №1
- •Побудувати графічний об’єкт («Пароплав») і організувати його переміщення по екрану монітора за допомогою клавіш управління курсором.
- •Заплановане зображення до написання програми
- •Результат виконання програми
- •Висновки
- •Порядок виконання завдання №2
- •Додаток а
- •Додаток в
Додаток а
Лістинг програми
#include<graphics.h>
#include<dos.h>
#include<stdio.h>
#include<conio.h>
#include<alloc.h>
void parys(int mx, int my);
int main(void)
{
int gd=DETECT,gm;
int mx,my;
void*otr;
unsigned int size;
initgraph(&gd,&gm,"C:\\TC\\BGI");
mx=getmaxx()/2;
my=getmaxy()/2;
setbkcolor(11);
parys(mx,my);
size=imagesize(mx-mx/2-40,my-my/2-30,mx+mx/2,my+my/2);
otr=malloc(size);
getimage(mx-mx/2-40,my-my/2-30,mx+mx/2,my+my/2,otr);
int key;
int nx=mx;
int ny=my;
do
{
key=getch();
switch(key) { //peremishchenya
case 80:ny+=10; break;
case 72:ny-=10; break;
case 77:nx+=10; break;
case 75:nx-=10; break;
}
putimage(mx-mx/2-40,my-my/2-30,otr,2);
cleardevice();
mx=nx;
my=ny;
putimage(mx-mx/2-40,my-my/2-30,otr,2);
}
while(key!=27);
free(otr);
closegraph();
return 0;
}
void parys (int mx,int my) // pobydova zobrazenia
{
setcolor(1);
setfillstyle(1,8);
line(2*3*mx/10,2*7*my/10,2*7*mx/10,2*7*my/10);
line(2*7*mx/10,2*7*my/10,2*7*mx/10,2*6*my/10);
line(2*3*mx/10,2*7*my/10,2*2*mx/10,2*5.5*my/10);
line(2*2*mx/10,2*5.5*my/10,2*3.5*mx/10,2*5.5*my/10);
line(2*3.5*mx/10,2*5.5*my/10,2*3.8*mx/10,2*6*my/10);
line(2*3.8*mx/10,2*6*my/10,2*7*mx/10,2*6*my/10);
floodfill(2*3*mx/10,2*7*my/10-5,1);
setfillstyle(1,7);
line(2*3.2*mx/10,2*5.5*my/10,2*3.2*mx/10,2*5*my/10);
line(2*3.2*mx/10,2*5*my/10,2*5.5*mx/10,2*5*my/10);
line(2*5.5*mx/10,2*5*my/10,2*5.5*mx/10,2*5.5*my/10);
line(2*5.5*mx/10,2*5.5*my/10,2*5.8*mx/10,2*6*my/10);
floodfill(2*3.2*mx/10+5,2*5*my/10+5,1);
line(2*3.7*mx/10,2*5*my/10, 2*3.7*mx/10,2*4.7*my/10);
line(2*3.7*mx/10,2*4.7*my/10,2*4.7*mx/10,2*4.7*my/10);
line(2*4*mx/10,2*4.7*my/10,2*4*mx/10,2*2.6*my/10);
line(2*4*mx/10,2*2.6*my/10,2*4*mx/10,2*2.2*my/10);
line(2*4*mx/10,2*2.2*my/10,2*4.3*mx/10,2*2.4*my/10);
line(2*4*mx/10,2*2.5*my/10,2*4.3*mx/10,2*2.4*my/10);
line(2*4*mx/10,2*2.6*my/10,2*7*mx/10,2*6*my/10);
line(2*4.7*mx/10,2*5*my/10,2*4.7*mx/10,2*4*my/10);
line(2*4.7*mx/10,2*4*my/10,2*5*mx/10,2*4*my/10);
line(2*5*mx/10,2*4*my/10,2*5*mx/10,2*5*my/10);
line(2*4*mx/10,2*2.6*my/10,2*2*mx/10,2*5.5*my/10);
line(2*3.8*mx/10,2*5.5*my/10,2*5.1*mx/10,2*5.5*my/10);
line(2*4.7*mx/10,2*4.2*my/10,2*4.97*mx/10,2*4.2*my/10);
setfillstyle(1,13); //koloru
floodfill(2*3.7*mx/10+3,2*4.7*my/10+3,1);
setfillstyle(1,14);
floodfill(2*4.7*mx/10+2,2*4*my/10+2,1);
setfillstyle(1,14);
fillellipse(2*3*mx/10,2*6.2*my/10,7,7);
fillellipse(2*3.5*mx/10,2*6.2*my/10,7,7);
setfillstyle(1,4);
floodfill(2*4*mx/10+2,2*2.3*my/10,1);
}
Додаток в
Лістинг програми
#include<stdio.h>
#include<string.h>
#include<conio.h>
void vuvid(int i) //pidprograma
{
int n,j;
struct tzahalne
{
char name[15];
char vud[15];
char rid[15];
char roduna[15];
char clas[15];
} zahalne[15];
struct tanimal
{
struct tzahalne zahalne[15];
char misce[40];
int chuslennist;
} animal[15];
FILE *fp2;
fp2=fopen("C:\\text4.txt","r");
n=15;
j=i;
for(j=0;j<n;j++)
{
fscanf(fp2,"%s %s %s %s %s %s %i",&animal[j].zahalne[j].name,&animal[j].zahalne[j].vud,&animal[j].zahalne[j].rid,&animal[j].zahalne[j].roduna,&animal[j].zahalne[j].clas,&animal[j].misce,&animal[j].chuslennist); //schutyvannia
}
printf("\n");
printf("Name:");
printf("%s",animal[i].zahalne[i].name);
printf("\n");
printf("Vud:");
printf("%s",animal[i].zahalne[i].vud);
printf("\n");
printf("Rid:");
printf("%s",animal[i].zahalne[i].rid);
printf("\n");
printf("Roduna:");
printf("%s",animal[i].zahalne[i].roduna);
printf("\n");
printf("Class:");
printf("%s",animal[i].zahalne[i].clas);
printf("\n");
printf("Misce proguvannya:");
printf("%s",animal[i].misce);
printf("\n");
printf("Chuselnist:");
printf("%i",animal[i].chuslennist);
printf(" par osib");
printf("\n");
}
void main()
{
struct tzahalne
{
char name[15];
char vud[15];
char rid[15];
char roduna[15];
char clas[15];
} zahalne[15];
struct tanimal
{
struct tzahalne zahalne[15];
char misce[40];
int chuslennist;
} animal[15];
int n,i;
int a;
char st[20];
char sy[20];
char se[20];
char so[20];
int sp;
clrscr();
FILE *fp1,*fp2;
fp1=fopen("C:\\text3.txt","r");
fp2=fopen("C:\\text4.txt","r");
n=15;
printf("The list of animals:");
printf("\n");
for(i=0;i<n;i++)
fscanf(fp1,"%s",&animal[i].zahalne[i].name);
for(i=0;i<73;i++)
printf("-");
printf("\n");
for(i=0;i<n;i++)
{
printf("%s\t|\t", animal[i].zahalne[i].name);
}
for(i=0;i<73;i++)
printf("-");
printf("\n");
do
{
printf("\n");
printf("Oberit' sposib poshuku:\n 1. Za im'yam \n 2. Za vudom \n 3. Za rodom \n 4. Za cllasom \n 5. Za chuselnisty \n 6. Vuhid \n ");
scanf("%i", &a);
switch(a) //menu
{
case 1:
printf("Enter the name of the animal:");
scanf("%s",&st);
for(i=0;i<n;i++)
{
fscanf(fp2,"%s %s %s %s %s %s %i",&animal[i].zahalne[i].name,&animal[i].zahalne[i].vud,&animal[i].zahalne[i].rid,&animal[i].zahalne[i].roduna,&animal[i].zahalne[i].clas,&animal[i].misce,&animal[i].chuslennist);
}
for(i=0;i<n;i++)
{
if(strcmp(st,animal[i].zahalne[i].name)==0)
{
vuvid(i);
}
}
break;
case 2:
printf("Enter vud of the animal:");
scanf("%s",&sy);
for(i=0;i<n;i++)
{
fscanf(fp2,"%s %s %s %s %s %s %i",&animal[i].zahalne[i].name,&animal[i].zahalne[i].vud,&animal[i].zahalne[i].rid,&animal[i].zahalne[i].roduna,&animal[i].zahalne[i].clas,&animal[i].misce,&animal[i].chuslennist);
}
for(i=0;i<n;i++)
{
if(strcmp(sy,animal[i].zahalne[i].vud)==0)
{
vuvid(i);
}
}
break;
case 3:
printf("Enter rid of the animal:");
scanf("%s",&se);
for(i=0;i<n;i++)
{
fscanf(fp2,"%s %s %s %s %s %s %i",&animal[i].zahalne[i].name,&animal[i].zahalne[i].vud,&animal[i].zahalne[i].rid,&animal[i].zahalne[i].roduna,&animal[i].zahalne[i].clas,&animal[i].misce,&animal[i].chuslennist);
}
for(i=0;i<n;i++)
{
if(strcmp(se,animal[i].zahalne[i].rid)==0)
{
vuvid(i);
}
}
break;
case 4:
printf("Enter class of the animal:");
scanf("%s",&so);
for(i=0;i<n;i++)
{
fscanf(fp2,"%s %s %s %s %s %s %i",&animal[i].zahalne[i].name,&animal[i].zahalne[i].vud,&animal[i].zahalne[i].rid,&animal[i].zahalne[i].roduna,&animal[i].zahalne[i].clas,&animal[i].misce,&animal[i].chuslennist);
}
for(i=0;i<n;i++)
{
if(strcmp(so,animal[i].zahalne[i].clas)==0)
{
vuvid(i);
}
}
break;
case 5:
printf("Enter chuselnist of the animal:");
scanf("%i",&sp);
for(i=0;i<n;i++)
{
fscanf(fp2,"%s %s %s %s %s %s %i",&animal[i].zahalne[i].name,&animal[i].zahalne[i].vud,&animal[i].zahalne[i].rid,&animal[i].zahalne[i].roduna,&animal[i].zahalne[i].clas,&animal[i].misce,&animal[i].chuslennist);
}
for(i=0;i<n;i++)
{
if(sp==animal[i].chuslennist)
{
vuvid(i);
}
}
break;
default:
printf("Ne isnye");
}
}
while(a!=6);
getch();
}
