Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 19.02.2020
Сообщений: 11

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

19.02.2020, 18:01. Показов 1136. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа перестаёт забирать данные после второго прогона цикла. Но после удаления строчек для досрочного выхода из цикла всё приходит на круги своя. Подскажите в чём дело плиз)
Вот код:
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
#include <iostream>
#include <string>
using namespace std;
 
class file {
private:
    string file_name;
    string date_of_creation;
    int number_of_calls;
    double size;
void set_all_information() {
        cout << "Enter file name, date of creative, number of calls and size" << endl;
        getline(cin, file_name);
        getline(cin, date_of_creation);
        cin >> number_of_calls;
        cout << endl;
        cin >> size;
        cout << endl;
    }
int main() {
    file File[20];
    int p = 0;
    int break_setting;
    for (int i = 0;i < 20; i++) {
        File[i].set_all_information();
        cout << "Press 1, if you want to stop the initialization(any else if no)" << endl;
        cin >> break_setting;
        cout << endl;
        if (break_setting) break;
    }
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2020, 18:01
Ответы с готовыми решениями:

Ошибка при считывании строковых данных
Нужно просто считать русский текст из файла, выводит смайлики без пробелов. #include &quot;stdafx.h&quot; #include &quot;fstream&quot; ...

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

Ошибка при вводе данных
Перескакивает через ввод поля &quot;Name&quot;. Заранее благодарен void add(){ char S1; char S2; char S3; int i,k; cout...

4
 Аватар для Recrut_rf
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
19.02.2020, 19:28
arty0714, нормально всё работает

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
#include <iostream>
#include <string>
using namespace std;
 
class file {
private:
    string file_name;
    string date_of_creation;
    int number_of_calls;
    double size;
 
public:
    void set_all_information()
    {
        cout << "Enter file name, date of creative, number of calls and size" << endl;
        getline(cin, file_name);
        getline(cin, date_of_creation);
        cin >> number_of_calls;
        cout << endl;
        cin >> size;
        cout << endl;
    }
};
 
int main()
{
    file File[20];
    int p = 0;
    int break_setting;
 
    for (int i = 0; i < 20; i++)
    {
        File[i].set_all_information();
        cout << "Press 1, if you want to stop the initialization(any else if no)" << endl;
        cin >> break_setting;
        cout << endl;
 
        if (break_setting)
            break;
    }
 
    system("pause");
    return 0;
}
Нужно только метод в классе публичным сделать и фигурную скобку добавить. Условие выхода из цикла нужно сформировать по другому нажмите 0 если хотите продолжить заполнять данные или введите любое другое число, отличное от нуля для того, чтобы выйти
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
19.02.2020, 19:45
Лучший ответ Сообщение было отмечено arty0714 как решение

Решение

Распространенные ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
void set_all_information()
    {
        cout << "Enter file name, date of creative, number of calls and size" << endl;
        getline(cin, file_name);
        getline(cin, date_of_creation);
        cin >> number_of_calls;
        cout << endl;
        (cin >> size).get(); // !!!!!!!!!!!!!! надо удалять символ enter из входного потока
// иначе на втором круге  getline(cin, file_name); почтет пустую строку
        cout << endl;
    }
1
 Аватар для Recrut_rf
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
19.02.2020, 19:53
zss, А точно, забыл совсем, спасибо, что напомнили
0
0 / 0 / 0
Регистрация: 19.02.2020
Сообщений: 11
19.02.2020, 21:29  [ТС]
Ух незнал. Огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2020, 21:29
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru