用C语言设计一个多用且可多次使用的计算器,能正确完成四则运算、位运算、数制转换数等运算。
代码如下:
#include<stdio.h>
#include<windows.h>
#include<conio.h>
int main() {
system("color 0B");
int op=1,a,b,k1;
double c,d;
while(op!=0) {
printf("加法: 1");
printf("减法: 2\n");
printf("乘法: 3");
printf("除法: 4\n");
printf("整除: 5");
printf("取余: 6\n");
printf("进制转换: 7\n");
printf("位运算: 8\n");
printf("退出: 0\n");
printf("请按数字键选择: \n");
scanf("%d",&op);
if(op==0) break;
if(op==1){
scanf("%d %d",&a,&b);
printf("%d\n",a+b);
}else if(op==2){
scanf("%d %d",&a,&b);
printf("%d\n",a-b);
}else if(op==3){
scanf("%d %d",&a,&b);
printf("%d\n",a*b);
}else if(op==4){
scanf("%lf %lf",&c,&d);
printf("%f\n",c/d);
}else if(op==5){
scanf("%d %d",&a,&b);
printf("%d\n",a/b);
}else if(op==6){
scanf("%d %d",&a,&b);
printf("%d\n",a%b);
}
else if(op==7){
system("cls");
int f=1;
while(f){
char j;
int a=0;
int b,c;
printf("位运算计算器:\n");
printf("1.~运算 2.&运算\n");
printf("3.|运算 4.^运算\n");
printf("5.>>运算 6.<<运算\n");
printf("返回主菜单 0\n");
printf("\n请选择你需要的功能:");
scanf("%c",&j);
getchar();
system("cls");
if(j=='0'){
break;
}
if(j=='1'){
printf("请输入你需要计算的数字:");
scanf("%d",&b);
a=~b;
printf("%d",a);
}
if(j=='2'){
printf("请输入你需要计算的数字:");
scanf("%d %d",&b,&c);
a=b&c;
printf("%d",a);
}
if(j=='3'){
printf("请输入你需要计算的数字:");
scanf("%d %d",&b,&c);
a=b|c;
printf("%d",a);
}
if(j=='4'){
printf("请输入你需要计算的数字:");
scanf("%d %d",&b,&c);
a=b^c;
printf("%d",a);
}
if(j=='5'){
printf("请输入你需要计算的数字:");
scanf("%d %d",&b,&c);
a=b>>c;
printf("%d",a);
}
if(j=='6'){
printf("请输入你需要计算的数字:");
scanf("%d %d",&b,&c);
a=b<<c;
printf("%d",a);
}
getchar();
getchar();
system("cls");
}
}
else if(op==8){
system("cls");
int k=1;
while(k){
char j;
int a;
printf("进制转换计算器:\n");
printf("1.10转8进制 2.10转16进制\n");
printf("3.16转8进制 4.16转10进制\n");
printf("5.8转10进制 6.8转16进制\n");
printf("返回主菜单: 0\n");
printf(" \n");
printf("请选择你需要的功能:");
scanf("%c",&j);
getchar();
if(j=='0'){
break;
}
if(j=='1'){
printf("请输入你需要转换的数字:\n");
scanf("%d",&a);
printf("%o",a);
}
if(j=='2'){
printf("请输入你需要转换的数字:\n");
scanf("%d",&a);
printf("%x",a);
}
if(j=='3'){
printf("请输入你需要转换的数字:\n");
scanf("%x",&a);
printf("%o",a);
}
if(j=='4'){
printf("请输入你需要转换的数字:\n");
scanf("%x",&a);
printf("%d",a);
}
if(j=='5'){
printf("请输入你需要转换的数字:\n");
scanf("%o",&a);
printf("%d",a);
}
if(j=='6'){
printf("请输入你需要转换的数字:\n");
scanf("%o",&a);
printf("%0x",a);
}
getchar();
getchar();
system("cls");
}
}
getchar();
getchar();
system("cls");
}
return 0;
}
效果图: