#include<iostream>
using namespace std;
void division(int apples, int children){
int per_child;
int rest;
//除零错误异常消息字符串
string divid0 = "";
//小朋友数多于苹果数的异常消息整数
int notenough = 1;
if(children == 0){
throw divid0;
}
else if(apples < children){
throw notenough;
}
per_child = apples / children;
rest = apples % children;
cout << "每个小朋友分:" << per_child << "个苹果。" << endl;
cout << "还剩:" << rest <<"个苹果。" << endl;
}
int main() {
int apples, children;
cin >> apples;
cin >> children;
//添加异常处理过程try块,让程序圆满执行不崩溃。
//如果小朋友为0,则输出 小朋友一个没来,不能分苹果。并回车
//如果小朋友数大于苹果数,则输出 不够分。并回车
//如果正常够分,则在调用division函数后,输出 成功完成了一次分苹果活动。
division(apples, children);
return 0;
}
测试输入:
10
3
预期输出:
每个小朋友分:3个苹果。
还剩:1个苹果。
成功完成了一次分苹果活动。
测试输入:
10
0
预期输出:
小朋友一个没来,不能分苹果。
参考如下:
#include<iostream>
using namespace std;
void division(int apples, int children){
int per_child;
int rest;
//除零错误异常消息字符串
string divid0 = "";
//小朋友数多于苹果数的异常消息整数
int notenough = 1;
if(children == 0){
throw divid0;
}
else if(apples < children){
throw notenough;
}
per_child = apples / children;
rest = apples % children;
cout << "每个小朋友分:" << per_child << "个苹果。" << endl;
cout << "还剩:" << rest <<"个苹果。" << endl;
}
int main() {
int apples, children;
cin >> apples;
cin >> children;
//添加异常处理过程try块,让程序圆满执行不崩溃。
//如果小朋友为0,则输出 小朋友一个没来,不能分苹果。并回车
//如果小朋友数大于苹果数,则输出 不够分。并回车
//如果正常够分,则在调用division函数后,输出 成功完成了一次分苹果活动。
try {
division(apples, children);
} catch (int e1) {
cout << "不够分。" << endl;
} catch (string e2) {
cout << "小朋友一个没来,不能分苹果。" << endl;
}
return 0;
}