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

Gets_s пропускает ввод

23.11.2018, 18:57. Показов 3241. Ответов 1
Метки нет (Все метки)

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
61
62
63
64
65
66
67
68
69
70
71
72
73
#include "stdafx.h"
#include <iostream>
 
#include "locale.h"//для русского языка
#include "string.h"
#include "stdlib.h"
 
using namespace std;
struct note
{
    char fam[40];//Фамилия
    char name[40];//имя
    int nomer;//Номер телефона
    int date;//Дата рождения
};
 
struct note NOTE[100];
struct note temp;//для сортировки
int records = 0;
int i = 0, j;
int menu();
void vvod();//Ввод
 
int main()
{
    setlocale(LC_ALL, ".1251");//для русского языка
    while (1)
    {
        switch (menu())
        {
        case 1:vvod(); break;
        case 4:return 0; break;
        default:printf("Не верно выбрано значение\n");
        }
    }
    return 0;
}
 
int menu()
{
    int ch;
    system("chcp 1251");
    printf("\nМеню:\n");
    printf("1.Ввод структуры\n");
    printf("2.Вывод структуры\n");
    printf("3.Сортировка по номеру\n");
    printf("4.Выход\n");
    printf("Ваш выбор? - ");
    scanf_s("%d", &ch);
    return ch;
}
 
void vvod()
{
    int i;
    do {
        printf("Запись №%d:\n", records + 1);
        printf("Введите фамилию\n");
        fflush(stdin);
        gets_s(NOTE[records].fam);
        printf("Введите имя\n");
        fflush(stdin);
        gets_s(NOTE[records].name);
        printf("Введите номер телефона\n");
        scanf_s("%d", &NOTE[records].nomer);
        printf("Введите дату рождения\n");
        scanf_s("%d", &NOTE[records].date);
        records++;
        printf("Прекратить работу? 1-нет,0-да\n");
        scanf_s("%d", &i);
    } while (i);
 
}
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2018, 18:57
Ответы с готовыми решениями:

Пропускает ввод данных в консоли. Не работает часть кода. Пропускает ввод фио
Добрый день! Помогите пожалуйста! В void add_dinamo() пропускает cout&lt;&lt;&quot;ФИО: \t&quot; ;...

Пропускает ввод символа
Начал изучать с++ и в процессе выполнения наткнулся на проблему. В процессе выполнения программа...

Пропускает ввод данных в консоли
Доброго времени суток. Работа со списками. Мне нужно оформить данные об автобусах, введенные с...

Пропускает ввод данных после for
После заполнения вектора и выхода из цикла for программа завершается . Почему компилятор не...

1
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
23.11.2018, 19:05 2
Про оставление \n читай в "Распространённых ошибках".
0
23.11.2018, 19:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2018, 19:05
Помогаю со студенческими работами здесь

Функция getline пропускает ввод строки
Строка с getline(cin, pc.name); пропускает ввод. Пишу getline(cin, pc.name); так, как нужно...

Программа пропускает ввод первой строки
здраствуйте. в коде програмы, приведенном ниже, в структуру Track записываются данные, считанные с...

Программа пропускает ввод данных несмотря на fflush
Доброго времени суток. Возникла проблема - когда я в первый раз в цикле ввожу текст посимвольно с...

Копирование строки. При вводе пробела программа пропускает последующий ввод данных
char st, st1; int k, m, i, j; system(&quot;cls&quot;); cout &lt;&lt;&quot;Введите строку&quot;&lt;&lt;endl; cin &gt;&gt;st; ...


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

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