Основы программирования на С++ для начинающих

Вывод данных на экран и ввод данных с клавиатуры

вывод данных и ввод данныхСначала поговорим о выводе данных на монитор, так как вы, отчасти, уже с ним сталкивались в предыдущих уроках. Как вы помните, при  помощи ключевого слова cout, мы можем вывести на монитор строку, которую  пишем в “кавычках”, либо значение переменной, обратившись к ней по имени . Так же вы знакомы с оператором endl, который позволяет перевести вывод на следующую строку.  И еще один важный момент – мы можем комбинировать вывод данных используя оператор << несколько раз после cout:

  cout << “Значение переменной var_name  =  ” <<  var_name  <<  endl;

Теперь мы познакомимся еще с несколькими специальными символьными последовательностями, которые помогут нам манипулировать выводом данных на экран. Вот перечень:

вывод данных, основы программирования
рис.1 – символьные последовательности, вывод данных

Вы посмотрели и задумались )))  Зачем использовать обратный слэш? Рассмотрим на примере. Нам надо вывести на экран цитату из фильма. Сразу пусть прозвучит сигнал, который привлечет внимание пользователя на экран. По центру разместим заголовок и название фильма, из которого цитируем, а ниже –  цитату.На экране должно выглядеть так:

вывод данных

Постарайтесь набрать код самостоятельно! Решение ниже:

Зачем нам нужен обратный слэш? Он говорит компилятору: “Внимание, за мной стоит не простой символ, а специальный! Он скажет тебе, что нужно сделать! :)”  Вот в строке 8, если бы мы не использовали с вами обратный слэш, на экран бы пошёл вывод пяти символов а. А так, мы услышим “прекрасную музыку”.  В строке 9 тоже интересно: две табуляции, далее надо вывести на экран один бэк слэш, а фактически надо написать два, ну и берём в кавычки название фильма. В конце каждой строки вместо манипулятора потока endl (<< endl) который позволяет  перейти на новую строку (фактически аналог кнопки Enter на  вашей клавиатуре) удобнее и короче, в данном случае, использовать управляющий  символ \n. 

Теперь поговорим о вводе данных пользователем с клавиатуры. Мы уже знаем – чтобы присвоить значение переменной, её можно инициализировать при создании либо присвоить значение ниже по ходу программы: имяПеременной = значение;  А сейчас мы научимся записывать в переменную значение, которое вводит пользователь с клавиатуры. Мы можем организовать ввод данных используя операторы cin  и  >> . Синтаксис следующий:  cin >> имяПеременной.  Рассмотрим эту возможность на примере:

Запустите программу и обратите внимание – программа выполнит команду 11-й строки и, дойдя до оператора  cin >>, остановится и начнется ожидание действия от пользователя. Надо ввести значение и нажать Enter. Как только переменная получит значение, введенное с клавиатуры, программа продолжит выполнение.

ввод данных

Стоит отметить, что cin понимает и различает типы переменных. И если ввести в int  символ, а не цифру, значение переменной не изменится. А если ввести несоответствующее значение в переменную, которая не инициализирована при создании, на экран будет показан какой-то остаточный “мусор” из переменной. Чтобы вводить символы  – переменные надо объявлять типа char. Мы обязательно вскоре научимся с вами проверять правильность ввода данных пользователем. А так же научимся вводить с клавиатуры не одиночные символы, а целые строки.

Дополнительное необходимое усилие от вас – просмотр видео-уроков :) В них представлена и дополнительная информация не рассмотренная в статье. Смотрите всё! Для вас это только +

Желательно после прочтения теории приступить к практике – задачи тут.

Поделитесь этой статьей со своими друзьями. Мы будем благодарны! Все возникшие вопросы, задавайте в комментариях.

31 thoughts on “Вывод данных на экран и ввод данных с клавиатуры

  1. Написал такой код:

    int amount_of_apples1=0;
    int amount_of_apples2=0;
    int inBox = 0; //для записи общего количества
    cin >> amount_of_apples1;
    cin >> amount_of_apples2;
    ….
    ….

    При запуске программы, на запрос ввел не число а строку, понятно что значение amount_of_apples1 не изменилось, остался 0. Но при этом оператор cin >> amount_of_apples2 был проигнорирован, почему. Значение amount_of_apples2 не запросилось и соответственно тоже осталось 0.

  2. #include
    using namespace std;

    int main()

    {
    setlocale(LC_ALL,”rus”);

    cout << " А почему ей в ресторане никогда не нравится то,\n";
    cout << " что заказала она, и всегда нравится то что заказал я?\n";
    cout << " И она начинает есть у меня из тарелки. Я ей говорю:\n";
    cout << " <>.Она говорит:<< Зачем?\n";
    cout <>.И съедает наполовину.\n”;
    cout << " \t\t\\к.ф.\"О чем говорят мужчины\" \\ \n";

    return 0;

    }

    3 упражнение сделал

  3. Почему когда запускаю программу то вместо обыкновенных букв вылезает какая то непонятная фигня?

    1. А потому, что когда хочешь получить ответ на вопрос, эту “фигню” нужно показывать (копировать), а не рассказывать про неё “на пальцах”.

    2. Попробуй на следующей строчки после квадратной скобки ввести setlocale(LC_ALL, “rus”);

    1. код:
      #include
      #include

      char bufrus[256];
      char * rus(const char* text) {
      CharToOem(text, bufrus);
      return bufrus;
      }
      int main()
      {
      setlocale(LC_CTYPE, “rus”);
      std:: cout<<rus("Великий могучий русский язык\n");
      std:: cout<<"\nВеликий могучий русский язык\n";
      std::cout << "Hello world!" ;
      system("pause");
      return 0;
      }

  4. fatal error C1083: Не удается открыть файл включение: iostrem: No such file or directory
    Что делать?

  5. Русские буквы вывод Windows XP

    код:
    #include
    #include

    char bufrus[256];
    char * rus(const char* text) {
    CharToOem(text, bufrus);
    return bufrus;
    }
    int main()
    {
    setlocale(LC_CTYPE, “rus”);
    std:: cout<<rus("Великий могучий русский язык\n");
    std:: cout<<"\nВеликий могучий русский язык\n";
    std::cout << "Hello world!" ;
    system("pause");
    return 0;
    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *