Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Проверка работоспособности программыСодержание книги
Поиск на нашем сайте
5 Руководство оператора В данной программе реализованы следующие возможности: - отчет о продаже растений; - список имеющихся растений; - список имеющихся семян; - список имеющихся семян; - сообщение о характеристиках выбранных растений; - сообщение о технологии посадки выбранных растений; - указания по выращиванию выбранных растений; - дата выведения сорта выбранного растения; - цена выбранного растения; - морозоустойчиво ли выбранное растение;
Для выбора нужной функции необходимо следовать подсказкам главного и побочных меню. Например, если нам надо добавить покупку, то необходимо зайти в программу, затем ввести клавишу «1» и нажать клавишу «Enter». У нас на экране появится сообщение о необходимости ввести название файла, который мы хотим занести в вектор (например, buy.txt). Нажимаем «Enter» и возвращаемся в основное меню. В программе можно работать, опираясь на ее подсказки. При запуске программы вызывается функция glav_meny() и происходит загрузка информации из файлов (buy.txt, rastenie.txt, sort.txt) в вектора(buy, rastenie, sort). И у нас на экране появляется главное меню программы:
(Главное меню программы)
Далее у пользователя программы появляется возможность выбора любого из возможных пунктов меню. При выборе 1 пункта главного меню, появляется возможность внести из любого файла в вектор buy.
(Функция 1 - Добавление файла в вектор)
Аналогичным образом ведут себя Функции 5 и 9. За исключением того, что при нажатии Функции 5 мы записываем в вектор rastenie, а при нажатии Функции 9 в вектор sort. После чего мы возвращаемся в главное меню.
(Функция 2 – Запись из вектора в файл)
Аналогичным образом ведут себя Функции 6 и 10. За исключением того, что при нажатии Функции 6, мы записываем из вектора rastenie в файл rastenie.txt, а при нажатии Функции 10 из вектора sort в файл sort.txt. После чего мы возвращаемся в главное меню.
(Функция 3 – Вывод на экран содержимого вектора)
При выборе 4 пункта главного меню вызывается функция Записи в вектор buy с новым содержимым: Вводим новую покупку. После чего появляется подменю с тремя функциями. 1. Ввести новое растение 2. Выбрать растение из списка имеющихся. 0. Вернуться в главное меню
При выборе 1 пункта подменю программа выводится ___________просьба ввести новое __________растение. ________При выборе 2 ____________пункта подменю программа выводится просьба ввести номер имеющегося растения (нумерация начинается с нуля). При выборе 0 пункта подменю программа возвращает нас в главное меню. При выборе 8 пункта главного меню вызывается функция Записи в вектор rastenie с новым содержимым:
Аналогичным образом ведет себя Функции 12. За исключением того, что при нажатии Функции 12, мы вводим новый сорт.
При выборе 0 пункта главного меню программа заканчивает свою работу. Заключение В ходе данного курсового проекта я получила основные знания и некоторые навыки в составлении алгоритмов и написании программ на языке программирования C++. В этой работе было выполнено техническое задание на языке программирования C++. Я проверила приобретенные навыки и умения самостоятельного составления программ на языке программирования C++ для выполнения программного обеспечения института селекции растений. Я считаю, что язык программирования C++ - это простое, достаточно удобное и мощное средство разработки самых разных приложений – от создания простых программ, предназначенных для решения несложных вычислительных задач, до разработки сложнейших реляционных систем управления базами данных - обладающее весьма широким спектром возможностей.
Список литературы: 1. Лекции по курсу Программирование на ЯВУ С++ 2. Методические указания к выполнению курсовой работы по дисциплине “Программирование на языке высокого уровня” для студентов второго курса специальности 071900 ”Информационные системы в технике”, — М.: Редакционно-издательский отдел РГАСХМ, 2004. 3. Павловская Т.А., С++ Практикум, — М.: Питер, 2002. 4. Технология разработки программного обеспечения: Учебник /С.Орлов — СПб.: Питер, 2002. 5. Халперн П. Стандартная библиотека C++ на примерах. — М.: Издательский дом “Вильямс”, 2001.
Приложение 1. Техническое задание 1. ВВЕДЕНИЕ Наименование — прикладное программное обеспечение деятельности института селекции растений. Краткая характеристика — прикладное программное обеспечение института селекции растений с информационной базой об имеющихся растениях. 2. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ Учебный план специальности 230201 и задание преподавателя для выполнения курсовой работы. 3. НАЗНАЧЕНИЕ РАЗРАБОТКИ Прикладное программное обеспечение деятельности института селекции растений предназначено для сбора и хранения информации о различных сортах семян имеющихся в институте. 4.ТРЕБОВАНИЯ К ПРОГРАММЕ 4.1. Требования к функциональным характеристикам 4.1.1. Программное обеспечение должно обеспечить ввод информации о: - покупках: - номер покупки растения - цену покупки растения - отдел покупки растения -растениях: - название растения - тип растения - срок хранения семян - технологии посадки - сортах: - названия сорта - характеристика сорта - морозоустойчивость - дата выведения сорта 4.1.1. По требованию пользователя система должна обеспечить хранение информации о: - покупках: - номер покупки растения - цену покупки растения - отдел покупки растения -растениях: - название растения - тип растения - срок хранения семян - технологии посадки - сортах: - названия сорта - характеристика сорта - морозоустойчивость - дата выведения сорта 4.1.2. По требованию пользователя система должна обеспечить выдачу: - отчет о продаже растений; - список имеющихся растений; - список имеющихся семян; - список имеющихся семян; - сообщение о характеристиках выбранных растений; - сообщение о технологии посадки выбранных растений; - указания по выращиванию выбранных растений; - дата выведения сорта выбранного растения; - цена выбранного растения; - морозоустойчиво ли выбранное растение; 4.1.3. Программное обеспечение должно работать в консольном режиме и поддерживать работу с клавиатуры. 4.1.4. Собранная информация может быть сохранена на внешнем носителе в выходном файле автоматически и по требованию пользователя. 4.1.5. Структура выходного файла должна быть разработана с учетом сохранения всех первичных параметров и моментов их изменений. 4.1.6. Программное обеспечение при запуске может использовать в качестве входной информации файл с ранее записанными данными. 4.1.7. Системное время и дата поддерживаются встроенными часами. 4.2. Требования к надежности 4.2.1. Программа должна обрабатывать ошибочные действия пользователя и сообщать ему об этом. 4.2.2. Программа должна учитывать отсутствие данных за требуемый период в связи с возникшим сбоем. 4.3. Условия эксплуатации 4.3.1. Температура окружающего воздуха должна находится в пределах от 10 до 30 градусов по Цельсию. 4.3.2. Относительная влажность воздуха должна находиться в пределах 30-60%. 4.3.3. Данным программным обеспечение может управлять любой квалифицированный сотрудник. 4.4. Требования к составу и параметрам технических средств 4.4.1. Программное обеспечение разрабатывается для персонального компьютера IBM PC с процессором не ниже Pentium-120 со следующими характеристиками: - объем ОЗУ не менее 16 Mb; - графический адаптер SVGA; - манипулятор типа "мышь". 4.4.2. ЭВМ должна работать под управлением операционной системы не ниже WINDOWS 98. 4.5. Требования к информационной и программной совместимости 4.5.1. Требование информационной совместимости должно быть обеспечено работой с файлами сбора информации о мониторинге определенной структуры в качестве входной и выходной информации. 5. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ Программная документация должна содержать пояснительную записку к курсовой работе и графическую часть. 6. ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ В результате внедрения разработанного ПО предполагается увеличить информационность института. 7. СТАДИИ И ЭТАПЫ РАЗРАБОТКИ 7.1. Стадия аналитической разработки: - ознакомление с теоретическим материалом; - аналитическая обработка теоретической информации. - объектно-ориентированный анализ; - разработка диаграммы объектов; - разработка диаграммы последовательности; - объектно-ориентированное проектирование; - разработка диаграммы классов. 7.2. Стадия программной разработки: - разработка классов и отдельных модулей программы; - отладка полученных классов и модулей; - объединение структур и формирование единой программы; - тестирование и получение результатов работы программы. 7.3. Стадия аналитического анализа: - анализ данных, полученных в результате работы программы; - выработка рекомендаций по увеличению эффективности использования объекта моделирования. 8. ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ 8.1. При сдаче работы производится демонстрация разработанной программы на контрольном примере. 8.2. Копии всех документов включают: - исходный текст программы; - загрузочные модули (скомпилированная программа и файлы с входными данными); - текстовую и графическую документацию. Копии передаются на магнитном носителе преподавателю не позднее, чем за 3 дня до защиты.
Приложение 2. Листинг программы CBuy.h #include <fstream> #include <vector> #include "CRastenie.h"
class CBuy { private: int Number; int Sum; char * Otdel; std::vector <CRastenie *> vr; public: int get_Number(void); void set_Number(int ANumber); int get_Sum(void); void set_Sum(int ASum); char * get_Otdel(void); void set_Otdel(char * AOtdel);
CBuy(); CBuy(CBuy & As); CBuy(int ANumber,int ASum,char * AOtdel); ~CBuy (); void Read(); void Write(); void ReadF(std::ifstream &f); void WriteF(std::ofstream &f); void WriteV(); void WriteFV(std::ofstream &f); void ReadFV(std::ifstream &f); void AddRastenieInBuy(CRastenie * r); int CountRastenieInBuy (); };
CRastenie.h #ifndef __CRastenie__ #define __CRastenie__ #include <fstream> class CRastenie { private: char Name [30]; char Tip [50]; char Tehnologi [120]; public: char * get_Name(void); void set_Name(char * AName); char * get_Tip(void); void set_Tip(char * ATip); char * get_Tehnologi(void); void set_Tehnologi(char * ATehnologi); CRastenie(); CRastenie(CRastenie & As); CRastenie(char * AName,char * ATip,char * ATehnologi); void Read(); void Write(); void ReadF(std::ifstream &f); void WriteF(std::ofstream &f); }; #endif
CSort.h #include <fstream> #include "CRastenie.h"
class CSort:public CRastenie { private: char NameSort[50]; char Description[300]; char Frost[3]; int Year; public: char * get_NameSort(void); void set_NameSort(char * AnewNameSort); char * get_Description(void); void set_Description(char * AnewDescription); char * get_Frost(void); void set_Frost(char * AnewFrost); int get_Year(void); void set_Year(int AnewYear); CSort(); CSort(char * AName,char * ATip,char * ATehnologi,char * ANameSort,char * ADescription,char * AFrost,int AYear); ~CSort(); void Write(); void Read(); void WriteF(std::ofstream & f); void ReadF(std::ifstream & f); }; B.cpp #include "stdafx.h" #include <string.h> #include "CBuy.h" #include <iostream.h>
extern std::vector <CBuy *> v; extern std::vector <CRastenie *> w;
int CBuy::get_Number(void) { return Number;} void CBuy::set_Number(int ANumber) { Number = ANumber;} int CBuy::get_Sum(void) { return Sum;} void CBuy::set_Sum(int ASum) { Sum = ASum;} char * CBuy::get_Otdel(void) { return Otdel;} CBuy::CBuy() { Number = 10; Sum = 370; Otdel= new char [8]; strcpy(Otdel,"Flowers"); }
CBuy::CBuy(CBuy & As) { Number = As.Number; Sum = As.Sum; Otdel= new char [strlen(As.Otdel)+1]; strcpy(Otdel, As.Otdel); } CBuy::CBuy(int ANumber, int ASum, char * AOtdel) { Number = ANumber; Sum = ASum; Otdel= new char [strlen(AOtdel)+1]; strcpy(Otdel, AOtdel); }
CBuy::~CBuy() { delete [ ] Otdel; } void CBuy::set_Otdel(char * AOtdel) { if (Otdel!=0) delete[] Otdel; Otdel = new char[strlen(AOtdel)+1]; strcpy(Otdel, AOtdel); }
void CBuy::Read(void) { cout << "vvedite informazhiy o pokupke" << endl; cout << "vvedite Number" << endl; cin >> Number; cout << "vvedite Sum" << endl; cin >> Sum; cout << "vvedite Otdel" << endl; char s[1000]; cin >> s; Otdel = new char [strlen(s)+1]; strcpy(Otdel, s); int i; int command = 4; CRastenie * Temp100; while (command!= 0) { cout << "Please enter operation..." << endl; cout << "1. Add new Rastenie in Buy" << endl; cout << "2. Add Rastenie in Buy" << endl; cout << "0. Exit from this menu" << endl; cin >> command; if (command==1) { Temp100=new CRastenie(); Temp100->Read(); w.push_back(Temp100); AddRastenieInBuy(Temp100); } else if (command==2) { cout << "Vvedite nomer rastenija v glob-spiske"; cin >> i; AddRastenieInBuy (w[i]); } else {cout << "Invalid command" << endl; } } }
void CBuy::ReadF(std::ifstream &f) { char s[1000]; f >> Number >> Sum >> s; Otdel= new char [strlen(s)+1]; strcpy(Otdel, s); ReadFV(f); } void CBuy::Write(void) { cout << "informazhiy o pokupke" << endl; cout << "Number: " << Number <<endl; cout << "Sum: " << Sum << endl; cout << "Otdel: " << Otdel << endl; }
void CBuy::WriteF(std::ofstream &f) { f << Number << std::endl << Sum << std::endl << Otdel << std::endl; WriteFV(f); }
void CBuy::AddRastenieInBuy(CRastenie * r) { vr.push_back(r); } void CBuy::WriteV() {cout << "Kolichestvo rasteni: " << CountRastenieInBuy() << endl; for(int i =0; i< CountRastenieInBuy(); i++) {vr[i]->Write(); } } void CBuy::WriteFV(std::ofstream &f) { f << CountRastenieInBuy () << std::endl; for(int i =0; i< CountRastenieInBuy (); i++) {for(int n = 0; n<w.size(); n++) { if(w[n] == vr[i]) break; } f << n << std::endl; } } void CBuy::ReadFV(std::ifstream & f) { int N2, n2; f >> N2; for(int i = 0; i < N2; i++) { f >> n2; vr.push_back(w[n2]); } } int CBuy::CountRastenieInBuy () { return vr.size(); } Cr.cpp #include "stdafx.h" #include <string.h> #include "CBuy.h" #include <iostream.h>
char * CRastenie::get_Name (void) { return Name;} void CRastenie::set_Name (char * AName) { strcpy (Name,AName);} char * CRastenie::get_Tip (void) { return Tip;} void CRastenie::set_Tip (char * ATip) { strcpy(Tip,ATip);} char * CRastenie::get_Tehnologi(void) { return Tehnologi;} void CRastenie::set_Tehnologi (char * ATehnologi) { strcpy (Tehnologi,ATehnologi);}
CRastenie::CRastenie() { strcpy(Name,"Tomato"); strcpy(Tip,"Seeds"); strcpy(Tehnologi,"To_plant_in_the_earth_and_to_water"); } CRastenie::CRastenie(CRastenie & As) { strcpy(Name, As.Name); strcpy(Tip, As.Tip); strcpy(Tehnologi, As.Tehnologi); } CRastenie::CRastenie(char * AName,char * ATip,char * ATehnologi) { strcpy(Name,AName); strcpy(Tip,ATip); strcpy(Tehnologi,ATehnologi); }
void CRastenie::Read(void) { cout << "vvedite informazhiy o rastenie" << endl; cout << "vvedite Name" << endl; cin >> Name; cout << "vvedite Tip" << endl; cin >> Tip; cout << "vvedite Tehnologi" << endl; cin >> Tehnologi; } void CRastenie::ReadF(std::ifstream &f) { f >> Name >> Tip >> Tehnologi; } void CRastenie::Write(void) { cout << "informazhiy o rastenie" << endl; cout << "Name: " << Name <<endl; cout << "Tip: " << Tip << endl; cout << "Tehnologi: " << Tehnologi << endl; } void CRastenie::WriteF(std::ofstream &f) { f << Name << std::endl << Tip << std::endl << Tehnologi << std::endl; }
S.cpp #include "stdafx.h" #include <string.h> #include "CSort.h" #include "CRastenie.h" #include <iostream.h>
char * CSort::get_NameSort(void) { return NameSort;} void CSort::set_NameSort(char * ANameSort) { strcpy(NameSort,ANameSort);} char * CSort::get_Description(void) { return Description;} void CSort::set_Description(char * ADescription) { strcpy(Description,ADescription);} char * CSort::get_Frost(void) { return Frost;} void CSort::set_Frost(char * AFrost) { strcpy(Frost,AFrost);} int CSort::get_Year(void) { return Year;} void CSort::set_Year(int AYear) { Year = AYear;}
CSort::CSort():CRastenie() { strcpy(NameSort,"Kivi"); strcpy(Description,"Leaves_roundish,with_slightly_pointed_top,dark_green_colour,with_a_glossy_surface_and_the_rough_bottom_party.Fruits_large,weight_from_80_to_150,the_oval_form."); strcpy(Frost,"yes"); Year = 2011; }
CSort::CSort(char * AName,char * ATip,char * ATehnologi,char * ANameSort,char * ADescription,char * AFrost,int AYear):CRastenie(AName,ATip,ATehnologi) { strcpy(NameSort,ANameSort); strcpy(Description,ADescription); strcpy(Frost,AFrost); Year = AYear; }
CSort::~CSort() { }
void CSort::Read(void) { CRastenie::Read(); cout << "vvedite informazhiy o sorte" << endl; cout << "vvedite NameSort" << endl; cin >> NameSort; cout << "vvedite Description" << endl; cin >> Description; cout << "vvedite Frost" << endl; cin >> Frost; cout << "vvedite Year"<< endl; cin >> Year; }
void CSort::ReadF(std::ifstream & f) { CRastenie::ReadF(f); f >> NameSort >> Description >> Frost >> Year; } void CSort::Write(void) { cout << endl; CRastenie::Write(); cout << "informazhiy o sorte" << endl; cout << "NameSort: " << NameSort << endl; cout << "Description: " << Description << endl; cout << "Frost: " << Frost << endl; cout << "Year: "<< Year << endl; } void CSort::WriteF(std::ofstream & f) { CRastenie::WriteF(f); f << NameSort << std::endl << Description << std::endl << Frost << std::endl << Year << std::endl; } Buy.cpp #include "stdafx.h" #include <string.h> #include "CBuy.h" #include "CRastenie.h" #include "CSort.h" #include <iostream.h> #include <fstream> #include <vector>
void ReadFAllCBuy(char * fn, std::vector <CBuy *> & v) { std::ifstream f(fn); int N; f>>N; CBuy *b; for(int i=0; i<N; i++) { b = new CBuy(); b->ReadF(f); v.push_back(b); } f.close(); } void WriteFAllCBuy(char * fn, std::vector <CBuy *> v) { std::ofstream f(fn); f<<v.size()<< std::endl; for(int i=0; i<v.size(); i++) { v[i]->WriteF(f); } f.close(); } void WriteAllCBuy(std::vector <CBuy *> v) { cout<<"kolich buy =" <<v.size()<< endl; for(int i=0; i<v.size(); i++) { v[i]->Write(); } } void ReadFAllCRastenie(char * fn, std::vector < CRastenie *> & w) { std::ifstream f(fn); int N; f>>N; CRastenie *m; for(int i=0; i<N; i++) { m = new CRastenie(); m->ReadF(f); w.push_back(m); } f.close(); } void WriteFAllCRastenie(char * fn, std::vector < CRastenie *> w) { std::ofstream f(fn); f<<w.size()<< std::endl; for(int i=0; i<w.size(); i++) { w[i]->WriteF(f); } f.close(); } void WriteAllCRastenie(std::vector <CRastenie *> w) { cout<<"kolich rasteni =" <<w.size()<< endl; for(int i=0; i<w.size(); i++) { w[i]->Write(); } } void ReadFAllCSort(char * fn, std::vector <CSort *> & vs) { std::ifstream f(fn); int N; f>>N; CSort *o; for(int i=0; i<N; i++) { o = new CSort(); o->ReadF(f); vs.push_back(o); } f.close(); } void WriteFAllCSort(char * fn, std::vector <CSort *> vs) { std::ofstream f(fn); f<<vs.size()<< std::endl; for(int i=0; i<vs.size(); i++) { vs[i]->WriteF(f); } f.close(); } void WriteAllCSort(std::vector <CSort *> vs) { cout<<"kolich sort =" <<vs.size()<< endl; for(int i=0; i<vs.size(); i++) { vs[i]->Write(); } } std::vector <CBuy *> v; std::vector <CRastenie *> w; std::vector <CSort *> vs;
void main(void) { ReadFAllCBuy ("buy.txt", v); ReadFAllCRastenie ("rastenie.txt", w); ReadFAllCSort ("sort.txt", vs); char fn[600]; int kod; do{ cout << "1. Buy File -> vector" << endl; cout << "2. Buy vector -> File" << endl; cout << "3. Buy vector -> Display" << endl; cout << "4. Add Buy to vector" << endl; cout << "5. Rastenie File -> vector" << endl; cout << "6. Rastenie vector -> File" << endl; cout << "7. Rastenie vector -> Display" << endl; cout << "8. Add Rastenie to vector" << endl; cout << "9. Sort File -> vector" << endl; cout << "10.Sort vector -> File" << endl; cout << "11.Sort vector -> Display" << endl; cout << "12.Add Sort to vector" << endl; cout << "0. Exit" << endl; cout << "Select: 1-12 or 0." << endl; cin >> kod; switch (kod) { case 1: cout << "Input File name: " << endl; cin >> fn; ReadFAllCBuy(fn, v); break; case 2: cout << "Input File name: " << endl; cin >> fn; WriteFAllCBuy(fn, v); break; case 3: WriteAllCBuy(v); break; case 4: CBuy * b; b=new CBuy; b->Read(); v.push_back(b); break; case 5: cout << endl; cout << "Input File name: " << endl; cin >> fn; ReadFAllCRastenie(fn, w); break; case 6: cout << endl; cout << "Input File name: " << endl; cin >> fn; WriteFAllCRastenie(fn, w); break; case 7: WriteAllCRastenie(w); break; case 8: CRastenie *a; a=new CRastenie; a->Read(); w.push_back(a); break; case 9: cout << "Input File name: " << endl; cin >> fn; ReadFAllCSort(fn, vs); break; case 10: cout << "Input File name: " << endl; cin >> fn; WriteFAllCSort(fn, vs); break; case 11: WriteAllCSort(vs); break; case 12: CSort * o; o=new CSort; o->Read(); vs.push_back(o); break; } } while (kod > 0); cout << "GOOD BYE"<< endl; }
|
||
|
Последнее изменение этой страницы: 2017-02-22; просмотров: 318; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.) |