面向对象的C++程序设计 第六版 课后习题答案 第十章

上传人:飞****9 文档编号:130676607 上传时间:2020-04-30 格式:DOC 页数:55 大小:201.51KB
返回 下载 相关 举报
面向对象的C++程序设计 第六版 课后习题答案 第十章_第1页
第1页 / 共55页
面向对象的C++程序设计 第六版 课后习题答案 第十章_第2页
第2页 / 共55页
面向对象的C++程序设计 第六版 课后习题答案 第十章_第3页
第3页 / 共55页
面向对象的C++程序设计 第六版 课后习题答案 第十章_第4页
第4页 / 共55页
面向对象的C++程序设计 第六版 课后习题答案 第十章_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《面向对象的C++程序设计 第六版 课后习题答案 第十章》由会员分享,可在线阅读,更多相关《面向对象的C++程序设计 第六版 课后习题答案 第十章(55页珍藏版)》请在金锄头文库上搜索。

1、SavitchInstructors Resource GuideProblem Solving w/ C+, 6eChapter 10Chapter 10DEFINING CLASSES AND ABSTRACT DATA TYPES1. Solutions for and Remarks on Selected Programming ProblemsThis chapter can be done after Chapter 7, Arrays. However, I have not used anything from that chapter in these solutions.

2、 Several of these solutions could be simplified in good measure if arrays were used instead of the extensive switch and nested if else statements.1. Class grading programI have put statements of programming strategy and of the problem in the program comments./ch10Prg1.cpp#include using namespace std

3、;const int CLASS_SIZE = 5;/ The problem says this is for a class, rather than one student. One/ programming stratagem is to deal with a single student, then extend/ to treat an array of N students. /Grading Program/Policies:/ Two quizzes, 10 points each/ midterm and final exam, 100 points each/ Of g

4、rade, final counts 50%, midterm 25%, quizes25%/ Letter Grade is assigned:/ 90 or more A/ 80 or more B/ 70 or more C/ 60 or more D/ less than 60, F/ Read a students scores, / output record: scores + numeric average + assigned letter grade/ Use a struct to contain student record.struct StudentRecord i

5、nt studentNumber; double quiz1; double quiz2; double midterm; double final; double average; char grade;void input(StudentRecord& student);/prompts for input for one student, sets the/structure variable members.void computeGrade(StudentRecord& student);/calculates the numeric average and letter grade

6、.void output(const StudentRecord student);/outputs the student record.int main() StudentRecord studentCLASS_SIZE; for(int i = 0; i CLASS_SIZE; i+) input(studenti); / Enclosing block fixes VC+ for loop control defined outside loop for(int i = 0; i CLASS_SIZE; i+) computeGrade(studenti); output(studen

7、ti); cout endl; return 0;void input(StudentRecord &student) cout student.studentNumber; cout student.studentNumber endl; cout enter two 10 point quizes student.quiz1 student.quiz2; cout student.quiz1 student.quiz2 endl; cout enter the midterm and final exam grades. student.midterm student.final; cou

8、t student.midterm student.final endl endl;void computeGrade(StudentRecord& student)/ Of grade, final counts 50%, midterm 25%, quizes25% double quizAvg= (student.quiz1 + student.quiz2)/2.0; double quizAvgNormalized = quizAvg * 10; student.average = student.final * 0.5 + student.midterm * 0.25 + quizA

9、vgNormalized * 0.25; char letterGrade= FFFFFFDCBAA; int index = static_cast(student.average/10); if(index 0 | 10 = index) cout Bad numeric grade encountered: student.average endl Aborting.n; abort(); student.grade = letterGradeindex;void output(const StudentRecord student) cout The record for studen

10、t number: student.studentNumber endl The quiz grades are: student.quiz1 student.quiz2 endl The midterm and exam grades are: student.midterm student.final endl The numeric average is: student.average endl and the letter grade assigned is student.grade endl;Data for the test run:1 7 10 90 952 9 8 90 8

11、03 7 8 70 804 5 8 50 705 4 0 40 35Command line command to execute the text run:ch10prg1 dataOutput:enter the student number: 1enter two 10 point quizes7 10enter the midterm and final exam grades. These are 100 point tests90 95enter the student number: 2enter two 10 point quizes9 8enter the midterm a

12、nd final exam grades. These are 100 point tests90 80enter the student number: 3enter two 10 point quizes7 8enter the midterm and final exam grades. These are 100 point tests70 80enter the student number: 4enter two 10 point quizes5 8enter the midterm and final exam grades. These are 100 point tests5

13、0 70enter the student number: 5enter two 10 point quizes4 0enter the midterm and final exam grades. These are 100 point tests40 35The record for student number: 1The quiz grades are: 7 10The midterm and exam grades are: 90 95The numeric average is: 91.25and the letter grade assigned is AThe record for student number: 2The quiz grades are: 9 8The midterm and exam grades are: 90 80The numeric average is: 83.75and the letter grade

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号