Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2023, 15:58   #1
pozzetiffman
Новичок
Джуниор
 
Регистрация: 14.03.2023
Сообщений: 7
По умолчанию ввод данных текстом через string/ char С++

для примера простые данные ввода и вывода

string name1;
char name2 [100];

cin >> name1;
cin >> name2;

cout << name1 << " " << name2 << endl;

допустим мы введем в name1 тшлшеф (nikita) по ошибке на другом языке и сотрем данные без ввода и напиши правильно.
cout выдает:
тшлnikita ......
Program ended with exit code: 0
Это можно пофиксить или это происходит только в компиляторе ?
pozzetiffman вне форума Ответить с цитированием
Старый 15.03.2023, 16:04   #2
pozzetiffman
Новичок
Джуниор
 
Регистрация: 14.03.2023
Сообщений: 7
По умолчанию

Просто если мы будем их сравнивать и по ошибке введутся не те данные, то функция if например не сработает
pozzetiffman вне форума Ответить с цитированием
Старый 15.03.2023, 17:03   #3
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 735
По умолчанию

Функция if итак не сработает, для строк есть специальные функции strcmp и др.
Cuprum5 вне форума Ответить с цитированием
Старый 15.03.2023, 17:10   #4
pozzetiffman
Новичок
Джуниор
 
Регистрация: 14.03.2023
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
Функция if итак не сработает, для строк есть специальные функции strcmp и др.
к примеру если вводить правильно то все сработает. но как предотвратить не правильный ввод к примеру с другого языка. но опять же без ввода. мы его сотрем до ввода

Код:
  cout << "добро пожаловать, введите свое имя " << endl;

    char name0[100];

    cin >> name0;

    cout << "приятно познакомится " << name0 << endl;

    cout << "укажите какого вы пола когда 'm' это мужчина а 'w' это женщина "<< endl;

    char name_s; // 1 символ
    cin >> name_s; // вводим 1 символ

    if (name_s == 'm')
       cout << "вы мужского пола" << endl;
    else if (name_s == 'w')
       cout << "вы женского пола" << endl;
    else
       cout << "вы инопланетянин" << endl;

Последний раз редактировалось BDA; 15.03.2023 в 17:53.
pozzetiffman вне форума Ответить с цитированием
Старый 15.03.2023, 17:22   #5
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 735
По умолчанию

if только для символа сработает. Язык - это про кодовые страницы.

Тэгами кода нужно обрамлять свой код и форматировать.

Последний раз редактировалось BDA; 15.03.2023 в 17:53.
Cuprum5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод данных через форму zaq2000 Microsoft Office Excel 0 25.01.2015 13:24
Задачу на string решить через array of char Neostat Помощь студентам 4 28.10.2014 11:36
string-char-wchar_t-char-string чето потерял magog7 Общие вопросы C/C++ 0 08.08.2011 20:21