0 / 0 / 0
Регистрация: 29.10.2019
Сообщений: 3
1

База данных "Контакты"

28.11.2019, 23:11. Показов 1016. Ответов 3

Реализовать записную книжку с поиском по телефону и по номеру. Данные необходимо загружать из текстового файла.
Использовать контейнер map.
Подскажите, пожалуйста, как реализовать?
Уже есть наброски и смотрела на сайтах, но всё равно как-то не работает программа.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2019, 23:11
Ответы с готовыми решениями:

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата"
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в...

База данных "Телеателье": создать систему управления базой данных (СУБД)
Задача: Создать систему управления базой данных (СУБД) в которой предусмотреть следующие режимы:...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло",...

База данных с++ "Добыча угля" (Отчет по практике)
Доброго времени суток! Люди помогите создать базу данных по добыче угля,производственная практика...

3
1157 / 820 / 357
Регистрация: 26.02.2015
Сообщений: 3,700
29.11.2019, 01:43 2
Цитата Сообщение от Aisatsana1152 Посмотреть сообщение
есть наброски
Давай наброски.
0
0 / 0 / 0
Регистрация: 29.10.2019
Сообщений: 3
02.12.2019, 00:38  [ТС] 3
Вот наброски
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
#include <map>
#include <fstream>
#include <string>
 
int main() {
    int flag = 1, i = 1;
    std::string name;
    unsigned int number;
    FILE* Notebook;
    FILE* Contacts;
    std::map<int, std::string> Contact;
    std::map<int, std::string>::iterator ii;
    while (flag != 0)
    {
        std::cout << "1. Read from file" << std::endl;
        std::cout << "2. Get contacts" << std::endl;
        std::cout << "3. Search on name" << std::endl;
        std::cout << "4. Search on number" << std::endl;
        std::cout << "5. Add contact" << std::endl;
        std::cout << "6. Delete contact" << std::endl;
        std::cout << "0. Finish the program" << std::endl;
        std::cout << "Input the correct command: " << std::endl;
        std::cin >> flag;
        switch (flag) {
        case(1): {
            std::fstream Contacts("Contacts.txt");
            while (Contacts.good()) {
                Contacts >> name;
                Contacts >> number;
                Contact.insert(std::pair<int, std::string>(number, name));
                i++;
            }
            std::cout << "Contacts was read." << std::endl;
            break;
        }
        case(2): {
            for (std::map<int, std::string>::iterator ii = Contact.begin(); ii != Contact.end(); ii++) {
                std::cout << (*ii).first << "\n" << (*ii).second << std::endl;
            }
            break;
        }
        case(3): {
            std::cout << "Input the name to find: " << std::endl;
            std::cin >> name;
            std::map<int, std::string>::iterator ii = Contact.find(name);
            if (ii != Contact.end()) {
                std::cout << "Number for name " << name << " is " << ii->second << std::endl;
            }
            else {
                std::cout << "Name not found!" << std::endl;
            }
            break;
        }
        case(4): {
            std::cout << "Input the number to find: " << std::endl;
            std::cin >> number;
            std::map<int, std::string>::iterator ii = Contact.find(number);
            if (ii != Contact.end()) {
                std::cout << "Name of number " << number << " is " << ii->second << std::endl;
            }
            else {
                std::cout << "Name not found!" << std::endl;
            }
            break;
        }
        case(5): {
            std::cout << "Input the name to add: " << std::endl;
            std::cin >> name;
            std::cout << "Input the number to add: " << std::endl;
            std::cin >> number;
            Contact.insert(std::pair<int, std::string>(number, name));
            break;
        }
        case(6): {
            std::cout << "Input the number to erase: " << std::endl;
            std::cin >> number;
            ii = Contact.find(number);
            Contact.erase(ii);
            break;
        }
        }
    }
    return(0);
 
}
Добавлено через 12 минут
Есть пара проблем:
1. Он не считывает большие числа. Понимаю, что это, скорее всего из-за того, что я использую insigned int, но у меня так указано в задании.
2. Не работает поиск по имени. Подключила #include <string>; всё равно не работает, может что-то не так делаю, не знаю.
3. При наборе неправильного номера ( то есть, при выходе за пределы), моя программа сходит с ума и уходит в бесконечный цикл.
0
6 / 5 / 2
Регистрация: 08.09.2019
Сообщений: 150
02.12.2019, 00:40 4
Сложно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2019, 00:40
Помогаю со студенческими работами здесь

База данных "Студент"(Turbo C)
База данных &quot;Студент&quot;

База данных "Контактная информация"
дали такое задание: Написать программу –базу данных, в которой в файле хранится контактная...

База данных "телефонный справочник"
Получил задание на курсовую написать телефонный справочник на чистой с++, используя консоль. С...

Что Вы понимаете под "абстрактным типом", "абстракцией данных" и "абстрактными операциями"?
А давайте займёмся археологией! И проследим как менялся смысл понятий &quot;абстрактный тип данных&quot;,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru