Особливості розробки програми KURSEXE

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст

Введення 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 <iostream.h>

# Include <fstream.h>

# Include <stdlib.h>

# Include <conio.h>

# Include <math.h>

# Include <graphics.h>

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:

cout <<"Vvedite kol-vo prjamih (N> 1) ->"; cin>> n;

if (n <2) {cout <<"Vvedite N> 1 \ n"; goto m;}

cout <<"Vvedite" <<n <<"raz znachenija a [i], b [i], c [i] \ n";

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

{

cout <<"a [" <<i +1 <<"]="; cin>> a [i];

cout <<"b [" <<i +1 <<"]="; cin>> b [i];

cout <<"c [" <<i +1 <<"]="; cin>> 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 <n; 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 <n; i + +)

{

e = a [0] / a [i];

d = b [0] / b [i];

if (e! = d) k + +;

}

if (k == n-1) cout <<"vse pryamye peresekayit pervuyu prjamuyu \ n";

else

cout <<"Ne vse prjamie peresekayut pervuyu prjamuyu \ n";

getch ();

closegraph ();

}

Результат виконання програми

Лістинг і print screen заставки VOVA777.EXE

# Include <graphics.h>

# Include <process.h>

# Include <iostream.h>

# Include <stdlib.h>

# Include <conio.h>

# Include <stdio.h>

# Include <dos.h>

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 <610; 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 <433; 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 <582; 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 <<"error initgraph" <<grapherrormsg (err);

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 <<"\ n PRJAMAJA ZADANA URAVNENIEM AX + BY + C = 0, AIB NE RAVNY 0. \ n";

cout <<"\ n OPREDELIT 'PERESEKAYUT LI VSE PRJAMYE PERVUYU PRJAMUYU. \ n";

cout <<"\ n \ n \ t \ t1-ZAPUSK PROGRAMMY \ n";

cout <<"\ t \ t0-EXIT \ n";

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. Б. Страустрап «ВСТУП У МОВА С + +»


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
42.6кб. | скачати


Схожі роботи:
Методи розробки структури програми
Етапи розробки екскурсійної програми
Метод низпадаючої розробки структури програми
Етапи розробки виробничої програми підприємства
Про зміст та методику розробки регіональної комплексної програми Освіта та зайнятість населення
Особливості розробки та створення іміджу організації
Поняття управлінського рішення і особливості його розробки
Реклама на транспорті Особливості розробки рекламної кампанії
Структура генерального бюджету порядок і особливості його розробки
© Усі права захищені
написати до нас