Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
1

Реализовать добавление/удаление элементов в массив объектов типа PhoneBook

15.05.2017, 00:15. Показов 844. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть небольшая задача создать телефонную книгу
с возможностью записи контакта. выводом контактов на экран. и удалением всех контактов
сделала вот так
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
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
class PhoneBock
{
public:
  string name;
  int phone;
  int age;
  PhoneBock()
  {
    name = "name";
    phone = 0;
    age = 0;
  }
};
vector<PhoneBock> s;
 
int main()
{
 
    cout << "To create a new contact push 1 "<< endl;
    cout << "Display all contacts push 2 "<< endl;
    cout << "Delete all contacts push 3 "<< endl;
    cout << "EXIT push 0 "<< endl;
    int a;
    cin >>a;
    while (a != 0);
    cin >>a;
    if ( a == 1)
    {   
        string z;
        int x,c;
        cin >> z;
        cin >> x;
        cin >> c;
        PhoneBock b;
        b.name = z;
        b.phone = x;
        b.age = c;
        s.push_back (b); 
        for (int f = 0; f < s.size(); f++)
        { 
            cout <<"Phone Name "<< s[f].name << " " <<"Phone "<< s[f].phone << " " <<"Age "<< s[f].age << '\n';
          }
    if (a == 2)
    {
       for (int f = 0; f < s.size(); f++)
        { 
            cout <<"Phone Name "<< s[f].name << " " <<"Phone "<< s[f].phone << " " <<"Age "<< s[f].age << '\n';
        } 
    if (a == 3)
    {
        s.clear();
    }
   }
 }
}
Пытаюсь использовать цикл While, на выходе должно получиться многократная запись контактов в вектор при нажатие 1 при нажатие 2 вывод всех контактов при нажатие на кнопку 3 ,удаление всех контактов из вектора.При нажатие 0 программа закрывается.
Программа запускается.но при использование цикла не выводит на экран нужный результат.Если я комментирую цикл while и добавляю контакт то все рабтотает. подскажите где косяк)))
зарание извините за кривой код
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2017, 00:15
Ответы с готовыми решениями:

Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением)
Здравствуйте! Помогите написать программу, обеспечивающую работу с двунаправленным нециклическим...

Реализовать пользовательский класс "Двунаправленный список"; реализовать добавление и удаление элементов
Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать...

Реализовать класс "Список"; реализовать добавление и удаление элементов
помогите написать код по спискам. надо создать линейный односвязный (двухсвязный) список. Из...

Добавление и удаление объектов. Рисование объектов на экране
Доброго времени суток. Есть очень интересующий вопрос, как сделать добавление, обновление,...

6
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
15.05.2017, 00:37 2
Цитата Сообщение от swswsss Посмотреть сообщение
C++
1
while (a != 0);
Тело цикла где? И разберись там со скобками {} у if-ов.
0
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
15.05.2017, 02:00  [ТС] 3
Цитата Сообщение от nd2 Посмотреть сообщение
Тело цикла где? И разберись там со скобками {} у if-ов.
все разобрался
раньше на питоне писал.
там нет таких заморочек с фигурными скобками.
и я лишнию точку с запятой поставил
спасибо

Добавлено через 1 час 14 минут
теперь почему то не работает вывод вектора при нажатие на 2
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
15.05.2017, 02:14 4
Цитата Сообщение от swswsss Посмотреть сообщение
теперь
Код нужно показывать, ясновидящих тут нет.
0
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
15.05.2017, 03:02  [ТС] 5
Цитата Сообщение от nd2 Посмотреть сообщение
Код нужно показывать, ясновидящих тут нет.
да извиняюсь вот
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
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
class PhoneBock
{
public:
  string name;
  int phone;
  int age;
  PhoneBock()
  {
    name = "name";
    phone = 0;
    age = 0;
  }
};
vector<PhoneBock> s;
 
