【第四章】C++ Primer plus 的编程练习题(选取部分)
2018-02-02 10:19
573 查看
/*********************************** 2017年9月30日15:06:09 Athor:xiyuan255 Course:C++ Contain:review4.cpp Reference: C++ Primer plus 说明:C++ Primer plus第四章的练习题(选取部分) 【 P124 】 *************************************/ // review4.cpp -- C++ Primer plus 第四章练习题 #include <iostream> #include <string> // exsampleNo2 field #include <array> // exsampleNo10 field using namespace std; void exampleNo1(void); void exampleNo2(void); void exampleNo3(void); void exampleNo4(void); void exampleNo6(void); void exampleNo7(void); void exampleNo8(void); void exampleNo10(void); int main(void) { //exampleNo1(); // example 1 test //exampleNo2(); // example 2 test //exampleNo3(); // example 3 test //exampleNo4(); // example 4 test //exampleNo6(); // example 6 test //exampleNo7(); // example 7 test //exampleNo8(); // example 8 test exampleNo10(); // example 10 test return 0; } void exampleNo1(void) { cout << "What is your first name? "; char first_name[20]; cin.getline(first_name, 20); cout << "What is your last name? "; char last_name[10]; cin >> last_name; cout << "What letter grade do your deserve? "; char letter; cin >> letter; cout << "What is your age? "; int age; cin >> age; cout << "Name: " << first_name << ", " << last_name << endl; cout << "Grade: " << (char)(letter + 1) << endl; cout << "Age: " << age << endl; } /** 输出结果: What is your first name? Betty Sue What is your last name? Yewe What letter grade do your deserve? B What is your age? 22 Name: Betty Sue, Yewe Grade: C Age: 22 */ void exampleNo2(void) { string name; string dessert; cout << "Enter your name: \n"; getline(cin, name); // reads through newline cout << "Enter your favorite dessert: \n"; getline(cin, dessert); cout << "I have some delicious " << dessert; cout << " for you, " << name << ".\n"; } /** 输出结果: Enter your name: Dirk Hammernose Enter your favorite dessert: Radish Torte I have some delicious Radish Torte for you, Dirk Hammernose. */ void exampleNo3(void) { cout << "Enter your first name: "; char first_name[20]; cin.getline(first_name, 20); cout << "Enter your last name: "; char last_name[20]; cin.getline(last_name, 20); cout << "Here's the infomation in a single string: " << last_name << ", " << first_name << endl; } /** 输出结果: Enter your first name: Flip Enter your last name: Fleming Here's the infomation in a single string: Fleming, Flip */ void exampleNo4(void) { cout << "Enter your first name: "; string first_name; getline(cin, first_name); cout << "Enter your last name: "; string last_name; getline(cin, last_name); cout << "Here's the infomation in a single string: " << last_name << ", " << first_name << endl; } /** 输出结果: Enter your first name: Flip Enter your last name: Fleming Here's the infomation in a single string: Fleming, Flip */ void exampleNo6(void) { struct CandyBar { char name[20]; float weight; int calorie; }; CandyBar snack = { "Mocha Munch", 2.3f, 350 }; // test exampleNo5 CandyBar snarray[3] = { { "Chocolate", 2.8f, 400 }, { "Cotton Candy", 2.5f, 420}, { "Hamburger", 3.1f, 350} }; /* 使用new来分配CandyBar类型的数组 例9 */ CandyBar * psnarray = new CandyBar[3]; cout << "snarray[0]{ " << "name: " << snarray[0].name << ", weight: " << snarray[0].weight << ", calorie: " << snarray[0].calorie << " }\n"; cout << "snarray[1]{ " << "name: " << (snarray + 1)->name << ", weight: " << (snarray + 1)->weight << ", calorie: " << (snarray + 1)->calorie << " }\n"; cout << "snarray[2]{ " << "name: " << (*(snarray + 2)).name << ", weight: " << (*(snarray + 2)).weight << ", calorie: " << (*(snarray + 2)).calorie << " }\n"; } /** 输出结果: snarray[0]{ name: Chocolate, weight: 2.8, calorie: 400 } snarray[1]{ name: Cotton Candy, weight: 2.5, calorie: 420 } snarray[2]{ name: Hamburger, weight: 3.1, calorie: 350 } */ void exampleNo7(void) { struct pizza_msg { char company[40]; float diameter; float weight; }; pizza_msg pmstrct; cout << "请输入披萨所属的公司名称: "; cin >> pmstrct.company; cout << "请输入披萨的直径: "; cin >> pmstrct.diameter; cout << "请输入披萨的重量: "; cin >> pmstrct.weight; cout << "该披萨的信息如下:\n"; cout << "公司名称:" << pmstrct.company << endl; cout << "直径:" << pmstrct.diameter << endl; cout << "重量:" << pmstrct.weight << endl; } /** 输出结果: 请输入披萨所属的公司名称: jingzunpisai 请输入披萨的直径: 12.0 请输入披萨的重量: 256 该披萨的信息如下: 公司名称:jingzunpisai 直径:12 重量:256 */ void exampleNo8(void) { char * pcompany = new char[40]; float * pdiameter = new float; float * pweight = new float; cout << "请输入披萨的直径: "; cin >> (*pdiameter); cout << "请输入披萨所属的公司名称: "; cin >> pcompany; cout << "请输入披萨的重量: "; cin >> (*pweight); cout << "该披萨的信息如下:\n"; cout << "直径:" << (*pdiameter) << endl; cout << "公司名称:" << pcompany << endl; cout << "重量:" << (*pweight) << endl; delete pdiameter; delete [] pcompany; delete pweight; } /** 输出结果: 请输入披萨的直径: 20.5 请输入披萨所属的公司名称: jingzunpisai 请输入披萨的重量: 320 该披萨的信息如下: 直径:20.5 公司名称:jingzunpisai 重量:320 */ void exampleNo10(void) { const int Number = 3; array<float, Number> grade; cout << "请输入短跑40米的第一次的成绩(秒):"; cin >> grade[0]; cout << "请输入短跑40米的第二次的成绩(秒):"; cin >> grade[1]; cout << "请输入短跑40米的第三次的成绩(秒):"; cin >> grade[2]; cout << "共 " << Number << " 次短跑的平均成绩是:"; cout << (grade[0] + grade[1] + grade[2]) / Number << " 秒.\n"; } /** 输出结果: 请输入短跑40米的第一次的成绩(秒):5.12 请输入短跑40米的第二次的成绩(秒):6.36 请输入短跑40米的第三次的成绩(秒):4.96 共 3 次短跑的平均成绩是:5.48 秒. */
相关文章推荐
- 【第三章】C++ Primer plus 的编程练习题(选取部分)
- 【第五章】C++ Primer plus 的编程练习题(选取部分)
- 【第二章】C++ Primer plus 的编程练习题(选取部分)
- 【第六章】C++ Primer plus 的编程练习题(选取部分)
- 【第八章】C++ Primer plus 的编程练习题(选取部分)
- C++ Primer Plus 编程练习 第四章
- 【第十一章】C++ Primer plus 的编程练习题
- C++ Primer Plus第四章课后编程答案
- C++ Primer Plus课后编程练习——第七章 函数-C++的编程模块(部分)
- 【第十二章】C++ Primer plus 的编程练习题
- 【第十三章】C++ Primer plus 的编程练习题
- 【第十四章】C++ Primer plus 的编程练习题
- c++ primer plus(第6版)中文版 第四章编程练习答案
- C++ Primer Plus(第六版)第四章编程练习参考答案
- 【第十五章】C++ Primer plus 的编程练习题
- C++ primer plus(中文版) 第五章编程练习题
- 【第九章】C++ Primer plus 的编程练习题
- 【第十七章】C++ Primer plus 的编程练习题
- 【第十八章】C++ Primer plus 的编程练习题
- C++ Primer Plus第五版 第四章 编程练习答案