2015-10-02 3 views
-2

я застрял в главе 3.3 Принципы и практика с использованием C++:двойной функции в C++

Он отметил: - Получить «имя и возраст» пример для запуска. Затем измените его, чтобы записать возраст в месяцах: прочитайте ввод в годах и умножьте (с помощью оператора *) на 12. Прочитайте возраст в двойным, чтобы дети могли гордиться тем, что были пятью и полтора года , а не только пять.

Вот имя и возраст пример, который я бежал без проблем:

#include "std_lib_facilities.h" 

    int main() 

    { 
    cout << "Please enter your name and age.\n"; 
    string name;   //string variable 
    int age;    //integer variable 
    cin >> name >> age;  //reads string and integer 
    cout << "Hello, " << name << " (Age: " << age << ")\n"; 
    } 

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

#include "std_lib_facilities.h" 

    int main() 
    { 
    cout << "Please enter your name and age\n"; 
    string name; 
    int age; 
    cin >> name >> age; 
    cout << "Hello, " << name << " (Age: " << age * 12 << " Months Old)\n"; 
    } 

Итак, остается вопрос: как мне «узнать возраст в двойник»? Несмотря на то, что мне удалось получить свой результат, чтобы показать возраст в течение нескольких месяцев, я считаю, что я не совсем понимаю, как решить этот вопрос.

+1

'int age;' -> 'double age;' – crashmstr

+2

Такие комментарии, как '// строковая переменная', не так полезны - очевидно из кода –

+0

Просто определите' age' как 'double'. – owacoder

ответ

3

Просто используйте double как тип переменной для чтения данных.

// What is this?  
//#include "std_lib_facilities.h" 
#include <iostream> 
#include <string> 
using std::cout; 
using std::string; 
using std::cin; 

int main() 
{ 
    cout << "Please enter your name and age\n"; 
    string name; 
    double age; 
    cin >> name >> age; 
    cout << "Hello, " << name << " (Age: " << age * 12 << " Months Old)\n"; 
    return 0; 
} 
+1

Он использует предварительно скомпилированный заголовок «std_lib_facilities.h», который создается Bjarne Stroustrup для новых программистов. –

+0

Этот заголовок позволяет новым программистам использовать общие библиотеки, не включая их вручную. Он также позволяет учащемуся использовать библиотечные функции без квалификатора std. –

0

Просто объявить возраст как двойной. Ваша проблема должна быть решена.

Пример кода

#include "std_lib_facilities.h" 

int main() 
{ 
cout << "Please enter your name and age\n"; 
string name; 
double age; 
cin >> name >> age; 
cout << "Hello, " << name << " (Age: " << age * 12 << " Months Old)\n"; 
} 

Теперь программа должна работать без каких-либо проблем.

Смежные вопросы