C语言程序《计算器程序》.docx

上传人:b****6 文档编号:7139888 上传时间:2023-01-21 格式:DOCX 页数:25 大小:19.68KB
下载 相关 举报
C语言程序《计算器程序》.docx_第1页
第1页 / 共25页
C语言程序《计算器程序》.docx_第2页
第2页 / 共25页
C语言程序《计算器程序》.docx_第3页
第3页 / 共25页
C语言程序《计算器程序》.docx_第4页
第4页 / 共25页
C语言程序《计算器程序》.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言程序《计算器程序》.docx

《C语言程序《计算器程序》.docx》由会员分享,可在线阅读,更多相关《C语言程序《计算器程序》.docx(25页珍藏版)》请在冰豆网上搜索。

C语言程序《计算器程序》.docx

C语言程序《计算器程序》

打开MicrosoftViusalC++:

文件—新建—选择C++SourceFile或C/C++HaederFile—在右边的文件名处填入文件名,如计算器.c(注意一定要以.c作后缀)--确定—把下面的程序全部粘贴到窗口内-然后运行依次按Ctrl+F7F7Ctrl+F5在弹出来的选择框点确定—OK。

#include

#include

intmain()

{

voidtop();

voidno1(),no2(),no3(),no4(),no5(),no6(),no7(),no8(),no9(),no10(),no11(),no12(),no13(),no14(),no15(),no16(),no17(),no18(),no19(),no20(),no21(),no22(),no23(),no24(),no25();

voidmenu();

intk=1;charm;

charselect;

while

(1)

{system("cls");//清屏

menu();

system("color0a");//绿化

scanf("%c",&select);

switch(select)

{

case'a':

no1();break;

case'b':

no2();break;

case'c':

no3();break;

case'd':

no4();break;

case'e':

no5();break;

case'f':

no6();break;

case'g':

no7();break;

case'h':

no8();break;

case'i':

no9();break;

case'j':

no10();break;

case'k':

no11();break;

case'l':

no12();break;

case'm':

no13();break;

case'n':

no14();break;

case'o':

no15();break;

case'p':

no16();break;

case'q':

no17();break;

case'r':

no18();break;

case's':

no19();break;

case't':

no20();break;

case'u':

no21();break;

case'v':

no22();break;

case'w':

no23();break;

case'x':

no24();break;

}

scanf("%d",&k);

if(k==0)break;

if(k==1){printf("\n");}

}

return0;

}

voidmenu()

