Форум программистов, компьютерный форум CyberForum.ru

Задание из книги Страуструпа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу запустить программу на DEV c++ http://www.cyberforum.ru/cpp-beginners/thread930383.html
#include <iostream> using namespace std; int main() { cout<<"HEllo all"; system("PAUSE"); return 0; }
C++ Добавить в одномерный массив N элементов, начиная с номера К 1. Сформировать массив из n элементов с помощью датчика случайных чисел (n зада-ется пользователем с клавиатуры). 2. Распечатать полученный массив. 3. Добавить в одномерный массив N элементов, начиная с номера К Мне нужно именно в такой интерпритации кода. Работаю в Visual Studio 2010 вот мой код простите,если там бред,учу си недавно,но задачу очень нужно решить http://www.cyberforum.ru/cpp-beginners/thread930380.html
Умный указатель C++
Здраствуйте. Есть такое задание Тема: «Работа с указателями. Указатели на функцию.» Цель: создать свой собственный ”умный указатель”. Применить указатель и протестировать его работу. Задание: 1) Разобраться с принципами работы “умных указателей” (см. материалы лекции №2). Создать собственноручно написанный ”умный указатель”. 2) Для хранения данных о ноутбуках описать структуру, вид...
C++ Литературка по формам
Вобщем я студент - уже 2 курса. Изучал делфи и с++ на консольном уровне. с++ дошли до СТЛ включительно. Летом решил посидеть на делфи, т.к ооп у нас будет весь 2 курс - делфи, немного разобрался сделал несколько приложений с использованием форм. захотел обратно перейти на с++ и продолжить изучение. когда то качал книги( решил почитать ету "Харви и Пол Дейтл - Как программировать на С++"...
C++ Посоветуйте книгу по С++ http://www.cyberforum.ru/cpp-beginners/thread930347.html
Я знаю, есть список, где рассказано что лучше читать. Попробовал книгу Страуструпа(которую нашел в этом же списке). Впал в уныние после первого его "калькулятора". Из опыта у меня есть только курсовой, где мы маялись с таблицами и контейнерами (кстати контейнер vector мы ,почему-то, даже не задевали). Как я понял, книги Страуструпа - это не те книги, с которых лучше начинать обучение......
C++ Вырезка части изображения по двум точкам Задача вырезать часть матрицы изображения по двум точкам(верхниму-левом и правому нижнему). P.S. работаю c libtiff. тестирую в qt. Изображение 8bit'е Функция вырезки bool TiffFile::Read(const char *fileName, int x1, int y1, int x2, int y2) { tif=TIFFOpen(fileName,"r"); if(tif) { int compression=0; int planar=0; подробнее

Показать сообщение отдельно
Ollister
Сообщений: n/a
29.07.2013, 15:37     Задание из книги Страуструпа
Здравствуйте! Я решил начать изучать программирование, конкретнее - язык C++. Самым логичным способом изучения мне показалось попробовать почитать книгу Страуструпа "Программирование. Принципы и практика использования C++". Разумеется, по ходу чтения пытаюсь выполнять задания из книги, и вот в конце 3й главы возникла проблема - не могу справиться с заданием, поэтому было решено попросить помощи у более опытных людей.
Собственно, текст задания:
Кликните здесь для просмотра всего текста

Задание
На каждом этапе выполнения задания запустите программу и убедитесь, что она
делает именно то, что вы ожидали. Создайте список сделанных ошибок, чтобы предотвратить их в будущем.
1. Напишите программу, формирующую простую форму для письма на основе входной информации. Для начала наберите программу из раздела 3.1, предложив пользователю ввести свое имя и предусмотрев вывод строки "Hello, firstname", где firstname— это имя, введенное пользователем. Затем модифицируйте программу следующим образом: измените приглашение на строку "Введите имя адресата" и измените вывод на строку "Dear firstname,". He забудьте о запятой.
2. Введите одну или две вступительные фразы, например "Как дела? У меня все хорошо. Я скучаю по тебе". Убедитесь, что первая строка отделена от других. Добавьте еще несколько строк по своему усмотрению—это же ваше письмо.
3. Предложите пользователю ввести имя другого приятеля и сохраните его в переменной frlend_name. Добавьте в ваше письмо следующую строку: "Видел ли ты friend_name недавно?
4. Объявите переменную типа char с именем frlendsex и инициализируйте его нулем. Предложите пользователю ввести значение хп, если ваш друг — мужчина, и f — если женщина. Присвойте переменной friendsex введенное значение. Затем с помощью двух инструкций if запишите следующее. Если друг— мужчина, то напишите строку: "Если ты увидишь friendname, пожалуйста, попроси его позвонить мне". Если друг — женщина, то напишите строку: "Если ты увидишь friend_name, пожалуйста, попроси ее позвонить мне".
5. Предложите пользователю ввести возраст адресата и присвойте его переменной age, имеющей тип int. Ваша программа должна вывести на экран строку: "Я слышал, ты только что отметил день рождения и тебе исполнилось age лет". Если значение переменной age меньше или равно 0 или больше или равно 110, выведите на экран строку error ("ты шутишь!").
6. Добавьте в ваше письмо следующие строки
Если вашему другу меньше 12 лет, напишите: "На следующий год тебе исполнится age+1 лет".
Если вашему другу 18 лет, напишите: "На следующий год ты сможешь голосовать".
Если вашему другу больше 60 лет, напишите: "Я надеюсь, что ты не скучаешь на пенсии".
Убедитесь, что ваша программа правильно обрабатывает каждое из этих значений.
7. Добавьте строку "Искренне твой," затем введите две пустые строки для подписи
и укажите свое имя.

Проблема возникла на 5м пункте. Насколько я понял, проверку значения переменной age (больше она 110 или меньше 0, например) следует выполнять через if-else. Но либо я не понял принцип использования функции if, либо я не понимаю чего-то ещё, но проверка значения переменной age не происходит, и сообщение об ошибке не показывается, каким бы значение переменной ни было. Собственно, мой код:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "..//..//std_lib_facilities.h"
int main()
{
    cout << "Enter recipient's first name and press Enter: \n";
    string first_name;
    cin >> first_name;
    cout << "Dear " << first_name << ",\n"
        << "How are u? I'm fine. Miss you.\n";
    cout << "Enter other friend's name and press Enter:\n";
    string friend_name;
    cin >> friend_name;
    cout << "Have you seen " << friend_name << " recently?\n";
    char friend_sex = 0;
    cout << "Enter m for man, f for woman: \n";
    cin >> friend_sex;
    if (friend_sex == 'm') //тут было критично закавычить ('m') значение, принимаемое функцией friend_sex
        cout << "If u'll see " << friend_name << " please ask him to call me.\n";
    if (friend_sex == 'f')
        cout << "If u'll see " << friend_name << " please ask her to call me.\n";
    cout << "Enter recipient's age and press Enter: \n";
    int age;
    cin >> age;
    if (0 <= age <= 110) cout << "I've heard You've just turned " << age << "\n";
        else simple_error ("you're kidding");
    
}

Расскажите, в чём моя ошибка и как её исправить? Любые комментарии на тему кода приветствуются.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru