C++ Как пофиксить код

Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
60
Реакции[?]
9
Поинты[?]
0
Суть проблемы в том, что при вводе значения первой переменной, прога сразу выводит следующие строки.


C++:
#include <iostream>


using namespace std;

int main()
{
    char n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;
    cout << n << endl;
    
    cout << "Привет, " << n << " теперь введи свою фамилию: ";
    cin >> f;
    cout << f << endl;

    cout << "Хорошо, " << n <<  f << " остался последний шаг, введи свою группу: "  << endl;
    cin >> g;
    cout << g << endl;
    cout << "Молодец " << n << "!" " Вы сдали лабораторную работу №1."  << endl;
    cout << "Значит вас зовут" << n << f << ", вы из группы " << g << endl;
}
Из-за чего может быть такая ошибка?
Снимок.JPG
 
Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
60
Реакции[?]
9
Поинты[?]
0
// removed because antipasta
Забаненный
Статус
Оффлайн
Регистрация
10 Сен 2018
Сообщения
312
Реакции[?]
145
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Суть проблемы в том, что при вводе значения первой переменной, прога сразу выводит следующие строки.
А что она должна делать? плюсом ты записываешь строку в символьную перменную char. Для записи строк используй string
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
Суть проблемы в том, что при вводе значения первой переменной, прога сразу выводит следующие строки.


C++:
#include <iostream>


using namespace std;

int main()
{
    char n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;
    cout << n << endl;
   
    cout << "Привет, " << n << " теперь введи свою фамилию: ";
    cin >> f;
    cout << f << endl;

    cout << "Хорошо, " << n <<  f << " остался последний шаг, введи свою группу: "  << endl;
    cin >> g;
    cout << g << endl;
    cout << "Молодец " << n << "!" " Вы сдали лабораторную работу №1."  << endl;
    cout << "Значит вас зовут" << n << f << ", вы из группы " << g << endl;
}
Из-за чего может быть такая ошибка?
Посмотреть вложение 112834
1. Ошибки вовсе нет, твоя программа завершается с кодом 0
2. Если ты хотел прочитать всю строку целиком, а не посимвольно, то нужно использовать тип std::string:
C++:
#include <iostream>
using namespace std;

int main()
{
    string n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;
    cout << n << endl;
   
    cout << "Привет, " << n << " теперь введи свою фамилию: ";
    cin >> f;
    cout << f << endl;

    cout << "Хорошо, " << n <<  f << " остался последний шаг, введи свою группу: "  << endl;
    cin >> g;
    cout << g << endl;
    cout << "Молодец " << n << "!" " Вы сдали лабораторную работу №1."  << endl;
    cout << "Значит вас зовут" << n << f << ", вы из группы " << g << endl;
}
 
Эксперт
Статус
Оффлайн
Регистрация
3 Окт 2018
Сообщения
1,059
Реакции[?]
551
Поинты[?]
0
Суть проблемы в том, что при вводе значения первой переменной, прога сразу выводит следующие строки.


C++:
#include <iostream>


using namespace std;

int main()
{
    char n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;
    cout << n << endl;
   
    cout << "Привет, " << n << " теперь введи свою фамилию: ";
    cin >> f;
    cout << f << endl;

    cout << "Хорошо, " << n <<  f << " остался последний шаг, введи свою группу: "  << endl;
    cin >> g;
    cout << g << endl;
    cout << "Молодец " << n << "!" " Вы сдали лабораторную работу №1."  << endl;
    cout << "Значит вас зовут" << n << f << ", вы из группы " << g << endl;
}
Из-за чего может быть такая ошибка?
Посмотреть вложение 112834
размерность для char задай
к примеру: char n[100]
 
// removed because antipasta
Забаненный
Статус
Оффлайн
Регистрация
10 Сен 2018
Сообщения
312
Реакции[?]
145
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
по итогу должно получиться это Посмотреть вложение 112838
Код:
int main()
{
    char n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;

    cout << "Привет, " << n << " теперь введи свою фамилию: ";
    cin >> f;

    cout << "Хорошо, " << n << f << " остался последний шаг, введи свою группу: ";
    cin >> g;
    cout << "Молодец " << n << "!" " Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут" << n << f << ", вы из группы " << g << endl;
}
 
IRQL_APC_LEVEL
Пользователь
Статус
Оффлайн
Регистрация
25 Авг 2018
Сообщения
211
Реакции[?]
88
Поинты[?]
3K
char n[261] = {0}; ибо char - один символ aka байт, а тебе нужен массив.
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
по итогу должно получиться это Посмотреть вложение 112838
Если нужно прямо точь-в-точь:
Код:
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;

    cout << "Привет, " << n << ", теперь введи свою фамилию: ";
    cin >> f;

    cout << "Хорошо, " << n << " " << f << ", остался последний шаг, введи свою группу: ";
    cin >> g;
  
    cout << "Молодец, " << n << "! Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут " << n  << " " << f << ", вы из группы " << g << endl;
    cout << "-------------------------------------------------------";
}
 
