Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mari_ly
3 / 3 / 0
Регистрация: 13.02.2016
Сообщений: 156
#1

Телефонный справочник, функция удаления абонента - C++

13.08.2016, 01:13. Просмотров 180. Ответов 1
Метки нет (Все метки)

Помогите исправить ошибки в
функция удаления абонента
C++
1
void removing(TEL &A, int n)


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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
void removing(TEL &A, int n)
{
removing:
    ifstream fin("trb.txt", ios::in);
    string surname, number;
    bool b=0;
    int s, z=0, f=0, i;
    TEL P;
    ARRAY <TEL> R(n);//дополнительный маллив для считывания в память
 
    std::cout<<rus("\nУдаление записи. Что известно для поиска?");
    cout<<rus("\n1. Фамилия\n2. Номер")<<endl;
    std::cin>>s;
 
    switch(s)
    {
    case 1:
        {
            cout<<rus("\nВведите фамилию абонента (или "stop"): ");
            std::cin>>surname;
            
            if (surname == "stop")
                break;
            for(i=0; i<n; i++)
            {
                fin>>A;
                if(surname == A.get_surname())
                {
                    A.output();
                    b=1;
                    z++;
                    f=1;
                }
            }
            if(b==0)
            {
                cout<<rus("\nНи одной записи не найдено. Повторить поиск? (y/n): ");
mr_1:
                string yn;
                std::cin>>yn;
                if(yn=="y" || yn=="Y")
                    goto removing;
                else if(yn=="n" || yn=="N")
                    break;
                else
                {
                    cout<<rus("\nЧто? Введите корректно y/n: ");
                    goto mr_1;
                }
            }
            break;
        }
    case 2:
        {
            cout<<rus("\nВведите номер абонента (или "stop"): ");
            std::cin>>number;
 
            if (number == "stop")
                break;
            for(i=0; i<n; i++)
            {
                fin>>A;
                if(number == A.get_number())
                {
                    A.output();
                    b=1;
                    z++;
                }
            }
            if(b==0)
            {
                cout<<rus("\nНи одной записи не найдено. Повторить поиск? (y/n): ");
mr_2:
                string yn;
                cin>>yn;
                if(yn=="y" || yn=="Y")
                    goto removing;
                else if(yn=="n" || yn=="N")
                    break;
                else
                {
                    cout<<rus("\nЧто? Введите корректно y/n: ");
                    goto mr_2;
                }
            }
            break;
        }
    default:
        {
            cout<<rus("\nВведены неверные данные. Введите корректно.");
            goto removing;
        }
    }
 
    if(z>1)
    {
        cout<<rus("\nНайдено несколько записей. Уточните поиск.");
        if(f==1)
        {
            cout<<rus("\nВведите номер абонента (или "stop"): ");
            cin>>number;
            if (number == "stop")
                return;
            for(i=0; i<n; i++)
            {
                fin>>A;
                if(number == A.get_number())
                {
                    b=1;
                }
            }
            A.output();
        }
    }
 
    if(b==1)
    {
        cout<<rus("Запись найдена. Удалить? (y/n) ")<<endl;
        string yn;
mrem:
        cin>>yn;
 
        ifstream dfin("trb.txt", ios::in);
        for(i=0; i<n; i++)
        {
            dfin>>P;
            R[i]=P;
        }
        cout<<endl;
        if(yn=="y" || yn=="Y")
        {
            ofstream fout("trb.txt", ios::out|ios::trunc);
            for(i=0; i<n; i++)
            {
                if(surname != R[i].get_surname())
                {
                    fout<<R[i]<<endl;
                }
            }
            fout.close();
            cout<<rus("Запись успешно удалена")<<endl;
        }
        else if(yn=="n" || yn=="N")
        {
            cout<<rus("Запись оставлена")<<endl;
            return;
        }
        else
        {
            cout<<rus("\nЧто? Введите корректно y/n: ");
            goto mrem;
        }
        dfin.close();
    }
    fin.close();
    return;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2016, 01:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Телефонный справочник, функция удаления абонента (C++):

Телефонный справочник - C++
Помогите пожалуйста написать прогу на С++.Нужно написать прогу телефонный справочник,она должна считывать инфу с текстового файла и...

Телефонный справочник - C++
Здравствуйте пытаюсь разобрать такую программу изкнижки Напишите программу, которая позволяет найти в телефонном справочнике...

телефонный справочник - C++
создать программу телефонный справочник на 5 человек эти 5 человек вводятся с клавиатуры. помогие составить

телефонный справочник - C++
Написать программу, которая позволяет найти в телефонном справочнике (phone.txt) нужные сведения. Программа должна запрашивать фамилию...

Телефонный справочник. - C++
Здравствуйте. Нужна помощь в создании программы, которая объединяла бы в себе действия: &quot;Добавление в телефонный справочник&quot; и &quot;Поиск в...

Телефонный справочник - C++
Здравствуйте пытаюсь разобрать такую программу изкнижки Напишите программу, которая позволяет найти в телефонном справочнике...

1
nmcf
5517 / 4827 / 1634
Регистрация: 14.04.2014
Сообщений: 19,603
13.08.2016, 09:56 #2
Перевод указателя чтения на начало файла и закрытие файла в нужных местах добавь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2016, 09:56
Привет! Вот еще темы с ответами:

телефонный справочник - C++
Создать телефонный справочник для осуществления следующих операций: Добавление абонентов в базу. Удаление абонентов из базы. ...

Телефонный справочник - C++
Прога читает из файла, есть поиск по имени и по адресу. Никак не могу реализовать поиск по номеру. Помогите пожалуйста. Вот код: ...

Телефонный справочник. - C++
#include &quot;stdio.h&quot; #include &quot;conio.h&quot; #define FNAME &quot;I:\\phone.txt\0&quot; void main() { char fname = FNAME; FILE *out; char...

Телефонный справочник - C++
Всем привет! :) Задачка в двух словах такова. Надо сделать телефонный справочник, чтоб можно было добавлять ФИО №телефона, затем...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru