Автор работы: Пользователь скрыл имя, 21 Января 2012 в 19:56, курсовая работа
Важной вехой в развитии программирования явилось создание и широкое распространение языка С++. Этот язык, сохранив средства ставшего общепризнанным стандартом для написания системных и прикладных программ языка С (процедурно-ориентированный язык), ввел в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название “объектно-ориентированное программирование”. Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ.
Введение 3
1 Постановка задачи 4
1.1 Анализ предметной области 4
1.2 Описание метода решения задачи 5
2 Описание программного обеспечения 8
2.1 Входные данные 8
2.2 Выходные данные 9
2.3 Требования к надёжности 10
2.4 Структурная диаграмма 10
2.5 Описание функций 11
3 Описание работы программного модуля 13
3.1 Руководство пользователя 13
3.2 Тестирование 14
Заключение 16
Список использованных источников 17
Приложение А 18
2.3
Требование к надежности
Требование к надежности программы, нахождения значений уровня Ферми методом последовательных приближений, приведены в Таблице 3.
Таблица 3 – Требование к надежности
|
Реакция программы | Метод её исправления |
Ввод не существующего пункта меню | Выдаётся сообщение, повторяется запрос | Заново ввести данные |
Не введены начальные значения | ||
Исходные данные находятся вне допустимого диапазона | ||
Ввод не существующего имени файла |
2.4
Структурная диаграмма
На рисунке 1 представлена структурная диаграмма программного модуля.
Рисунок
1 - Структурная диаграмма программного
модуля.
Вся программа делится на два уровня.
Функция main – это основная функция, из которой вызываются все остальные. Функция main выдает на экран меню программы и возвращает номер выбранного пользователем пункта меню.
Функция excel осуществляет подключение к Microsoft Office Excel 2007.
Функция struct хранит сртуктуру программы.
Функция klav осуществляет ввод исходных данных как с клавиатуры.
Функция file осуществляет ввод исходных данных из бинарного файла.
Функция zapic_ich осуществляет сохранение исходных данныx в файл.
Функция rechenie осуществляет вывод данных на экран.
Функция file_vuvod осуществляет вывод данных в бинарный файл.
Функция graf строит график в Microsoft Office Excel 2007.
Функция formyla_red позволяет изменить данные формулы и сохранить в файл formyla.
Функция formyla_pros позволяет просмотреть данные формулы.
Функций formyla_zag загружает данные формулы из файла formyla.
Функуия restart очищает экран.
Функция
zast используется для вывода на экран заставки.
2.5
Описание функций
Директива #include подключает стандартный заголовочный файл.
Ключевое слово int описывает локальные переменные целочисленного типа.
Ключевое слово char описывает локальные переменные символьного типа.
Ключевое слово struct описывает структурированный тип данных.
Ключевое слово const описывает постоянные.
Конструкция <Тип функции> <Имя функции>(<Тип переменной 1> [,Тип переменной 2, …]) обозначает заголовок функции.. Передача аргументов в функцию осуществляется по значению либо по адресу (если в качестве параметра передан указатель).
Оператор return возвращает значение переменной в вызывающую функцию.
Конструкция void main (void)описывает заголовок основной функции программы main(). Данная функция не возвращает никакого результата и не имеет параметров (ключевое слово void). С данной функции всегда начинается выполнение любой программы на языке С.
Функция printf осуществляет вывод на экран дисплея сообщения.
Функция scanf осуществляет ввод с клавиатуры значения переменной.
Условный оператор if … else проверяет условие и если оно истинно, то выполняет оператор присваивания. Если условие ложно, то выполняется оператор присваивания, стоящий после ключевого слова else.
Функция for осуществляет цикл повторений циклической переменной от начального значения до конечного с некоторым шагом.
Функции while и do … while осуществляет цикл повторений c предусловием и пост условием соответственно.
Функция getch возвращает код нажатой клавиши.
Функция strtcmp сравнивает две строки и возвращает отрицательный результат если первая строка по алфавиту идет раньше второй, положительный – если вторая идет раньше первой и нуль – если строки одинаковы.
Функция sizeof возвращает размер переменной в байтах.
Функция fopen
открывает, а функция fclose – закрывает файл.
3 Описание работы программного продукта
3.1
Руководство пользователя
При запуске программы на экране должна появиться заставка, отображающая краткую информацию о разработчике, с просьбой нажать любую клавишу, после чего появится меню программы. Пользователь выбирает нужный пункт. При выборе определенного пункта меню после нажатия клавиши ВВОД выполняется соответствующая функция. Рассмотрим подробнее функции, запускаемые при выборе того или иного пункта меню.
При выборе первого или второго пункта меню программа запросит ввести исходные данные, либо с клавиатуры, либо из бинарного файла, созданного ранее. Если пользователем будет указано «Из бинарного файла», далее программа попросит имя файла. Если файл не существует, то на экран выводится соответствующее сообщение. Если файл открыт успешно, то с него происходит считывание исходных данных, с выводом на экран.
При
выборе третьего пункта меню возможно
только после ввода исходных данных,
иначе, на экран выводится
При выборе четвертого или пятого пункта меню также возможно только после ввода исходных данных, иначе, на экран выводится соответствующее сообщение или программа производит расчет данных, либо с выводом на экран, либо в текстовый файл, с указанием имени файла.
При выборе шестого пункта меню программа строит график Microsoft Office Excel 2007.
При выборе седьмого пункта меню программа изменяет исходные данные самой формулы, с вводом новых значений.
При выборе восьмого пункта меня программа дает возможность просмотреть исходные данные формулы.
При выборе девятого пункта меня программа очищает экран.
При
выборе десятого пункта меню программа
завершает работу.
3.2
Тестирование программного модуля
Для тестового примера найдём уровень Ферми методом последовательных приближений.
На
рисунке 2 представлен результат
работы Microsoft Office Excel 2007.
Рисунок
2 – Результат работы Microsoft Office Excel
2007.
На рисунке 3 представлен результат работы программного модуля.
Рисунок 3 – Результат работы программного модуля.
На
рисунке 4 представлена работа программного
модуля, реагирующая на ошибочный ввод
исходных данных.
Рисунок
4 – Ошибочный ввод исходных данных.
На
рисунке 5 представлена работа программного
модуля, реагирующая на выбор пунктов
меню, если исходные данные не введены.
Рисунок
5 – Исходные данные не введены.
Заключение
Таким образом, в ходе выполнения курсовой работы были закреплены и усовершенствованы навыки программирования на языке С++, а также написана программа для решения поставленной задачи. Программа прошла тестирование и готова к реализации на практике.
Список использованных источников
Приложение А
Текст файла
index.cpp
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
#include <iostream>
#include "zact.h"
#include "struct.h"
#include "klav.h"
#include "restart.h"
#include "rechenie.h"
#include "formyla_red.h"
#include "formyla_zag.h"
#include "formyla_pros.h"
#include "zapis_ich.h"
#include "file.h"
#include "file_vuvod.h"
#include "excel.h"
#include "graf.h"
void main()
{
int por_nom;
SetConsoleOutputCP(1251)
zast();
formyla_zag();
while(1)
{
printf("Выберите нужное действие:\n");
printf("1.Ввод исходных данных с клавиатуры\n");
printf("2.Ввод исходных данных с файла\n");
printf("3.Добавить исходные данные в файл\n");
printf("4.Вывод данных на экран\n");
printf("5.Вывод данных в файл\n");
printf("6.Построить график в Microsoft Office Excel 2007\n");
printf("7.Редактировать данные формулы\n");
printf("8.Просмотреть данные формулы\n");
printf("9.Очистить экран\n");
printf("10.Выход\n");
printf("Ваш выбор:\n");
scanf("%d",&por_nom);
switch (por_nom)
{
case 1:
klav();
break;
case 2:
file();
break;
case 3:
zapis_ich();
break;
case 4:
rechenie();
break;
case 5: