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

Ошибка при вводе данных

08.03.2018, 11:29. Показов 1256. Ответов 3
Метки нет (Все метки)

Перескакивает через ввод поля "Name". Заранее благодарен

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void add(){ 
char S1[255];  
char S2[255]; 
char S3[255];
int i,k;
    cout << "Kolivhestvo novih lekarstv: \n";
    cin >>k;
    for (i=0; i<k;i++)
    {
    cout << "input 3 non empty words: \n";
        cout << "Name: ";
        cin.getline(S1,N);      
        cout << "Cena: ";
        cin.getline(S2,N);
        cout << "Vesh: ";
        cin.getline(S3,N);
        ofstream out("myfile.txt",ios::app);
            out << S1 << '\n';
                    out << S2 << '\n';
                    out << S3 << '\n';
    }
 
    }
Миниатюры
Ошибка при вводе данных  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2018, 11:29
Ответы с готовыми решениями:

Ошибка при вводе данных и в функциях
Некорректно происходят вычисления x1 и x2. Так же при вводе в переменную a,b или c начинается...

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

Ошибка исполнения при вводе данных из файла
Добрый вечер, при выполнении кода #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include...

Почему при вводе данных вылетает ошибка
вот написал программу #include &lt;iostream&gt; using namespace std; #define N 2 struct Spis { char...

3
1754 / 1346 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
08.03.2018, 11:33 2
Лучший ответ Сообщение было отмечено beek698 как решение

Решение

Вставляйте
C++
1
std::cin.ignore(std::cin.rdbuf()->in_avail());
для очистки буфера ввода
1
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 9
08.03.2018, 11:42  [ТС] 3
Спасибо огромное. Вроде заработало
Получается в буфере была пустая строка, которая передавалась в S1?
0
1754 / 1346 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
08.03.2018, 11:43 4
beek698, скорее символ переноса строки \n, который остался в буфере после нажатия Enter
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2018, 11:43
Помогаю со студенческими работами здесь

При вводе данных в программу выходит ошибка Segmentation fault
В чем может быть ошибка? Заранее спасибо! #include &lt;iostream&gt; #include &lt;string&gt; using namespace...

Ошибка на вводе данных
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; /* * В...

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл?
void mainmenu() { cout &lt;&lt; &quot;Введи число&quot; &lt;&lt; endl; cin &gt;&gt; choice; if (choice == 1) { cout &lt;&lt;...

Ошибка при вводе
мне нужно записать числа с файла в список , подскажите что не так выводит последнее лишнее число не...


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

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

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