设计一个小型计算器——C语言初阶

一.规则:

1.能够有清晰的界面

2.程序能根据用户的选择实现两个整数的加减乘除运算

3.能够用 if switch 两种方式实现

.

.

.

二.实践:

1.初次想法

不要用goto,因为它会大大降低代码的可读性以及调试性(通俗来说,如果代码很长,然后里面有goto,你在调试的时候看着看着它忽然就跳到了一个你不知道的地方,你又要重新看!——MF

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void menu1()
{
	printf("*************************************\n");
	printf("*********     0.退出计算    *********\n");
	printf("******* 输入0以外的数开始计算 *******\n");
	printf("*************************************\n");
}
void menu2()
{
	printf("***********************************\n");
	printf("*******     1.加法运算    *********\n");
	printf("*******     2.减法运算    *********\n");
	printf("*******     3.乘法运算    *********\n");
	printf("*******     4.除法运算    *********\n");
	printf("***********************************\n");
}//输入那个数字就开始进行相关运算
	void game()
	{
		int a = 0;
		int b = 0;
		int n = 0;
			printf("请选择一种运算方式:\n");
			scanf("%d", &n);
			printf("请输入两个整数:\n");
			scanf("%d %d", &a, &b);
			switch (n)
			{
			case 1:
				printf("两数之和为:%d\n", a + b);
				break;
			case 2:
				printf("两数之差为:%d\n", a - b);
				break;
			case 3:
				printf("两数之积为:%d\n", a * b);
				break;
			case 4:
				printf("两数之商为:%f\n", (float) a / b);
				break;
		}
	}
int main()
{
		end:
	menu1();
	int input = 0;
	printf("请决定是否开始计算:\n");
	scanf("%d", &input);
	if (input == 0)
		printf("您已退出计算!");
	else
	{
			menu2();
			game();
			goto end;
	}
	return 0;
}

.

2.进行调整:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void menu1()
{
	printf("*************************************\n");
	printf("*********     0.退出计算    *********\n");
	printf("******* 输入0以外的数开始计算 *******\n");
	printf("*************************************\n");
}
void menu2()
{
	printf("***********************************\n");
	printf("*******     1.加法运算    *********\n");
	printf("*******     2.减法运算    *********\n");
	printf("*******     3.乘法运算    *********\n");
	printf("*******     4.除法运算    *********\n");
	printf("***********************************\n");
}//输入那个数字就开始进行相关运算
void game()
{
	int a = 0;
	int b = 0;
	int n = 0;
	printf("请选择一种运算方式:\n");
	scanf("%d", &n);
	printf("请输入两个整数:\n");
	scanf("%d %d", &a, &b);
	switch (n)
	{
	case 1:
		printf("两数之和为:%d\n", a + b);
		break;
	case 2:
		printf("两数之差为:%d\n", a - b);
		break;
	case 3:
		printf("两数之积为:%d\n", a * b);
		break;
	case 4:
		printf("两数之商为:%f\n", (float)a / b);
		break;
	}
}
int main()
{
	while(1)
{
	menu1();
	int input = 0;
	printf("请决定是否开始计算:\n");
	scanf("%d", &input);
	if (input == 0)
		printf("您已退出计算!");
	else
	{
		menu2();
		game();
	}
}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qsl&F

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值