Разработка консольного приложения в интегрированной среде C++ Builder 6

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ТУЛЬСКИЙ ИНСТИТУТ ЭКОНОМИКИ И ИНФОРМАТИКИ

Кафедра информационных технологий

Учебная дисциплина

«Информатика и программирование»

КУРСОВАЯ РАБОТА

На тему Разработка консольного приложения в интегрированной среде C++ Builder 6

Тула, 2013 год

Содержание

  • Введение
  • Задание 1
  • Задание 2
  • Задание 3
  • Задание 4
  • Задание 5
  • Задание 6
  • Задание 7
  • Задание 8
  • Задание 9
  • Задание 10
  • Заключение
  • Список литературы
  • Приложения
  • Приложение А. Листинг программы задания 1
  • Приложение Б. Листинг программы задания 2
  • Приложение В. Листинг программы задания 3
  • Приложение Г. Листинг программы задания 4
  • Приложение Д. Листинг программы задания 5
  • Приложение Е. Листинг программы задания 6
  • Приложение Ж. Листинг программы задания 7
  • Приложение И. Листинг программы задания 8
  • Приложение К. Листинг программы задания 9
  • Приложение Л. Листинг программы задания 10

Введение

В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационных и коммуникационных технологий. Если человек имеет дело с компьютером, то, рано или поздно, у него возникает желание, а иногда и необходимость, программировать.

Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку». В основе систем быстрой разработки или RAD-систем (Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутины, оставляя программисту работу по конструированию диалоговых окон и созданию функций обработки событий. Производительность программиста при использовании RAD-систем резко повышается. Одной из широко используемых RAD-систем является Borland C++Builder, которая позволяет создавать различные программы: от простейших однооконных приложений до программ управления распределенными базами данных. В качестве языка программирования в среде Borland C++Builder используется C++.

Задание 1

Некто располагает суммой в, А руб. Он хочет купить В книг по С руб. и D журналов по Е руб. Написать программу, проверяющую, возможна ли такая покупка.

Входные переменные:

a, b, с, d, e — переменные вещественного типа

Выходные переменные:

s — переменная вещественного типа.

Интерфейс разработанного ПО представлен на рисунке 1.

Рисунок 1 — Результаты работы программы для задания 1

Листинг разработанного ПО для задания 1 приведен в приложении А.

Задание 2

Написать программу, определяющую, на какую цифру заканчивается заданное натуральное число.

Входные переменные:

n — натуральное число, переменная целого типа

Выходные переменные:

k — последняя цифра натурального числа, переменная целого типа.

Для определения последней цифры натурального числа используется следующая формула: k=n mod 10, где mod — операция деления по модулю.

Интерфейс разработанного ПО представлен на рисунке 2.

Рисунок 2 — Результаты работы программы для задания 2

Листинг разработанного ПО для задания 2 приведен в приложении Б.

Задание 3

Написать программу, проверяющую, поместится ли равносторонний треугольник площадью Р в круг площадью S, или круг поместится в треугольник, или они не поместятся друг в друга.

Входные переменные:

Р — площадь треугольника, переменная вещественного типа,

S — площадь круга, переменная вещественного типа.

При решении задачи использовались следующие формулы:

Сторона треугольника ,

Радиус круга.

Радиус описанной окружности ,

Радиус вписанной окружности ,

Для того чтобы круг мог быть вписан в треугольник достаточно, чтобы его радиус не превышал радиус вписанной окружности r. Для того чтобы круг мог быть описан вокруг треугольника достаточно, чтобы его радиус не был меньше радиуса описанной окружности R.

Интерфейс разработанного ПО представлен на рисунке 3.

Рисунок 3 — Результаты работы программы для задания 3

Листинг разработанного ПО для задания 3 приведен в приложении В.

Задание 4

Написать программу, позволяющую вычислить с помощью цикла: n+ (n-1) + (n-2) +. +2+1, где n задается с клавиатуры.

Входные переменные:

n — натуральное число, переменная целого типа

Выходные переменные:

s — сумма, переменная целого типа.

Интерфейс разработанного ПО представлен на рисунке 4.

Рисунок 4 — Результаты работы программы для задания 4

Листинг разработанного ПО для задания 4 приведен в приложении Г.

Задание 5

Разработать программу вывода на консоль в (символьном виде) графика функции y=sin (2р/Nn) для N=40, n=0,., 39.

Интерфейс разработанного ПО представлен на рисунке 5.

Рисунок 5 — Результаты работы программы для задания 5

Листинг разработанного ПО для задания 5 приведен в приложении Д.

Задание 6

В одномерном массиве хранятся N элементов некоторой последовательности. Для того чтобы определить закономерность, положенную в основу последовательности, каждые два соседних элемента заменяются их разностью. Эта операция повторяется до тех пор, пока все разности не будут равны одной и той же константе. Написать программу, определяющую эту константу и указывающую, на какой по счету операции эта константа получится.

Входные переменные:

a — входной массив целых чисел

Выходные переменные:

m — константа, переменная целого типа,

k — номер шага, на котором получена константа m, переменная целого типа.

Интерфейс разработанного ПО представлен на рисунке 6.

Рисунок 6 — Результаты работы программы для задания 6

Листинг разработанного ПО для задания 6 приведен в приложении Е.

Задание 7

В двухмерном массиве поменять местами строки, содержащие максимальный и минимальный элементы.

Входные переменные:

a — входной массив целых чисел.

Элементы массива генерируются с помощью датчика случайных чисел и расположены в интервале (-50; 50).

Интерфейс разработанного ПО представлен на рисунке 7.

Рисунок 7 — Результаты работы программы для задания 7

Листинг разработанного ПО для задания 7 приведен в приложении Ж.

Задание 8

Написать процедуру удаления повторных гласных в слове.

Для удаления повторных гласных разработана процедура udal_gl. Она имеет один входной параметр — массив символов с обрабатываемым словом. Возвращает указатель на преобразованный массив символов.

Интерфейс разработанного ПО представлен на рисунке 8.

Рисунок 8 — Результаты работы программы для задания 8

Листинг разработанного ПО для задания 8 приведен в приложении И.

Задание 9

Разработать процедуру, определяющую, принадлежит ли точка m с координатами (х, у) треугольнику, заданному координатами вершин.

Для определения принадлежности точки треугольнику используем следующий метод: последовательно проходим все стороны треугольника, считая их прямыми, и рассчитываем по какую сторону от текущей прямой лежит точка. Если точка для всех прямых лежит с одной стороны, то значит точка принадлежит треугольнику, а если хоть для какой-то прямой она лежит с друго стороны, то это значит что она вне треугольника.

Входные переменные:

ver — массив координат вершин треугольника, каждая строка соответствует вершине,

х, у — координаты точки

Для определения принадлежности точки треугольнику разработана процедура pr. Входными параметрами для нее являются координаты точки (координаты вершин треугольника — глобальная переменная), выходное значение имеет логический тип и равно true, если точки принадлежит треугольнику и false — в противном случае.

Интерфейс разработанного ПО представлен на рисунке 9.

Рисунок 9 — Результаты работы программы для задания 9

Листинг разработанного ПО для задания 9 приведен в приложении К.

Задание 10

В файле хранятся реквизиты рабочих: фамилия, имя, отчество, дата рождения, адрес, количество детей, количество отработанных часов, расценка одного часа. Заработная плата вычисляется умножением количества отработанных часов на расценку минус 13% налога. Величина налога уменьшается на 0,01% на каждого имеющегося ребенка. Записать в другой файл фамилии и инициалы рабочих и их заработную плату.

Интерфейс разработанного ПО представлен на рисунке 10.

Рисунок 10 — Результаты работы программы для задания 10

Листинг разработанного ПО для задания 10 приведен в приложении Л.

Заключение

В результате выполнения курсовой были составлены алгоритмов, написаны и отлажены приложения для решения прикладных задач на примере консольных приложений C++ Builder 6. Все программы работают правильно.

консольное приложение алгоритм программист

Список литературы

1. Ильин А. А. и др. Информатика: Учебное пособие. — М: Серебряная нить, 2005. 376 с.

2. Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. — Москва: Унитех; Рязань: Гэлион, 1992, 304−345сс.

3. URL: http: //www. cyberforum. ru/cpp/

4. URL: http: //www. programmersforum. ru/forumdisplay. php

5. URL: http: //forum. codeby. net/forum54. html

Приложения

Приложение А. Листинг программы задания 1

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < conio. h>

#include < windows. h>

#pragma argsused

int main (int argc, char* argv [])

{

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

int a, b, c, d, e, s;

cout< <"Исходная сумма, А = «; cin> >a;

cout< <"Количество книг В = «; cin> >b;

cout< <"Цена одной книги С = «; cin> >c;

cout< <"Количество журналов D = «; cin> >d;

cout< <"Цена одного журнала E = «; cin> >e;

s=a- (b*c+d*e);

if (s< 0)

cout< <"Покупка не возможна";

else

cout< <"Покупка возможна";

getch ();

return 0;

}

Приложение Б. Листинг программы задания 2

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < conio. h>

#include < windows. h>

#pragma argsused

int main (int argc, char* argv [])

{

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

unsigned long long int n;

int k;

cout< <"Натуральное число = «; cin> >n;

k=n % 10;

cout< <"Последняя цифра числа = «< <k;

getch ();

return 0;

}

Приложение В. Листинг программы задания 3

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#include < math. h>

#pragma argsused

int main (int argc, char* argv [])

{

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

double p, s, a, r;

cout< <"Площадь треугольника = «; cin> >p;

cout< <"Площадь круга = «; cin> >s;

r=sqrt (s/M_PI);

a=sqrt (4*p/sqrt (3));

if (r<= (a*sqrt (3) /6))

cout< <"Круг поместится в треугольник";

else

if (r>= (a*sqrt (3) /3))

cout< <"Треугольник поместится в круг";

else

cout< <"Фигуры не поместятся друг в друга";

getch ();

return 0;

}

Приложение Г. Листинг программы задания 4

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#pragma argsused

int main (int argc, char* argv [])

{

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

int n, i;

int long s;

cout< <"n = «; cin> >n;

s=0;

for (i=n; i> 0; i--)

s=s+i;

cout< <"Сумма = «< <s;

getch ();

return 0;

}

Приложение Д. Листинг программы задания 5

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#include < math. h>

#pragma argsused

int main (int argc, char* argv [])

{

const N=40;

int y, i;

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

clrscr ();

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

{

y=int ((sin (2*M_PI*i/N) +1) *10);

gotoxy (i*2+1,24-y);

cout< <"*";

}

getch ();

return 0;

}

Приложение Е. Листинг программы задания 6

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#pragma argsused

int main (int argc, char* argv [])

{

const N=10;

int a [N], a1 [N], i, j, m, k;

bool t;

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

cout< <"Введите элементы массива (N=10)"< <endl;

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

{

cout< <"a ["< <i+1<<"] = «;

cin> >a [i];

}

t=true; j=N-1; k=0;

while (t)

{

k++;

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

a1 [i] =a [i+1] - a [i];

t=false;

m=a1 [0];

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

if (a [j]! =m)

t=true;

if (t)

{

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

a [i] =a1 [i];

j=j-1;

}

}

cout< <"Вычисления закончились на «< <k<<"-м шаге"< <endl;

cout< <"Константа = «< <m;

getch ();

return 0;

}

Приложение Ж. Листинг программы задания 7

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#include < time. h>

#pragma argsused

int main (int argc, char* argv [])

{

const int n=6;

const int n1=6;

int** a=new int* [n];

int i, j, imax, imin, max, min, k;

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

randomize ();

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

a [i] =new int [n1];

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

for (j=1; j< =n1; j++)

a [i-1] [j-1] =random (100) — 50;

cout< <"Исходная матрица А"< <endl;

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

{

for (j=0; j< n1; j++)

{

cout. width (5);

cout< <a [i] [j] < <" «;

}

cout< <endl;

}

min=a [0] [0]; imin=0;

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

for (j=0; j< n1; j++)

if (a [i] [j] < min)

{

min=a [i] [j]; imin=i;

}

cout< <"Минимум = «< <min<<» находится в «< <imin+1<<» строке"< <endl;

max=a [0] [0]; imax=0;

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

for (j=0; j< n1; j++)

if (a [i] [j] > max)

{

max=a [i] [j]; imax=i;

}

cout< <"Максимум = «< <max<<» находится в «< <imax+1<<» строке"< <endl;

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

{

k=a [imin] [i];

a [imin] [i] =a [imax] [i];

a [imax] [i] =k;

}

cout< <"Преобразованная матрица А"< <endl;

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

{

for (j=0; j< n1; j++)

{

cout. width (5);

cout< <a [i] [j] < <" «;

}

cout< <endl;

}

getch ();

return 0;

}

Приложение И. Листинг программы задания 8

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#include < stdlib. h>

#include < string. h>

#pragma argsused

char *udal_gl (char *str);

char gl [9] ={'а','е','и','о','у','ы','э','ю','я'};

int main (int argc, char* argv [])

{

char s [100],*s1;

int i;

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

cout< <"Введите слово для преобразования: «;

cin> >s;

s1=udal_gl (s);

cout< <"Результат = «< <s1;

getch ();

return 0;

}

char *udal_gl (char str [])

{

char* temp,*p,*temp1;

int i, j, j1,k, r;

temp=new char [strlen (str)];

temp1=new char [strlen (str)];

for (i=0; i< strlen (str); i++)

temp [i] =str [i]; j1=0;

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

{

p=strchr (temp, gl [i]);

if (p)

{

j=p-& temp [0];

for (k=j+1; k< strlen (temp); k++)

if (temp [k] ==gl [i])

temp [k] ='*';

}

}

j=0; i=0;

while (j< =strlen (temp))

{

if (temp [j]! ='*')

{

temp1 [i] =temp [j]; i=i+1;

}

j=j+1;

}

temp [i+1] ='';

return temp1;

}

Приложение К. Листинг программы задания 9

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

double ver [3] [3];

bool pr (double x, double y);

#pragma argsused

int main (int argc, char* argv [])

{

double x, y;

int i;

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

cout< <"Введите координаты вершин треугольника"< <endl;

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

{

cout< <i+1<<"-я вершина"< <endl;

cout< <"x = «; cin> >ver [i] [0];

cout< <"y = «; cin> >ver [i] [1];

}

cout< <"Введите координаты точки"< <endl;

cout< <"x = «; cin> >x;

cout< <"y = «; cin> >y;

if (pr (x, y))

cout< <"Точка принадлежит треугольнику";

else

cout< <"Точка не принадлежит треугольнику";

getch ();

return 0;

}

bool pr (double x, double y)

((q1< 0) & & (q2< 0) & & (q3< 0));

return t;

Приложение Л. Листинг программы задания 10

#include < vcl. h>

#pragma hdrstop

#include < iostream. h>

#include < windows. h>

#include < conio. h>

#include < stdio. h>

#pragma argsused

int main (int argc, char* argv [])

{

char f [20], name [20], otch [20], data [10], addr [20];

char fio [30];

int det, rab, cena;

double zar;

FILE* file,*file1;

SetConsoleCP (1251);

SetConsoleOutputCP (1251);

file=fopen («d: data. txt», «r+»);

file1=fopen («d: data1. txt», «w+»);

while (! feof (file))

{

fscanf (file,"%s%s%s%s%s%d%d%dn", f, name, otch, data, addr,& det,&rab,&cena);

cout< <f<<" «< <name<<» «< <otch<<» «< <data<<» «< <addr<<» «< <det<<» «< <rab<<» «< <cena<<endl;

strcpy (fio, f); fio [strlen (f)] =' '; fio [strlen (f) +1] =name [0];

fio [strlen (f) +2] ='. '; fio [strlen (f) +3] =otch [0];

fio [strlen (f) +4] ='. '; fio [strlen (f) +5] ='';

zar=rab*cena-rab*cena* (0. 13−0. 01*det);

fprintf (file1,"%s %10. 2fn", fio, zar);

}

fclose (file);

fclose (file1);

getch ();

return 0;

}

ПоказатьСвернуть
Заполнить форму текущей работой