Последнее редактирование:
// removed because antipasta
Забаненный
Статус
Оффлайн
Регистрация
10 Сен 2018
Сообщения
312
Реакции[?]
145
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если нужно прямо точь-в-точь:
stкing там не получается использовать
Код:
    char n[100], f[100], g[100];
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;

    cout << "Привет, " << n << ", теперь введи свою фамилию: ";
    cin >> f;

    cout << "Хорошо, " << n << " " << f << ", остался последний шаг, введи свою группу: ";
    cin >> g;

    cout << "Молодец, " << n << "!" " Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут " << n << " " << f << ", вы из группы " << g << endl;
    cout << "-------------------------------------------------------";
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
stкing там не получается использовать
Код:
    char n[100], f[100], g[100];
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;

    cout << "Привет, " << n << ", теперь введи свою фамилию: ";
    cin >> f;

    cout << "Хорошо, " << n << " " << f << ", остался последний шаг, введи свою группу: ";
    cin >> g;

    cout << "Молодец, " << n << "!" " Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут " << n << " " << f << ", вы из группы " << g << endl;
    cout << "-------------------------------------------------------";
Зависит от компилятора, у меня на визуалке все ок
 
Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
60
Реакции[?]
9
Поинты[?]
0
Если нужно прямо точь-в-точь:
Код:
#include <iostream>

using namespace std;

int main()
{
    string n, f, g;
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;

    cout << "Привет, " << n << ", теперь введи свою фамилию: ";
    cin >> f;

    cout << "Хорошо, " << n << " " << f << ", остался последний шаг, введи свою группу: ";
    cin >> g;
  
    cout << "Молодец, " << n << "! Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут " << n  << " " << f << ", вы из группы " << g << endl;
    cout << "-------------------------------------------------------";
}
Спасибо большое. Всё работает
Какие же ахуенные люди есть на юг
 
Пользователь
Статус
Оффлайн
Регистрация
19 Май 2019
Сообщения
294
Реакции[?]
43
Поинты[?]
0
C++:
#include <iostream>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_ALL, "Ru");

    string n, f, g;

    cout << "Здравствуй, пожалуйста, введи своё имя сюда: "; cin >> n;
    cout << n << endl;

    cout << "Привет, " << n << " теперь введи свою фамилию: "; cin >> f;
    cout << f << endl;

    cout << "Хорошо, " << n << " " << f << " остался последний шаг, введи свою группу: " << endl; cin >> g;
    cout << g << endl;

    cout << "Молодец " << n << "!" " Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут" << n << f << ", вы из группы " << g << endl;
}
 
Администратор
Администратор
Статус
Оффлайн
Регистрация
18 Авг 2017
Сообщения
2,332
Реакции[?]
1,574
Поинты[?]
72K
stкing там не получается использовать
Код:
    char n[100], f[100], g[100];
    setlocale(LC_ALL, "Russian"); // подключаем русский язык
    cout << "Здравствуй, пожалуйста, введи своё имя сюда: ";
    cin >> n;

    cout << "Привет, " << n << ", теперь введи свою фамилию: ";
    cin >> f;

    cout << "Хорошо, " << n << " " << f << ", остался последний шаг, введи свою группу: ";
    cin >> g;

    cout << "Молодец, " << n << "!" " Вы сдали лабораторную работу №1." << endl;
    cout << "Значит вас зовут " << n << " " << f << ", вы из группы " << g << endl;
    cout << "-------------------------------------------------------";
Не все компиляторы сразу иклюдят стринг, поэтому лучше добавить ручками, так будет правильнее: #include <string>.
 
Начинающий
Статус
Оффлайн
Регистрация
22 Ноя 2019
Сообщения
47
Реакции[?]
13
Поинты[?]
0
C++:
#include <iostream>

static char g_sName[64], g_sSurname[64], g_sGroup[64];

int main()
{
    setlocale(LC_ALL, "Russian");
    printf("Здравствуй, пожалуйста, введи своё имя сюда: ");
    std::cin >> g_sName;
    printf("\nПривет, %s, теперь введи свою фамилию: ", g_sName);
    std::cin >> g_sSurname;
    printf("\nХорошо, %s %s, остался последний шаг, введи свою группу: ", g_sName, g_sSurname);
    std::cin >> g_sGroup;
    printf("\nМолодец  %s! Вы сдали лабораторную работу №1.\nЗначит вас зовут %s %s, вы из группы %s\n-------------------------------------------------------\n", g_sName, g_sName, g_sSurname, g_sGroup);
    return 0;
}
 
Сверху Снизу