c++设计编写一个程序:从键盘输入一个学生的名字(建议用字符数组),年龄(16~25岁),五级制的面向对象课程考试成绩分数(0~5),调用函数float checkscore(int age,float score),该函数主要完成两件事:通过检查两个形参的范围是否合理,抛出异常信息提醒;如无异常则返回百分制成绩,最后输出学生的年龄、姓名、成绩。
时间: 2024-02-22 20:58:37 浏览: 71
下面是C++程序的实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
float checkscore(int age,float score) {
if (age < 16 || age > 25) {
throw "年龄不合法!";
}
if (score < 0 || score > 5) {
throw "成绩不合法!";
}
return score * 20;
}
int main() {
char name[20];
int age;
float score;
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生年龄:";
cin >> age;
cout << "请输入学生成绩:";
cin >> score;
try {
float final_score = checkscore(age, score);
cout << "学生信息如下:" << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "成绩:" << final_score << endl;
} catch (const char* msg) {
cerr << "出现异常:" << msg << endl;
}
return 0;
}
```
程序首先从标准输入读入学生的姓名、年龄和成绩,然后调用 `checkscore` 函数进行检查和转换,最后输出学生的信息。如果输入的数据不符合要求,则会抛出异常,程序就会跳转到 `catch` 块中进行异常处理。
阅读全文