int main()
{
 
    cout << "To create a new contact push 1 "<< endl;
    cout << "Display all contacts push 2 "<< endl;
    cout << "Delete all contacts push 3 "<< endl;
    cout << "EXIT push 0 "<< endl;
    int a;
    cin >>a;
    while (a != 0)
    {
    cin >>a;
    if ( a == 1)
    {   
        string z;
        int x,c;
        cin >> z;
        cin >> x;
        cin >> c;
        PhoneBock b;
        b.name = z;
        b.phone = x;
        b.age = c;
        s.push_back (b); 
        for (int f = 0; f < s.size(); f++)
        { 
            cout <<"Phone Name "<< s[f].name << " " <<"Phone "<< s[f].phone << " " <<"Age "<< s[f].age << '\n';
          }
        if (a == 2)
        {
       
            for (int r = 0; r < s.size(); r++)
        { 
            cout <<"Phone Name "<< s[r].name << " " <<"Phone "<< s[r].phone << " " <<"Age "<< s[r].age << '\n';
        } 
        if (a == 3)
        {
        s.clear();
        }
    }
    }
 }
}
0
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,262
Записей в блоге: 7
15.05.2017, 03:17 6
swswsss, у вас ифы вложены друг в друга
Кликните здесь для просмотра всего текста
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
/*
оздать телефонную книгу
с возможностью
    записи контакта.
    выводом контактов на экран. 
    удалением всех контактов
*/
 
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
class PhoneBock
{
  public:
    string name;
    int phone;
    int age;
    PhoneBock()
    {
        name = "name";
        phone = 0;
        age = 0;
    }
};
vector<PhoneBock> s;
 
int main()
{
 
    cout << "To create a new contact push 1 " << endl;
    cout << "Display all contacts push 2 " << endl;
    cout << "Delete all contacts push 3 " << endl;
    cout << "EXIT push 0 " << endl;
    int a;
    cin >> a;
    while (a != 0)
    {
        cin >> a;
        if (a == 1)
        {
            string z;
            int x, c;
            cin >> z;
            cin >> x;
            cin >> c;
            PhoneBock b;
            b.name = z;
            b.phone = x;
            b.age = c;
            s.push_back(b);
            for (int f = 0; f < s.size(); f++)
            {
                cout << "Phone Name " << s[f].name << " "
                     << "Phone " << s[f].phone << " "
                     << "Age " << s[f].age << '\n';
            }
        }
        if (a == 2)
        {
 
            for (int r = 0; r < s.size(); r++)
            {
                cout << "Phone Name " << s[r].name << " "
                        << "Phone " << s[r].phone << " "
                        << "Age " << s[r].age << '\n';
            }
        }
        if (a == 3)
        {
            s.clear();
        }
    }
}

Не по теме:

PS: форматирование отступов иногда творит чудеса

1
0 / 0 / 5
Регистрация: 20.12.2016
Сообщений: 152
15.05.2017, 03:24  [ТС] 7
Цитата Сообщение от Max Dark Посмотреть сообщение
swswsss, у вас ифы вложены друг в друга
Кликните здесь для просмотра всего текста
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
/*
оздать телефонную книгу
с возможностью
    записи контакта.
    выводом контактов на экран. 
    удалением всех контактов
*/
 
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
class PhoneBock
{
  public:
    string name;
    int phone;
    int age;
    PhoneBock()
    {
        name = "name";
        phone = 0;
        age = 0;
    }
};
vector<PhoneBock> s;
 
int main()
{
 
    cout << "To create a new contact push 1 " << endl;
    cout << "Display all contacts push 2 " << endl;
    cout << "Delete all contacts push 3 " << endl;
    cout << "EXIT push 0 " << endl;
    int a;
    cin >> a;
    while (a != 0)
    {
        cin >> a;
        if (a == 1)
        {
            string z;
            int x, c;
            cin >> z;
            cin >> x;
            cin >> c;
            PhoneBock b;
            b.name = z;
            b.phone = x;
            b.age = c;
            s.push_back(b);
            for (int f = 0; f < s.size(); f++)
            {
                cout << "Phone Name " << s[f].name << " "
                     << "Phone " << s[f].phone << " "
                     << "Age " << s[f].age << '\n';
            }
        }
        if (a == 2)
        {
 
            for (int r = 0; r < s.size(); r++)
            {
                cout << "Phone Name " << s[r].name << " "
                        << "Phone " << s[r].phone << " "
                        << "Age " << s[r].age << '\n';
            }
        }
        if (a == 3)
        {
            s.clear();
        }
    }
}

Не по теме:

PS: форматирование отступов иногда творит чудеса

спасибо теперь разобрался окончательно
0
15.05.2017, 03:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2017, 03:24
Помогаю со студенческими работами здесь

Добавление элементов в массив и их удаление из него
Удвоить вхождение в массив всех отрицательных элементов;помогите, пожалуйста, срочно надо, как...

Двумерный массив добавление и удаление элементов
Добрый день. Занялся изучением основ. Заступорился на двумерных массивах. Подскажите,...

Массив структур(Добавление,удаление, редактирование элементов)
#include &lt;iostream&gt; using namespace std; struct temp { int lo1; int lol2; };

Массив: Как реализовать удаление всех элементов массива?
SomeStruct mas std::vector&lt;SomeStruct&gt; v;


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru