Форум: Форум C++Разное
Новые темы: 00
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ввод данных в консоле C++
 
 автор: nikolayers   (06.10.2012 в 12:46)   письмо автору
 
 

Как сделать считывание с консоли так, чтобы вводить можно было абсолютно любые данные - будь то цифры или буквы.
Проблема в том, что когда через scanf отлавливаю ввод цифр, при вводе букв начинается зацикливание.
Какой код сделает возможным ввод любых данных с возможностью отлова ошибок?

  Ответить  
 
 автор: cheops   (06.10.2012 в 13:35)   письмо автору
 
   для: nikolayers   (06.10.2012 в 12:46)
 

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

  Ответить  
 
 автор: aurus   (11.10.2012 в 08:12)   письмо автору
 
   для: nikolayers   (06.10.2012 в 12:46)
 

Этот метод считывает всё до первого пробела, табуляции, новой строки и т.д.

string mobileCarrier;
cin >> mobileCarrier;

Этот метод считывает всё, пока пользователь не нажмёт ENTER:

string sentence;
getline(cin, sentence);

Полный текст программы:

#include <iostream>
#include <string>

using namespace std;
int main()
{
    /*
    string mobileCarrier;
    cin >> mobileCarrier;
    cout<<"mobileCarrier:"<<mobileCarrier<<endl;
    */


    string sentence;
    getline(cin, sentence);
    cout<<"sentence:"<<sentence<<endl;
    return 0;
}

Взял из методички: MIT6_096IAP11_lec10(Advanced topics II)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования