Содержание
Введение… 2
Заданиекурсовой работы… 4
Блок-схема… 5
Листингпрограммы KURS.EXE… 6
Результатвыполнения программы… 8
Листинги print screen заставки VOVA777.EXE… 9
Руководствопользователя… 17
Списокиспользуемой литературы… 18
Введение
C++ — универсальный язык программирования, задуманныйтак, чтобы сделать программирование более приятным для серьезного программиста.За исключением второстепенных деталей C++ является надмножеством языка программированияC. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средстваопределения новых типов. Используя определения новых типов, точно отвечающих концепциямприложения, программист может разделять разрабатываемую программу на легко поддающиесяконтролю части. Такой метод построения программ часто называют абстракциейданных. Информация о типах содержится в некоторых объектах типов, определенных пользователем.Такие объекты просты и надежны в использовании в тех ситуациях, когда их типнельзя установить на стадии компиляции. Программирование с применением таких объектовчасто называют объектно-ориентированным. При правильном использовании этот методдает более короткие, проще понимаемые и легче контролируемые программы.
Ключевым понятием C++ является класс. Класс — это тип, определяемыйпользователем. Классы обеспечивают скрытие данных, гарантированнуюинициализацию данных, неявное преобразование типов для типов, определенныхпользователем, динамическое задание типа, контролируемое пользователем управлениепамятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чемв C, средства выражения модульности программы и проверки типов. В языке есть такжеусовершенствования, не связанные непосредственно с классами, включающие в себя символическиеконстанты, inline- подстановку функций, параметры функции по умолчанию,перегруженные имена функций, операции управления свободной памятью и ссылочный тип.В C++ сохранены возможности языка C по работе с основными объектами аппаратногообеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективнореализовывать типы, определяемые пользователем.
C++ и его стандартные библиотеки спроектированы так, чтобыобеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идтив большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки,и с C++ можно использовать большую часть инструментальных средств,поддерживающих программирование на C.
Задание курсовой работы
Прямая задана уравнением ax+by+c=0, a и b не равны 0.
Определить, пересекают ли все прямые первую прямую.
Блок-схема
/>
Листинг программы KURS.EXE
#include
#include
#include
#include
#include
#include
int i, x[640], y[480], ox, oy, z;
float k, m, r, f, p, w, s, v, o;
float e,d,a[100], b[100], c[100];
int x1, y1,n;
void main()
{
clrscr();
m:
cout1) ->»; cin>>n;
if (n1\n»;goto m;}
cout
for (i=0;i
{
cout>a[i];
cout>b[i];
cout>c[i];
}
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver,&gmode,"");
ox=getmaxx();
oy=getmaxy();
setcolor(3);
line(ox/2,oy, ox/2, 0);
line(0, oy/2,ox, oy/2);
setcolor(4);
ox=ox/2;
oy=oy/2;
for(i=0;i
{
y[i]=-8;
x[i]=(-c[i]-b[i]*y[i])/a[i];
y1=9;
x1=(-c[i]-b[i]*y1)/a[i];
setcolor(i+4);
line(ox+x[i]*21,oy-y[i]*20,ox+x1*20,oy-y1*20);
}
k=0;
for (i=1;i
{
e=a[0]/a[i];
d=b[0]/b[i];
if (e!=d) k++;
}
if (k==n-1) cout
else
cout
getch();
closegraph();
}
Результат выполнения программы
/>
Листинг и print screen заставки VOVA777.EXE
#include
#include
#include
#include
#include
#include
#include
void flag(int x, int y)
{
setfillstyle(SOLID_FILL,0); //fon
floodfill(0,0,0);
setcolor(15);
line(x-70,y+30,x-90,y+150);
line(x+80,y+20,x+60,y+140);
ellipse(x-52,y+150,5,180,38,25);
ellipse(x+22,y+140,185,0,37,25);
ellipse(x-32,y+30,5,180,38,25);
ellipse(x+42,y+20,185,0,37,25);
ellipse(x-38,y+70,5,180,38,25);
ellipse(x+36,y+60,185,0,37,25);
ellipse(x-45,y+110,5,180,38,25);
ellipse(x+29,y+100,185,0,37,25);
setfillstyle(SOLID_FILL,15); //fon
floodfill(x-60,y+40,15);
setfillstyle(SOLID_FILL,9); //fon
floodfill(x-70,y+80,15);
setfillstyle(SOLID_FILL,4); //fon
floodfill(x-80,y+130,15);
}
void zvezda(int z,int k,int c,int v)
{
for(z=100;z
{
setcolor(GREEN);
line(z-30,k-90,z-40,k-70);
line(z-40,k-70,z-60,k-60);
line(z-60,k-60,z-40,k-50);
line(z-40,k-50,z-30,k-30);
line(z-30,k-30,z-20,k-50);
line(z-20,k-50,z,k-60);
line(z,k-60,z-20,k-70);
line(z-20,k-70,z-30,k-90);
line(c,v-60,c-10,v-40);
line(c-10,v-40,c-30,v-30);
line(c-30,v-30,c-10,v-20);
line(c-10,v-20,c,v);
line(c,v,c+10,v-20);
line(c+10,v-20,c+30,v-30);
line(c+30,v-30,c+10,v-40);
line(c+10,v-40,c,v-60);
setfillstyle(SOLID_FILL,GREEN);
floodfill(z-30,k-60,GREEN);
setfillstyle(SOLID_FILL,GREEN);
floodfill(c,v-30,GREEN);
delay(15);
setcolor(0);
line(z-30,k-90,z-40,k-70);
line(z-40,k-70,z-60,k-60);
line(z-60,k-60,z-40,k-50);
line(z-40,k-50,z-30,k-30);
line(z-30,k-30,z-20,k-50);
line(z-20,k-50,z,k-60);
line(z,k-60,z-20,k-70);
line(z-20,k-70,z-30,k-90);
line(c,v-60,c-10,v-40);
line(c-10,v-40,c-30,v-30);
line(c-30,v-30,c-10,v-20);
line(c-10,v-20,c,v);
line(c,v,c+10,v-20);
line(c+10,v-20,c+30,v-30);
line(c+30,v-30,c+10,v-40);
line(c+10,v-40,c,v-60);
setfillstyle(SOLID_FILL,0);
floodfill(z-30,k-60,0);
setfillstyle(SOLID_FILL,0);
floodfill(c,v-30,0);
z+=2;
c-=3;
}
setcolor(2);
line(z-30,k-90,z-40,k-70);
line(z-40,k-70,z-60,k-60);
line(z-60,k-60,z-40,k-50);
line(z-40,k-50,z-30,k-30);
line(z-30,k-30,z-20,k-50);
line(z-20,k-50,z,k-60);
line(z,k-60,z-20,k-70);
line(z-20,k-70,z-30,k-90);
line(c,v-60,c-10,v-40);
line(c-10,v-40,c-30,v-30);
line(c-30,v-30,c-10,v-20);
line(c-10,v-20,c,v);
line(c,v,c+10,v-20);
line(c+10,v-20,c+30,v-30);
line(c+30,v-30,c+10,v-40);
line(c+10,v-40,c,v-60);
line(z-30,k-30,z-30,k-10);
setfillstyle(SOLID_FILL,GREEN);
floodfill(z-30,k-60,GREEN);
setfillstyle(SOLID_FILL,2);
floodfill(c,v-30,2);
for(k=60;k
{
setcolor(2);
line(z-30,k-30,z-30,k-11);
line(c,v-30,c,v-37);
delay(25);
k+=2;
v-=3;
}
for(z=80;z
{
setcolor(2);
line(z-30,k-14,z-1,k-14);
line(c+520,v-35,c+502,v-35);
delay(25);
z+=2;
c-=3;
}}
void univer(int b,int n)
{
setcolor(15);
delay(700);
line(b-10,n-30,b-10,n-70);
line(b,n-70,b+15,n-30);
line(b+15,n-30,b+30,n-70);
delay(700);
setcolor(9);
line(b-50,n-30,b-50,n-70);
line(b-20,n-30,b-20,n-70);
line(b-20,n-30,b-50,n-70);
line(b+40,n-70,b+40,n-30);
line(b+40,n-30,b+70,n-30);
line(b+40,n-50,b+60,n-50);
line(b+40,n-70,b+70,n-70);
delay(700);
setcolor(4);
line(b-100,n-70,b-100,n-50);
arc(b-80,n-50,180,0,20);
line(b-60,n-70,b-60,n-50);
line(b+80,n-10,b+80,n-70);
arc(b+80,n-50,-90,90,20);
line(b+80,n-30,b+101,n-10);
delay(700);
}
void main()
{
int dr=DETECT,mod;
int err;
initgraph(&dr,&mod," ");
err=graphresult();
if(err){
cout
exit(1);
}
flag(300,150);
zvezda(100,100,550,450);
univer(300,150);
setcolor(1);
delay(500);
outtextxy(50,200,«KURSOVAJA RABOTA PO:»);
delay(500);
outtextxy(50,215,«PROGRAMMIROVANIJU NA»);
delay(500);
outtextxy(50,230,«JAZIKE VISOKOGO»);
delay(500);
outtextxy(50,245,«UROVNJA»);
delay(500);
outtextxy(400,200,«VIPOLNIL:»);
delay(500);
outtextxy(400,230,«STUDENT FITU I-2a»);
setcolor(4);
delay(500);
outtextxy(400,215,«S»);
delay(500);
outtextxy(413,215,«I»);
delay(500);
outtextxy(426,215,«L»);
delay(500);
outtextxy(439,215,«A»);
delay(500);
outtextxy(452,215,«E»);
delay(500);
outtextxy(465,215,«V»);
delay(500);
outtextxy(500,215,«V.»);
delay(500);
outtextxy(515,215," S.");
delay(500);
setcolor(4);
outtextxy(270,400,«2010»);
getch();
closegraph();
int pm,pp;
int result;
while(1)
{clrscr();
cout
cout
cout
cout
cin>>pm;
switch(pm)
{
case 1: clrscr();
result = spawnl(P_WAIT, «1.exe», NULL);
if (result == -1)
{
perror(«Error from spawnl»);
exit(1);
}
else
break;
case 0:exit(0);
}
}
}
/>
Руководство пользователя
При запуске курсовой работы на дисплее появится титульныйлист.
После нажатия любой клавиши запускается задание курсовойработы. Просмотрев результат работы задания, нажимаем любую клавишу и выходим вМЕНЮ. Для выхода из программы нажимаем – 0.
При работе с программой могут возникнуть проблемы:программа может не запускаться, и выводить ошибку инициализации графики. Чтобыизбежать этого пользователь должен перед запуском программы убедиться в том,что файл EGAVGA.BGI находится в данном каталоге. В каталоге так же должнынаходится исполняемые файлы VOVA777.EXE, KURS.EXE.
Программа нормально работает в операционных системахWindows XP/NT/2000/98, а так же в MS-DOS'e. В других операционных системахпрограмма не тестировалась.
Список используемой литературы
1. В.В.Подбельский «Язык С++»
2. Курс лекций по предмету «Программирование на ЯВУ»
3. Методические указания к лабораторным работам по предмету «Программированиена ЯВУ»
4. Т. А. Павловская «С/С++ Программирование на языке высокого уровня»
5. Б. Страустрап «ВВЕДЕНИЕ В ЯЗЫК С++»