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

Разработка программы на языке программирования C++ с функциями считывания словаря в начале работы программы из текстового файла и записи словаря в файл перед завершением работы. Основные элементы программного продукта: данные абонента телефонной сети.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 07.04.2015
Размер файла 12,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Литература

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

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

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

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

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

Приложения

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

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

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

*/

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

string rus(char s[]);

struct Contact {

string number, name, pass;

};

Contact contactList[10000];

int rec_num = 0;

int num_entries;

void ReadFile () {

fstream input("PhoneData.txt");

while (!input.eof() && !input.fail()){

input >> contactList[rec_num].number

>> contactList[rec_num].name;

contactList[rec_num].pass;

rec_num++;

}

cout << rus("Книга прочтена.") << endl;

num_entries = rec_num;

input.close();

return;

}

void StoreFile () {

ofstream F("PhoneData.txt");

rec_num = 0;

while (rec_num < num_entries){

F << contactList[rec_num].number << " "

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

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

rec_num++;

}

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

return;

}

void add_name(string number, string name, string pass){

contactList[num_entries].number = number;

contactList[num_entries].name = name;

contactList[num_entries].pass = pass;

num_entries++;

return;

}

void retrieve_number(string number){

for (int i = 0; i < num_entries; i++) {

cout << rus("Телефонный номер: ")<<contactList[i].number << endl<<

rus("Имя: ") << contactList[i].name << endl

<< rus("Паспорт: ") << contactList[i].pass << endl;

return; }

cout << rus("Номер не найден") << endl;

return;

}

void sortList() {

int i;

Contact temp;

for(int j=0; j < num_entries; j++) {

for(i = j+1; i < num_entries; i++) {

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

temp = contactList[j];

contactList[j] = contactList[i];

contactList[i] = temp;

} }

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

}

void listAllContacts() {

int i = 0;

while (i < num_entries) {

cout << "-- " << contactList[i].name << " "

<< contactList[i].number << endl

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

i++;

} }

void del_number(string number, int rec_num = 0){

int i=0;

contactList[rec_num] = contactList[rec_num+1];

return;}

void remake (string number, string name, string pass){

int i=0;

cout<<rus("новые значения: ");

cin>>number>>pass;

return;}

int main(){

string name, number, pass;

string FileName;

char command;

FileName = "PhoneData.txt";

ReadFile ();

cout << rus("Используйте:")<<endl

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

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

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

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

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

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

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

<<rus("Команда: ");

cin >> command;

while (command != 'q'){

switch (command){

case 'e': cout << rus("Введите телефонный номер: "); cin >> number;

cout << rus("Введите ФИО: "); cin.ignore(); getline(cin, name);

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

cin>>pass;

add_name(number, name, pass); break;

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

cin >> number; retrieve_number(number); break;

case 's': sortList(); break;

case 'l': listAllContacts(); break;

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

del_number(number); break;

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

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

}

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

}

StoreFile();

cout << rus("Готово!");

return 0;

}

// перевод кодировки Windows в Dos

string rus(char s[])

{

string t;

t=s;

int i=0;

while (s[i]!=0)

{

if(s[i]>='А'&& s[i]<='п' ) t[i]-=64;

if(s[i]>='р'&& s[i]<='я' ) t[i]-=16;

if(s[i]=='Ё' ) t[i]=240;

if(s[i]=='ё' ) t[i]=241;

i++;

}

return t;

}

Размещено на Allbest.ru


Подобные документы

  • Создание программы "Телефонный справочник": загрузка телефонной книги; разработка алгоритмов добавления, редактирования, удаления записи; поиск по различным параметрам, вывод данных на печать. Интерфейс пользователя, системные требования и ограничения.

    курсовая работа [1,5 M], добавлен 24.09.2012

  • Характеристика работы Алтайского филиала телекоммуникаций "Сибирьтелеком". Разработка программы для автоматизации работы телефонного справочника. Основные функции программного продукта: хранение, обработка, ввод и редактирование информации об абонентах.

    дипломная работа [6,0 M], добавлен 07.06.2012

  • Разработка программного обеспечения для работы с информацией и ее обработкой на языке программирования Delphi. Описание алгоритмов процедуры работы со стеком - добавление, удаление элементов, редактирование записи. Инструкция по использованию программы.

    курсовая работа [2,9 M], добавлен 06.02.2013

  • Использование электронно-вычислительной техники для сбора, накопления, обработки и передачи информации. Разработка программы "Телефонный справочник" на Паскале: ввод и редактирование теста программы, трансляция и отладка. Блок-схема, листинг программы.

    контрольная работа [61,2 K], добавлен 26.06.2010

  • Теоретические основы разработки программного обеспечения. Рассмотрение языков и среды программирования. Разработка программного продукта "Справочник стран мира и городов"; описание интерфейса. Составление терминологического словаря, диаграммы модуля.

    курсовая работа [1,5 M], добавлен 09.08.2015

  • Разработка компьютерной программы - автоматического телефонного спавочника. Описание алгоритма программы. Описание последовательности действия при составлении и редактировании базы данных. Основные операторы и группы операторов. Анализ программы.

    курсовая работа [21,7 K], добавлен 29.10.2008

  • Основы проверки и расчета входных данных и вывода выходных данных программы, их блок-схемы. Реализация функции считывания числовых данных из файла, управление (создание, уничтожение и редактирование) визуальными компонентами во время выполнения программы.

    контрольная работа [1,3 M], добавлен 12.06.2009

  • Создание программного продукта на языке Pascal в визуальной среде программирования Borland Developer Studio в консольном приложении. Разработка типизированного файла для записи данных и их вывод на экран, добавление данных в конец файла, поиск информации.

    курсовая работа [1,0 M], добавлен 04.12.2011

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

    дипломная работа [2,8 M], добавлен 21.07.2013

  • Разработка программы, выводящей на экран механизм с возможностью изменения масштаба, скорости вращения звена, сохранения и считывания входных данных из файла в среде разработки MS Visual C#. Блок-схема ее работы. Принцип работы движущихся элементов.

    курсовая работа [860,6 K], добавлен 27.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.