{

//printf("\n老师您好!

我是通信2班的陈国昌学号201130095092\n\n");

printf("请键入字母选择功能,按其他键退出:

\n\n");

printf("a.整数加法h.小数乘法o.八转十六v.二进制加法运算\n\n");

printf("b.整数减法i.小数除法p.十进转二w.二进制减法运算\n\n");

printf("c.整数乘法j.二进转八q.十进转八x.二进制原补反码\n\n");

printf("d.整数除法k.二进转十r.十转十六\n\n");

printf("e.整除求余l.二转十六s.十六转二\n\n");

printf("f.小数加法m.八进转二t.十六转八\n\n");

printf("g.小数减法n.八进转十u.十六转十\n");

}

voidno1()

{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];

while(k==1){

printf("整数加法,请输入第一个数:

\n");

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

\n");k=1;break;}}}

k=1;

while(k==1){

printf("请输入第二个数:

\n");

scanf("%s",rem);

for(i=0;rem[i]!

=0;i++)

{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

");k=1;break;}}}

printf("%d+%d=%d\n",sum1,sum2,sum1+sum2);

printf("键入1键继续,键入0键退出.\n");

}

voidno2()

{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];

while(k==1){

printf("整数减法,请输入第一个数:

\n");

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

\n");k=1;break;}}}

k=1;

while(k==1){

printf("请输入第二个数:

\n");

scanf("%s",rem);

for(i=0;rem[i]!

=0;i++)

{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

");k=1;break;}}}

printf("%d-%d=%d\n",sum1,sum2,sum1-sum2);

printf("键入1键继续,键入0键退出.\n");

}

voidno3()

{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];

while(k==1){

printf("整数乘法,请输入第一个数:

\n");

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

\n");k=1;break;}}}

k=1;

while(k==1){

printf("请输入第二个数:

\n");

scanf("%s",rem);

for(i=0;rem[i]!

=0;i++)

{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

");k=1;break;}}}

printf("%d*%d=%d\n",sum1,sum2,sum1*sum2);

printf("键入1键继续,键入0键退出.\n");

}

voidno4()

{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];

while(k==1){

printf("整数除法,请输入第一个数:

\n");

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

\n");k=1;break;}}}

k=1;

while(k==1){

printf("请输入第二个数:

\n");

scanf("%s",rem);

for(i=0;rem[i]!

=0;i++)

{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

");k=1;break;}}}

printf("%d/%d=%d\n",sum1,sum2,sum1/sum2);

printf("键入1键继续,键入0键退出.\n");

}

voidno5()

{inti,k=1,sum1=0,sum2=0;charnum[20],rem[20];

while(k==1){

printf("整除求余,请输入第一个数:

\n");

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{if(num[i]>47&&num[i]<58){sum1=sum1*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

\n");k=1;break;}}}

k=1;

while(k==1){

printf("请输入第二个数:

\n");

scanf("%s",rem);

for(i=0;rem[i]!

=0;i++)

{if(rem[i]>47&&rem[i]<58){sum2=sum2*10+rem[i]-48;k=0;}

else{printf("输入错误,输入的只能是0…9的数字,请重新输入:

");k=1;break;}}}

i=sum1/sum2;

printf("%d除%d商为%d余数为%d\n",sum1,sum2,sum1/sum2,sum1-i);

printf("键入1键继续,键入0键退出.\n");

}

voidno6()

{

floatx,y;

printf("小数加法,请输入第一个数:

\n");

scanf("%f",&x);

printf("请输入第二个数:

\n");

scanf("%f",&y);

printf("%5.2f+%5.2f=%5.3f\n\n",x,y,x+y);

printf("键入1键继续,键入0键退出.\n");

}

voidno7()

{

floatx,y;

printf("小数减法,请输入第一个数:

\n");

scanf("%f",&x);

printf("请输入第二个数:

\n");

scanf("%f",&y);

printf("%5.2f-%5.2f=%5.3f\n\n",x,y,x-y);

printf("键入1键继续,键入0键退出.\n");

}

voidno8()

{

floatx,y;

printf("小数乘法,请输入第一个数:

\n");

scanf("%f",&x);

printf("请输入第二个数:

\n");

scanf("%f",&y);

printf("%5.2f*%5.2f=%5.3f\n\n",x,y,x*y);

printf("键入1键继续,键入0键退出.\n");

}

voidno9()

{

floatx,y;

printf("小数除法,请输入第一个数:

\n");

scanf("%f",&x);

printf("请输入第二个数:

\n");

scanf("%f",&y);

printf("%5.2f/%5.2f=%5.3f\n\n",x,y,x/y);

printf("键入1键继续,键入0键退出.\n");

}

voidno10()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("二进转八,请输入二进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]!

='0'&&num[i]!

='1'){printf("输入错误,输入的只能是0和1,请重新输入:

\n");k=1;break;}

else{sum=sum*2+num[i]-48;k=0;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%8;

if(sum<=7){rem[j]=sum;break;}

else{sum=sum-sum%8;i=sum/8;sum=i;}

}

printf("二进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的八进制表示为:

");

for(i=j;i>=0;i--)

{

printf("%d",rem[i]);

}

printf("\n键入1键继续,键入0键退出.\n");

}

voidno11()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("二进转十,请输入二进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]!

='0'&&num[i]!

='1'){printf("输入错误,输入的只能是0和1,请重新输入:

\n");k=1;break;}

else{sum=sum*2+num[i]-48;k=0;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%10;

if(sum<=9){rem[j]=sum;break;}

else{sum=sum-sum%10;i=sum/10;sum=i;}

}

printf("二进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的十进制表示为:

");

for(i=j;i>=0;i--)

{

printf("%d",rem[i]);

}

printf("\n键入1键继续,键入0键退出.\n");

}voidno12()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("二转十六,请输入二进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]!

='0'&&num[i]!

='1'){printf("输入错误,输入的只能是0和1,请重新输入:

\n");k=1;break;}

else{sum=sum*2+num[i]-48;k=0;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%16;

if(sum<=15){rem[j]=sum;break;}

else{sum=sum-sum%16;i=sum/16;sum=i;}

}

printf("二进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的十六进制表示为:

");

for(i=j;i>=0;i--)

{

if(rem[i]>9&&rem[i]<16){printf("%c",rem[i]+55);}

else{printf("%d",rem[i]);}

}

printf("\n键入1键继续,键入0键退出.\n");

}

voidno13()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("八进转二,请输入八进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]<56&&num[i]>47){sum=sum*8+num[i]-48;k=0;}

else{printf("输入错误,输入的只能为0…7的数字,请重新输入:

\n");k=1;break;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%2;

if(sum<=1){rem[j]=sum;break;}

else{sum=sum-sum%2;i=sum/2;sum=i;}

}

printf("八进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的二进制表示为:

");

for(i=j;i>=0;i--)

{

printf("%d",rem[i]);

}

printf("\n键入1键继续,键入0键退出.\n");

}

voidno14()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("八进转十,请输入八进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]<56&&num[i]>47){sum=sum*8+num[i]-48;k=0;}

else{printf("输入错误,输入的只能为0…7的数字,请重新输入:

\n");k=1;break;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%10;

if(sum<=9){rem[j]=sum;break;}

else{sum=sum-sum%10;i=sum/10;sum=i;}

}

printf("八进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的十进制表示为:

");

for(i=j;i>=0;i--)

{

printf("%d",rem[i]);

}

printf("\n键入1键继续,键入0键退出.\n");

}

voidno15()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("八转十六,请输入八进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]<56&&num[i]>47){sum=sum*8+num[i]-48;k=0;}

else{printf("输入错误,输入的只能为0…7的数字,请重新输入:

\n");k=1;break;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%16;

if(sum<=15){rem[j]=sum;break;}

else{sum=sum-sum%16;i=sum/16;sum=i;}

}

printf("八进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的十六进制表示为:

");

for(i=j;i>=0;i--)

{

if(rem[i]>9&&rem[i]<16){printf("%c",rem[i]+55);}

else{printf("%d",rem[i]);}

}

printf("\n键入1键继续,键入0键退出.\n");

}

voidno16()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("十进转二,请输入十进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]<58&&num[i]>47){sum=sum*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能为0…9的数字,请重新输入:

\n");k=1;break;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%2;

if(sum<=1){rem[j]=sum;break;}

else{sum=sum-sum%2;i=sum/2;sum=i;}

}

printf("十进制数组:

");

for(i=0;num[i]!

=0;i++)

{

printf("%d",num[i]-48);

}

printf("的二进制表示为:

");

for(i=j;i>=0;i--)

{

printf("%d",rem[i]);

}

printf("\n键入1键继续,键入0键退出.\n");

}

voidno17()

{

inti,j,k=1,sum=0;charnum[20],rem[20];

printf("十进转八,请输入十进制数组:

\n");

while(k==1){

scanf("%s",num);

for(i=0;num[i]!

=0;i++)

{

if(num[i]<58&&num[i]>47){sum=sum*10+num[i]-48;k=0;}

else{printf("输入错误,输入的只能为0…9的数字,请重新输入:

\n");k=1;break;}

}}

for(j=0;j<=20;j++)

{

rem[j]=sum%8;

if(sum<=7){rem[j]=sum;break;}

else{sum=sum-sum%8;i=sum/8;sum=i;}

}

printf("十进制数组:

");

for(i=0;num[i]!

=0;i++)

{

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1