Сведения о расходе горючего на автобазах городаРефераты >> Программирование и компьютеры >> Сведения о расходе горючего на автобазах города
Заключение
В процессе выполнения данной курсовой работы была разработана программа для решения экономической задачи «Сведения о производительности труда» на алгоритмическом языке программирования Си ++. Был разработан алгоритм решения задачи, составлены блок-схемы для отдельных функций.
В ходе самостоятельной работы был изучен язык Си++, его три основные составляющие:
- алфавит – конечное множество различимых между собой символов;
- синтаксис – совокупность правил, определяющих допустимые конструкции данного языка;
- семантика – совокупность правил определяющих смысловое содержание отдельных конструкций.
Также изучили работу с динамическими структурами данных (односвязные, двухсвязные списки, стеки очереди) на примере работы с односвязным списком. Получили навыки по работе с файлами. Освоили методы структурно-модульного программирования, разбивая программу на модули.
В процессе работы над курсовым проектом была достигнута основная цель курсового проектирования – закрепление и улучшение фундаментальных теоретических знаний в области структурно-модульного программирования и получение навыков разработки и отладки программ решения экономических задач.
Список использованной литературы
1. Харви Дейтел, Пол Дейтел. Как программировать на С++; Третье издание. Пер. с англ. – М.:ЗАО «Издательсиво БИНОМ»,2001 г. – 1153 с.
2. Методические рекомендации к лабораторным работам по курсу «Основы программирования и алгоритмические языки» для студентов специальности 7.050401 дневной формы обучения. Часть 1. / Составители: Ю.В.Перколаб, В.В.Браткевич, Л.И.Лукашева. Изд.ГГЭУ,2001 г.
3. Браткевич В.В., Лукашева Л.И.,Перколаб Ю.В., Основы программирования и алгоритмические языки (язык программирования С++). Часть 1. Конспект лекций. Харьков: Изд.ГГЭУ,2001 г.
4. Методические рекомендации к лабораторным работам по курсу «Основы программирования и алгоритмические языки» для студентов специальности 7.080401 всех форм обучения. Часть 2. / Составители: Ю.В.Перколаб, В.В.Браткевич, Л.И.Лукашева. Изд.ГГЭУ,2002. г
5. Б.Страуструп. Язык программирования С++, 3-е изд.\Пер. с англ. – СПб.; М.: «Невский диалект» – Издательство БИНОМ», 1999 г
6. Подбельский В.В. Язык С++: Учебн.пособие. – 4-е изд. – М.: Финансы и статистика, 1999, -- 560 с.
7. Фридман А.Л. Основы объектно – ориентированного программирования на языке С++.—М.: Горячая линия – Телеком, Радио и связь, 1999 г
Приложение 1
Текст программы
- головной модуль cursovoi.cpp :
#include <fstream.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>
#include <stdio.h>
#include <new.h>
#include <string.h>
#include <iomanip.h>
#include "a:\\f1.h"
#include "a:\\s1.h"
main ( )
{
cout << "KURSOVOI PROEKT\n"
<< "PO KURSU \"OP I AY\"\n"
<< "NA TEMU: Svedinia o rashode goruchego na avtobazah goroda\n"
<< "VIPOLNIL STUDENT 1 KURSA GR. 401-2\n"
<< "Suhanov \n";
cout << " \n";
pause();
do
{
clrscr();
cout << "PROGRAMMA RESHAET TAKIE ZADACHI:\n";
cout << " \n";
cout << "1)RABOTA S FAILOM\n";
cout << "2)RABOTA S ODNOSWAZNIM SPISKOM\n";
cout << "3)EXIT\n";
cout << "VACH VIBOR: ";
cin >> vibor;
clrscr();
switch (vibor)
{
case '1':
clrscr();
fail( );
break;
case '2':
clrscr();
spisok( );
break;
}
} while (vibor!='3');
/*ochistka(nach);
delete nach; */
cout << "\nKONEZ RABOTE";
return 0;
}
- заголовочный модуль f1.h :
// f1.h
struct predpr
{
char nazva[15];
float valprod;
int kolrab;
float proizv;
};
predpr ved;
char otv;
char vibor;
fstream nab;
void vvod(predpr *p);
void sozd(fstream *q);
void pech(fstream *q);
void dopolnen(fstream *q);
void korr(fstream *q);
void iskl(fstream *q);
void pause();
/////////////////////////////////////////////////////////////////////////
void fail()
{
do
{
clrscr();
cout << "Vidy RABOT S FAILOM:\n";
cout << "1)SOZDANIE FAILA\n";
cout << "2)DOPOLNENIE ZAPISEI V FAIL\n";
cout << "3)KORREKTIROVKA ZAPISEI\n";
cout << "4)UDALENIE ZAPISEI IZ FAILA\n";
cout << "5)PECHAT FAILA\n";
cout << "6)VOZVRAT V OSNOVNOE MENU\n";
cout << "Chto vi viberite?: ";
cin >> vibor;
clrscr();
switch (vibor)
{
case '1':
clrscr();
sozd(&nab);
pause();
break;
case '2':
clrscr();
dopolnen(&nab);
pause();
break;
case '3':
clrscr();
korr(&nab);
pause();
break;
case '4':
clrscr();
iskl(&nab);
pause();
break;
case '5':
clrscr();
pech(&nab);
pause();
break;
}
}
while (vibor!='6');
}
////////////////////////////////////////////////////////////////////////////
void sozd(fstream *q)
{
predpr vedread;
int kol,k=1;
char fname[8],*name;
clrscr();
cout << "VVEDITE IMYA FAILA: ";
cin >> fname;
q->open(fname, ios::out|ios::binary|ios::noreplace);
if (!*q) {
cout<<"FAIL S TAKIM IMENEN UZE EST'!\n";
cout<<"VOSPOLZUYTES DRUGOI FUNKZIEY'!\n";
return; }
do {
clrscr();
vvod(&ved);
k=1;
name=ved.nazva;
q->seekp(0, ios::end);
kol=q->tellp()/sizeof(predpr);
if (*q)
{
if (kol==0)
q->write( (char*)&ved, sizeof(ved) );
else
{q->close();
q->open(fname, ios::in|ios::binary);
for (int i=0; i<kol; i++)
{
q->read( (char*)&vedread, sizeof(vedread) );
if (strcmp(vedread.nazva,name))
k++;
}
if (k!=kol)
{
q->close();
q->open(fname, ios::app|ios::binary);
q->write( (char*)&ved, sizeof(ved) );
}
else
{
cout<<"DANNAYA ZIPIS' NE MOZET BIT SOHRANENA\n";
cout<<"Tacaia familia uje sozdana\n";
}
}
}
cout << "PRODOLZIT VVOD?(Y/N) ";
cin >> otv;
}
while ((otv!='N')&&(otv!='n'));
q->close();
}
////////////////////////////////////////////////////////////////////////////
void vvod(predpr *p)
{
char name[15] ;
cout<<"\nVVEDITE Avtobazu\n";
cout << "Avtobaza (NE BOLEE 15 SIMVOLOV) - ";