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

Массив структур

31.01.2018, 19:59. Показов 845. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, решил попрактиковаться с массивом структур. Но проблема в том, что функция gets_s(kek[i].str) почему то игнорируется. Когда цикл проходит свой первый путь то gets_s учитывается, а когда идет на повтор то она будто пропадает. Не понимаю в чем дело!

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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
struct lol
{
    char str[40];
    int age;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    const int p = 7;
 
    lol kek[p];
 
    //ввод
    for (int i = 0; i < 5; i++)
    {
        cout << "Введите имя: ";
        gets_s(kek[i].str); // ЗДЕСЬ GETS_S ПРОПАДАЕТ, КОГДА ПРОВОДИЛ ОТЛАДКУ КОМПИЛЯТОР ПОЧЕМУ ТО ПЕРЕПРЫГИВАЛ
 
        cout << " Введите возраст: ";
        cin >> kek[i].age;
    }
 
    //Вывод
    for (int y = 0; y < 5; y++)
    {
        cout << " Имя: ";
        for (int b = 0; kek[y].str[b]; b++)
        {
            cout << kek[y].str[b];
        }
        cout << "\n";
 
        cout << " Возраст: ";
        cout << kek[y].age;
        cout << "\n";
    }
 
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2018, 19:59
Ответы с готовыми решениями:

Структуры.Обработка массивов структур.Создать массив структур из 10-ти элементов
Создать массив структур из 10-ти элементов: &lt;Номер договора&gt;&lt;Фамилия клиента&gt;&lt;стоимость...

Блочная сортировка структур (Отсортировать массив структур по фамилии)
Подскажите алгоритм блочной сортировки структур на языке С++. Мне нужно отсортировать массив...

Динамический массив структур в другом массиве структур
Можно ли реализовать динамический (или статический) массив структур в другом массиве структур?...

Массив структур, сохранение начала каждой из структур
Я создал такую структуру class Lancuch { public: char cos; Lancuch * nastepny; }; Lancuch...

7
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
31.01.2018, 20:15 2
Лучший ответ Сообщение было отмечено Zalj как решение

Решение

Строку можно читать через getline, а перед этим можно прописать
C++
1
std::cin.ignore(std::cin.rdbuf()->in_avail());
для очистки буфера
1
2 / 2 / 1
Регистрация: 08.07.2017
Сообщений: 32
31.01.2018, 20:35  [ТС] 3
Спасибо, все сработало!!! Не могли бы вы объяснить почему происходила такая ошибка, пошаговый объяснить вашу строку? Я буду очень признателен вам за это!!!
0
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
31.01.2018, 20:38 4
Если не изменяет память, то после ввода строки, в буфере сохраняется символ переноса строки "\n", который переменная и принимает в очередном цикле
0
2 / 2 / 1
Регистрация: 08.07.2017
Сообщений: 32
31.01.2018, 20:50  [ТС] 5
Цитата Сообщение от Hitoku Посмотреть сообщение
cin.ignore(std::cin.rdbuf()->in_avail());
Можете разобрать, что за, что отвечает в этой строке, для меня это ценный опыт.
0
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
31.01.2018, 20:56 6
Контроль правильности ввода в int вот тут очень хорошо объяснили
1
2 / 2 / 1
Регистрация: 08.07.2017
Сообщений: 32
31.01.2018, 21:00  [ТС] 7
Спасибо
0
Модератор
Эксперт С++
13706 / 10909 / 6473
Регистрация: 18.12.2011
Сообщений: 29,125
31.01.2018, 21:35 8
До кучи
Распространенные ошибки
0
31.01.2018, 21:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2018, 21:35
Помогаю со студенческими работами здесь

Как объявить динамический массив структур, и как выглядит обращение к полям структур по указателю?
Ребята подскажите как объявить динамический массив структур, и как выглядит обращение к полям...

Массив структур в массиве структур
Всем добрый день. Делаю менюшку для управления и терзаю Arduino IDE слегка подвис со следующей...

Ввести массив структур; рассортировать массив в алфавитном порядке
Пришел из армии восстановился в универе и тут сразу курсавай. Помогите Исходные данные(описание...

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив?
Допустим есть структура struct Base { int a; int b; int c; }; В...


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

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