豪华版计算器
代码部分:
#include
// 函数声明
int get_option(); // 获取用户选项的函数
void print_result(int num1, int num2, int result, int option); // 打印计算结果的函数
// 主函数入口
int main()
{
int done = 0; // 控制循环的标记变量
int option, num1, num2, result; // 用于存储用户选项和计算的数字以及结果
// 使用while循环来重复执行计算,直到用户选择退出
while(!done)
{
option = get_option(); // 获取用户选项
if(option == 5) // 如果用户选择退出(选项5)
{
done = 1; // 设置done为1,退出循环
}
else {
do {
printf("\n请输入两个数:");
scanf("%d %d", &num1, &num2); // 读取用户输入的两个数字
if(option == 4 && num2 == 0) // 如果用户选择除法且第二个数为0
{
printf("\n对不起,除数不能为零"); // 提示用户除数不能为0
}
else {
// 根据用户选项进行计算
switch(option){
case 1: // 加法
result = num1 + num2;
break;
case 2: // 减法
result = num1 - num2;
break;
case 3: // 乘法
result = num1 * num2;
break;
case 4: // 除法
result = num1 / num2;
}
print_result(num1, num2, result, option); // 打印计算结果
}
}while(option == 4 && num2 == 0); // 如果是除法且除数为0,则重新输入
}
}
return 0; // 程序结束
}
// 获取用户选项的函数
int get_option()
{
int option; // 用于存储用户选项
do
{
printf("\n ****************");
printf("\n * 1.加法 *");
printf("\n * 2.减法 *");
printf("\n * 3.乘法 *");
printf("\n * 4.除法 *");
printf("\n * 5.退出 *");
printf("\n ****************");
printf("\n请输入您需要的功能:");
scanf("%d", &option); // 读取用户输入的选项
if(option < 1 || option > 5) // 如果输入的选项不在1到5之间
{
printf("对不起您输入的数字有误,请重新输入。\n"); // 提示用户输入有误
}
}while(option < 1 || option > 5); // 循环直到用户输入正确的选项
return option; // 返回用户选项
}
// 打印计算结果的函数
void print_result(int num1, int num2, int result, int option)
{
char operator; // 用于存储运算符
switch(option) // 根据选项确定运算符
{
case 1: // 加法
operator = '+';
break;
case 2: // 减法
operator = '-';
break;
case 3: // 乘法
operator = '*';
break;
case 4: // 除法
operator = '/';
}
printf("\n** %d %c %d = %d **\n", num1, operator, num2, result); // 打印计算结果
}
知识点总结:
1. **函数定义与调用**:`get_option`和`print_result`函数的定义和调用。
2. **循环控制**:使用`while`和`do-while`循环来控制程序流程。
3. **条件判断**:使用`if-else`和`switch`语句来进行条件判断。
4. **输入输出**:使用`printf`和`scanf`函数进行输入输出操作。
5. **算术运算**:使用基本的算术运算符进行计算。
难点:
1. **循环控制逻辑**:理解如何使用循环来重复执行计算,直到用户选择退出。
2. **错误处理**:处理用户输入错误的情况,如除数为0或输入的选项不在1到5之间。
3. **函数的使用**:理解如何定义和调用函数来简化代码和提高代码的可读性。
代码部分:
#include
// 函数声明
int get_option(); // 获取用户选项的函数
void print_result(int num1, int num2, int result, int option); // 打印计算结果的函数
// 主函数入口
int main()
{
int done = 0; // 控制循环的标记变量
int option, num1, num2, result; // 用于存储用户选项和计算的数字以及结果
// 使用while循环来重复执行计算,直到用户选择退出
while(!done)
{
option = get_option(); // 获取用户选项
if(option == 5) // 如果用户选择退出(选项5)
{
done = 1; // 设置done为1,退出循环
}
else {
do {
printf("\n请输入两个数:");
scanf("%d %d", &num1, &num2); // 读取用户输入的两个数字
if(option == 4 && num2 == 0) // 如果用户选择除法且第二个数为0
{
printf("\n对不起,除数不能为零"); // 提示用户除数不能为0
}
else {
// 根据用户选项进行计算
switch(option){
case 1: // 加法
result = num1 + num2;
break;
case 2: // 减法
result = num1 - num2;
break;
case 3: // 乘法
result = num1 * num2;
break;
case 4: // 除法
result = num1 / num2;
}
print_result(num1, num2, result, option); // 打印计算结果
}
}while(option == 4 && num2 == 0); // 如果是除法且除数为0,则重新输入
}
}
return 0; // 程序结束
}
// 获取用户选项的函数
int get_option()
{
int option; // 用于存储用户选项
do
{
printf("\n ****************");
printf("\n * 1.加法 *");
printf("\n * 2.减法 *");
printf("\n * 3.乘法 *");
printf("\n * 4.除法 *");
printf("\n * 5.退出 *");
printf("\n ****************");
printf("\n请输入您需要的功能:");
scanf("%d", &option); // 读取用户输入的选项
if(option < 1 || option > 5) // 如果输入的选项不在1到5之间
{
printf("对不起您输入的数字有误,请重新输入。\n"); // 提示用户输入有误
}
}while(option < 1 || option > 5); // 循环直到用户输入正确的选项
return option; // 返回用户选项
}
// 打印计算结果的函数
void print_result(int num1, int num2, int result, int option)
{
char operator; // 用于存储运算符
switch(option) // 根据选项确定运算符
{
case 1: // 加法
operator = '+';
break;
case 2: // 减法
operator = '-';
break;
case 3: // 乘法
operator = '*';
break;
case 4: // 除法
operator = '/';
}
printf("\n** %d %c %d = %d **\n", num1, operator, num2, result); // 打印计算结果
}
知识点总结:
1. **函数定义与调用**:`get_option`和`print_result`函数的定义和调用。
2. **循环控制**:使用`while`和`do-while`循环来控制程序流程。
3. **条件判断**:使用`if-else`和`switch`语句来进行条件判断。
4. **输入输出**:使用`printf`和`scanf`函数进行输入输出操作。
5. **算术运算**:使用基本的算术运算符进行计算。
难点:
1. **循环控制逻辑**:理解如何使用循环来重复执行计算,直到用户选择退出。
2. **错误处理**:处理用户输入错误的情况,如除数为0或输入的选项不在1到5之间。
3. **函数的使用**:理解如何定义和调用函数来简化代码和提高代码的可读性。
全部评论
相关推荐
05-29 09:02
门头沟学院 Java 点赞 评论 收藏
分享