Программа "Словарь" (телефонный справочник)

 

Техническое задание на разработку программы


Словарь - это индексируемая структура данных, доступ к элементам которой выполняется только по индексу (ключу). Элемент словаря состоит из ключа и связанного с ключом значения. Пример словаря: русско-английский словарь, элементы которого содержат слово на русском языке (ключ) и перевод слова на английский язык, например, {[список], list}. Для хранения словаря в оперативной памяти использовать динамический массив.

Операции словаря:

создание пустого словаря;

добавление элемента в словарь;

исключение элемента из словаря;

поиск элемента словаря по ключу;

изменение значения элемента;

вывод словаря в порядке возрастания ключей.


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


.Общие сведения

Программа «Словарь» (телефонный справочник)

Для запуска необходима программа C++ Builder 6 или более новая.

.1 Язык программирования C++.

. Функциональное назначение программы

В программе предусмотрено считывание словаря в начале работы программы из текстового файла и запись словаря в файл перед завершением работы программы. Элементом словаря является абонент телефонной сети (номер телефона, ФИО, паспортные данные). Поле «номер телефона» является ключом. ФИО и паспортные данные являются значением элемента словаря.

. Описание логической структуры программы

Структура Contact включает в себя строки, содержащие данные пользователей.

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

Для запуска программы требуется ЭВМ с процессором архитектуры x86 в стандартном окружении.

. Вызов программы

Программа запускается с помощью C++ Builder.

.Входные данные

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

.Выходные данные

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

Литература


1) Страуструп Бьерн. «Программирование: принципы и практика использования C++, исправленное издание». Москва, Издательство: «Бином», 2011. -1136 с.

) Андреева Л.П. «Программирование для ЭВМ. Указания для выполнения лабораторных работ»,Москва, МИРЭА, 2012 - 16 с.

) Савич У., «Программирование на С++ во всей полноте»,Санкт-Петербург, издательство «Питер», 2005, - 784 с.

) Дейтл Х.М., Дейтл П.Дж. Как программировать на С. - Москва, «Бином», 2004, - 799 с.

программа словарь файл абонент


Приложения


Текст программы

Демонстрационная работа к программе "Словарь".

Задача: В демонстрационной программе предусмотреть считывание словаря в начале работы программы из текстового файла и запись словаря в файл перед завершением работы программы. Элементом словаря является абонент телефонной сети (номер телефона, ФИО, паспортные данные). Поле «номер телефона» является ключом. ФИО и паспортные данные являются значением элемента словаря.


*/

#include <iostream>

#include <fstream>

#include <string>namespace std;rus(char s[]);Contact {number, name, pass;

};contactList[10000];rec_num = 0;num_entries;ReadFile () {input("PhoneData.txt");(!input.eof() && !input.fail()){>> contactList[rec_num].number

>> contactList[rec_num].name;[rec_num].pass;_num++;

}<< rus("Книга прочтена.") << endl;_entries = rec_num;.close();;

}StoreFile () {F("PhoneData.txt");_num = 0;(rec_num < num_entries){<< contactList[rec_num].number << " "

<< contactList[rec_num].name << " "

<< contactList[rec_num].pass << " " << endl;

rec_num++;

}<< rus("Телефонная книга сохранена") << endl;

return;

}add_name(string number, string name, string pass){[num_entries].number = number;[num_entries].name = name;[num_entries].pass = pass;_entries++;;

}retrieve_number(string number){(int i = 0; i < num_entries; i++) {<< rus("Телефонный номер: ")<<contactList[i].number << endl<<("Имя: ") << contactList[i].name << endl

<< rus("Паспорт: ") << contactList[i].pass << endl;; }<< rus("Номер не найден") << endl;;

}sortList() {i;temp;(int j=0; j < num_entries; j++) {(i = j+1; i < num_entries; i++) {

//Поменять номера местами, если не в порядке возрастания

temp = contactList[j];[j] = contactList[i];[i] = temp;

} }<< rus("Список отсортирован. Нажмите l для промотра всех контактов.");

}listAllContacts() {i = 0;(i < num_entries) {<< "-- " << contactList[i].name << " "

<< contactList[i].number << endl

<< "-- " << contactList[i].pass << endl << endl;++;

} }del_number(string number, int rec_num = 0){i=0;[rec_num] = contactList[rec_num+1];;}remake (string number, string name, string pass){i=0;<<rus("новые значения: ");>>number>>pass;;}main(){name, number, pass;FileName;command;= "PhoneData.txt";();<< rus("Используйте:")<<endl

<<rus("e - ввод данных,")<<endl

<<rus("f - поиск по ключу,")<<endl

<<rus("s - сортировка списка,")<<endl

<<rus("l - вывод всех контактов,")<<endl

<<rus("q - выход из программы,")<<endl

<<rus("d - удалить контакт,")<<endl

<<rus("r - изменить данные.")<<endl

<<rus("Команда: ");>> command;(command != 'q'){(command){'e': cout << rus("Введите телефонный номер: "); cin >> number;<< rus("Введите ФИО: "); cin.ignore(); getline(cin, name);

cout << rus("Введите номер паспорта: ");

cin>>pass;_name(number, name, pass); break;

case 'f': cout<<rus("введите номер телефона из тел. книги: ");

cin >> number; retrieve_number(number); break;'s': sortList(); break;'l': listAllContacts(); break;

case 'd': cout<<rus("введите номер телефона из тел. книги: "); cin>> number;

del_number(number); break;'r': cout<<rus("введите номер телефона из тел. книги: ");>> number; remake(number, name, pass); break;

}<< rus("Команда: "); cin >> command;

}();<< rus("Готово!");0;

}

// перевод кодировки Windows в Dosrus(char s[])

{t;=s;i=0;(s[i]!=0)

{(s[i]>='А'&& s[i]<='п' ) t[i]-=64;(s[i]>='р'&& s[i]<='я' ) t[i]-=16;(s[i]=='Ё' ) t[i]=240;(s[i]=='ё' ) t[i]=241;++;

}t;

}


Техническое задание на разработку программы Словарь - это индексируемая структура данных, доступ к элементам которой выполняется только по индексу (ключу

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