Разработка консольного приложения на языке С++

Автор: Пользователь скрыл имя, 28 Октября 2013 в 20:52, курсовая работа

Описание работы

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

Содержание

ПОСТАНОВКА ЗАДАЧИ 3
ВВЕДЕНИЕ 4
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ 5
2 ОПИСАНИЕ ПРОГРАММЫ 11
2.1 Описание разработанной структуры 11
2.2 Логика работы программы. 11
2.3 Схема алгоритма функции main() 14
3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 15
ЗАКЛЮЧЕНИЕ 16
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 17
ПРИЛОЖЕНИЕ А Листинг программы 18
ПРИЛОЖЕНИЕ Б Распечатки результатов 20

Работа содержит 1 файл

ПЗ.docx

— 180.97 Кб (Скачать)

file<<"Высота Н: "<<(*figure.sTRAP).H<<endl;

file<<"Площадь трапеции: "<<(*figure.sTRAP).S;

puts("Результат записан в файл `result.txt`");

system("pause");

break;

 

После выхода из подпрограммы программа возвращается к меню.

 

При выборе 2-го пункта меню программа предлагает ввод данных для расчёта треугольника рассчитывает площадь, затем выводит  результат расчёта и предлагает занести результаты в файл.

 

case 2:

puts("Рассчёт площади Треугольника.");

puts("Сторона А:");

scanf("%u",&(*figure.sTREUG).A);

puts("Сторона В:");

scanf("%u",&(*figure.sTREUG).B);

puts("Угол:");

scanf("%u",&(*figure.sTREUG).Ugol);

(*figure.sTREUG).S=0.5*(*figure.sTREUG).A*(*figure.sTREUG).B*sin(float((*figure.sTREUG).Ugol*pi/180.0f));

printf("Площадь треугольника равна %.2f\n",(*figure.sTREUG).S);

//запись в файл

file.open("result.txt");

file<<"Сторона А: "<<(*figure.sTREUG).A<<endl;

file<<"Сторона В: "<<(*figure.sTREUG).B<<endl;

file<<"Угол: "<<(*figure.sTREUG).Ugol<<" градусов"<<endl;

file<<"Площадь треугольника: "<<(*figure.sTREUG).S<<endl;

puts("Результат записан в файл `result.txt`");

system("pause");

break;

 

 

При выборе 3-го пункта меню программа  завершает работу.

 

2.3 Схема алгоритма функции main()

 

3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

 

Для запуска программы необходимо выбрать файл Course_Work_v.9.exe. После того как запустилась программа, пользователю предоставляется меню программы с выбором геометрической фигуры (трапеции (п.1) или треугольника (п.2)) или выхода из программы(п.3).

Что бы выбрать  пункт меню, нужно ввести с клавиатуры номер пункта меню и нажать клавишу ENTER.

После выбора пункта меню, пользователю предоставляется  ввести с клавиатуры исходные данные для расчета площади геометрической фигуры, после каждого из данных необходимо нажимать клавишу ENTER.

Программа производит расчёт площади геометрической фигуры, выводит результат на экран и  предлагает записать данный результат  в файл “y/n”. Если пользователь хочет записать данные в файл, то нужно нажать клавишу “y” и будет создан файл result.txt с данными, если нет, то клавишу “n”.

Для выхода из программы необходимо выбрать п.0 «Выход».

 

ЗАКЛЮЧЕНИЕ

 

Тестирование программы  показало ее эффективную работу. Все пункты меню работают исправно. Вывод результата и запись их в файл происходит без ошибок и соответствует заданию.

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

 

СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1. Самоучитель С++ с примерами  и задачами; А.Н.Васильев – СПб.:Питер, 2010 г.

2. www.cyberforum.ru

3. http://www.realcoding.net

 

ПРИЛОЖЕНИЕ А

 

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

 

#include "stdafx.h"

#include <iostream>

#include <fstream>

#include <stdio.h>

using namespace std;

typedef unsigned int uint;

#define pi 3.14159265358979323846

struct TRAPEZIA{

uint A;

uint B;

uint H;

float S;

}trapezia;

struct TREUGOLNIK{

uint A;

uint B;

uint Ugol;

float S;

}treugolnik;

union FIGURE{

TREUGOLNIK*sTREUG;

TRAPEZIA*sTRAP;

}figure;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(0,"");

int pMenu=0;//пункт меню

figure.sTRAP=&trapezia;//присваивание адреса структуры трапеции

figure.sTREUG=&treugolnik;//присваивание адреса структуры треугольника

ofstream file;//инициализация файловой переменной

puts("Выберите фигуру для расчёта площади:");

puts("1. Трапеция");

puts("2. Треугольник");

puts("0. Выход");

scanf("%i",&pMenu);

while(pMenu<0 || pMenu>2){

puts("Вы ввели неверное зачение, попробуйте ещё раз:");

scanf("%i",&pMenu);}

while(pMenu>0 && pMenu<=2){

switch(pMenu){

case 1:

puts("Рассчёт площади Трапеции.");

puts("Основание А:");

scanf("%u",&(*figure.sTRAP).A);

puts("Основание В:");

scanf("%u",&(*figure.sTRAP).B);

puts("Высота Н:");

scanf("%u",&(*figure.sTRAP).H);    (*figure.sTRAP).S=((*figure.sTRAP).A+(*figure.sTRAP).B)/2*(*figure.sTRAP).H;

printf("Площадь трапеции равна %.2f\n",(*figure.sTRAP).S);

//запись в файл

file.open("result.txt");

file<<"Основание А: "<<(*figure.sTRAP).A<<endl;

file<<"Основание В: "<<(*figure.sTRAP).B<<endl;

file<<"Высота Н: "<<(*figure.sTRAP).H<<endl;

file<<"Площадь трапеции: "<<(*figure.sTRAP).S;

puts("Результат записан в файл `result.txt`");

system("pause");

break;

case 2:

puts("Рассчёт площади Треугольника.");

puts("Сторона А:");

scanf("%u",&(*figure.sTREUG).A);

puts("Сторона В:");

scanf("%u",&(*figure.sTREUG).B);

puts("Угол:");

scanf("%u",&(*figure.sTREUG).Ugol);    (*figure.sTREUG).S=0.5*(*figure.sTREUG).A*(*figure.sTREUG).B*sin(float((*figure.sTREUG).Ugol*pi/180.0f));

printf("Площадь треугольника равна %.2f\n",(*figure.sTREUG).S);

//запись в файл

file.open("result.txt");

file<<"Сторона А: "<<(*figure.sTREUG).A<<endl;

file<<"Сторона В: "<<(*figure.sTREUG).B<<endl;

file<<"Угол: "<<(*figure.sTREUG).Ugol<<" градусов"<<endl;

file<<"Площадь треугольника: "<<(*figure.sTREUG).S<<endl;

puts("Результат записан в файл `result.txt`");

system("pause");

break;

default:break;}

system("cls");//очистка экрана

puts("Выберите фигуру для расчёта площади:");

puts("1. Трапеция");

puts("2. Треугольник");

puts("0. Выход");

scanf("%i",&pMenu);

}

return 0;

}

 

 

ПРИЛОЖЕНИЕ  Б

 

Распечатки результатов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Информация о работе Разработка консольного приложения на языке С++