1. ПРОФЕСИОНАЛНА ГИМНАЗИЯ ПО ТЕЛЕКОМУНИКАЦИИ
ПРОЕКТ
по Обектно-ориентирано програмиране
тема:
„Софтуерен каталог“
на ученика
Благовест Петров
от 1г клас уч. 2010/2011г.
2. График за изпълнението на проекта за времето 01.06–15.06
1. 01.06-1.06 Замисляне
2. 03.06-10.06 Написване основните компоненти на програмата
2. 10.06-12.06 Дописване на допълнителни функционалности
3. 12.06-15.06 Оптимизация на кода и документиране
3. Описание на алгоритъма
Основата на цялата програма е класът SoftwareData, която съдържа цялата информация за
всички продукти. Програмата действа като записва всички класове във файл с
последователен достъп.
Функция int main()
Безкраен цикъл за менюто. На потребителя се изписват възможностите и той записва
своя избор в променливата foo. Тя се изследва чрез конструкция switch, като се
изпълняват съответните функции на програмата, за всяка от функционалностите.
Функция void add()
Служи за добавяне на запис във файла с произволен достъп. Отваря се файла softdb като
обект от клас ofstream. Ако това е неуспешно, се извежда съобение на екрана. Програма
се отваря в режим ios::app, т.е. записва се в краяна файла. Осъществява се записа чрез
функцията write. Файлът се затваря с функцията close();
Функция void search(int what)
Това, което потребителят ще търси се записва в низа search_arg[15].
Отваря се файла softdb за четене. Изписва се колонтитул на таблицата с резултатите.
Преглеждат се всички записи във файла (цикъл for). В зависимост от аргумента (int
kakvo), search_arg се сравнява с различен член на SoftwareData. Това сe осъществява,
чрез конструкция switch. Ако what е 1, се изписват всички записи; ако е 2 – само тези на
които члена zaglavie съвпада със search_arg и тн....
Файлът се затваря
Изходен код на програмата:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
using namespace std;
class SoftwareData {
public:
char zaglavie [20];
char prednaznachenie [20];