Глава 1. Итоговый тест

   | 

   | 

 Обновлено 9 Дек 2016  | 

 6863

 ǀ   15 

Эти задания рассчитаны для улучшения запоминания пройденного материала и применение его на практике.

Задание №1

Напишите однофайловую программу (с именем main.cpp), которая получает два отдельных целых числа от пользователя, выполняет сложение этих чисел, а затем выводит результат. В программе должно быть три функции:

Функция «readNumber», которая запрашивает в пользователя одно целое число, затем возвращает его в main.

Функция «writeAnswer», которая выводит результат в консоль. Она должна быть без возвращаемого значения и принимать только один параметр.

Функция main(), которая соединяет две вышеуказанные функции вместе.

Подсказка 1: Не нужно отдельной функции для математической операции сложения (просто используйте оператор +).

Подсказка 2: Функцию readNumber() нужно вызывать дважды.

Подсказка 3: Если вы используете Visual Studio с предварительно откомпилированными заголовками, не забудьте #include "stdafx.h".

Ответ 1

main.cpp

Задание №2

Измените программу с задания №1, чтобы функции readNumber() и writeAnswer() находились в отдельном файле с названием «io.cpp». Используйте предварительные объявления для доступу к ним с главной функции main().

Подсказка: Если у вас возникли проблемы, убедитесь, что io.cpp правильно добавлено к вашему проекту и подключено к компиляции (смотрите Урок 20. Многофайловые программы для получения более подробной информации о том, как это сделать).

Ответ 2

io.cpp

main.cpp

Задание №3

Измените программу с задания №2, чтобы она использовала заголовочный файл (с именем io.h) для доступа к функциям, вместо использования предварительных объявлений. Убедитесь, что ваш заголовочный файл использует header guards.

Ответ 3

io.cpp

io.h

main.cpp

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (107 оценок, среднее: 4,93 из 5)
Загрузка...
Подписаться на обновления:

Комментариев: 15

  1. Рома:

    Здравствуйте, в 3 задании сделал точно также как и у вас в ответе, но мне выдает две ошибки :
    1) идентификатор readNumber() не определён
    2) идентификатор writeAnswer() не определён
    в чём может заключаться проблема?
    Проверял уже много раз код один в один с вашим .

  2. Tahir:

    Отличный тест. Без лишней теории и охватывает все основные аспекты Главы1. Спасибо за Ваш труд!

    1. Юрий Юрий:

      Спасибо, что читаете 🙂

  3. Даниил:

    Здравствуйте , такой вопрос )
    Во второй функции мы вводим одну переменную x
    А в функции main() мы выводим эту функцию и (x+y)….
    Уточните пожалуйста что здесь и как )

    1. Александр:

      А что там не понятного? Мы вызываем функцию writeAnswer() А "x+y" — это параметр этой функции, который равен сумме x и y, и вот это значение присваивается переменной x в функции writeAnswer() Просто нужно внимательно читать уроки. У каждой функции своя переменная с именем "X" (в каждом городе есть своя улица Ленина)

    2. Алексей:

      Все просто. Каждая из предстваленных функций "не знает", что одноименные переменные есть в других функциях.
      Подробнее тут: Урок 15. Локальная область видимости.

  4. Алекей:

    Есть недочет. После каждого урока надо штук по 10 практических заданий для закрепления материала. Все получилось с первого раза! Но практики очень не хватает.

    1. Максим:

      Согласен, это уже будет полировка, а так все хорошо.

    2. Константин:

      Да-да, полностью поддерживаю Алексея: Юрий, пожалуйста, прибавьте контрольных заданий, а то как-то мало связей между нейронами образуется у меня в голове от одного задания:-(

  5. илья:

    у меня в 1задании 39 ошибок, придется кодить сначала

  6. Игорь...:

    Прикольно, первое задание выполнил так же как и в ответе, кроме…

    Работает… Но правильно ли так?

    1. Юрий Юрий:

      Здесь создаются анонимные объекты (об этом есть отдельный урок). В общем, для этого примера такой ответ тоже подойдет. Но если бы в дальнейшем нужно было еще что-либо выполнить с этими числами, то удобнее было бы через переменные.

  7. Diana:

    В итоге все получилось, не без ошибок, конечно, но получилось) очень рада) спасибо за Ваш труд!)

    1. Юрий Юрий:

      Пожалуйста 🙂

  8. Дима:

    Хм….урок без коментов.
    У всех все просто получилось?!)

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

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

ПОДПИСЫВАЙТЕСЬ

НА КАНАЛ RAVESLI В TELEGRAM

@ravesli

ПОДПИСАТЬСЯ БЕСПЛАТНО