C/C++

Помогите исправить ошибку в коде, смотри внутри.

Не могу проверить в If вот код

#include
#include
using namespace std;
int main(){
int num;
int nam;
char baby;
cout<<"Введите пароль: ";
cin>>num;

cout<<"Введите фамилию музыканта: ";
cin>>baby;

cout<<"Потвердите свой пароль: ";
cin>>nam;

if(nam==num){
cout<<"Вы успешно зарегестрировались! ";
}
}
#include <iostream>
#include <string>
using namespace std;
int main() {
system("chcp 1251 >> nul");
string login;
string password;
string confirmation;
do {
cout << "Логин: ";
getline(cin, login);
cout << "Пароль: ";
cin >> password;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Потвердите пароль: ";
cin >> confirmation;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
} while (confirmation != password);
cout << "Вы успешно зарегистрировались! ";
system("pause >> nul");
}
Алексей Попугаев
Алексей Попугаев
73 155
Лучший ответ
Возможно всё из-за того, что ты вместо строки (string) вводишь символ (char)
Чтоб убрать ошибку попробуй убрать этот код

cout<<"Введите фамилию музыканта: ";
cin>>baby; - ввод одного любого символа буквы цифры но одного.

выше код убрать из программы и проверить.

Чтоб твой код работал ты должен
Когда введите пароль ввести одинаковые цифры
например

cout<<"Введите пароль: ";
Введите пароль ввести 123

cout<<"Потвердите свой пароль: ";
Ввести тоже 123

Смотришь в книгу видишь фигу, или у тебя книга плохая.

int num; переменная число
int nam; переменная число
char baby; - символьная переменная
1 символ помещается (буква или цифра)
cout<<"Введите пароль: ";
cin>>num; - ввод цифр (сколько хочешь цифр)

cout<<"Введите фамилию музыканта: ";
cin>>baby; - ввод одного любого символа буквы цифры но одного.

cout<<"Потвердите свой пароль: ";
cin>>nam; ввод цифр (сколько хочешь)

if(nam==num){ - сравнения цифр которые ввел первый раз и второй раз

В коде все правильно только ввод фамилии музыканта не знаю, может ошибка из за того что вводишь больше 1 го символа буквы.
Чтоб вводить там всю фамилию нужно примерно так
char baby[50]; - поместится 49 символов.

чтоб символы или текст был с пробелами надо заменить
cin.getline (baby,50);

можешь еще string пользоваться.
String или string - строковый тип данных.
пример string baby. - Поместится куча текста и с пробелами и как хочешь.
string baby.
cin>>baby.
Валерий Босов
Валерий Босов
1 143