接下来对代码由浅入深 *计算保留两位小数 运行示例: &欢迎使用简易计算机& 代码示例: 代码分析:在运行代码是必须先要输入特定字母,接下来进行此次算法;此外对加减乘除只限于两个数之间的运算,此代码没有实用性(微笑)。 *本计算器可进行加减乘除,开方,乘方; 运行代码 代码示例:
C语言计算器(上)
No.1
简易计算器,具有加减乘除,平方,立方和退出功能:
a--加法 b--减法 c--乘法 d--除法 e--开放 f--平方 g--立方 q--退出
请输入以下字母:
a:加法 b:减法 c:乘方 d:除法
e:开方 f:平方 g:立方 q:退出
请输入你的选项:e
请输入数值:5
2.00的开方等于2.24
代码:#include<stdio.h> #include <math.h> float num1,num2; float *p1=&num1,*p2=&num2; void input1(){ printf("请输入数值:"); scanf("%f",p1); } void input2(){ printf("请输入两个数值,中间用空格隔开:"); scanf("%f %f",p1,p2); } void add(){ input2(); printf("%.2f加%.2f等于%.2f",*p1,*p2,*p1+*p2); } void sub(){ input2(); printf("%.2f减%.2f%等于%.2f",*p1,*p2,*p1-*p2); } void mul(){ input2(); printf("%.2f乘与%.2f等于%.2f",*p1,*p2,*p1*(*p2)); } void count_d(){ input2(); printf("%.2f除于%.2f等于%.2f",*p1,*p2,*p1/(*p2)); } void count_e(){ input1(); printf("%.2f的开方等于%.2f",*p1,sqrt(*p1)); } void count_f(){ input1(); printf("%.2f的平方等于%.2f",*p1,*p1*(*p1)); } void count_g(){ input1(); printf("%.2f的立方等于%.2f",*p1,pow(*p1,3)); } int main(){ char in; printf("***欢迎使用简易计算机***n"); printf("--------------------------------"); printf("a. 加法tt b.减法 "); printf("c. 乘法 d. 除法 "); printf("e. 开方tt f.平方 "); printf("g. 立方tt q.退出 "); printf("--------------------------------"); printf("请输入你的选项:"); scanf("%c",&in); switch(in){ case 'a' : add();break; case 'b' : sub();break; case 'c' : mul();break; case 'd' : count_d();break; case 'e': count_e();break; case 'f': count_f();break; case 'g' : count_g();break; case 'q' : break} }
No.2
进阶计算器
*可对数累计运算a->加法 b->减法 c->乘法 d->除法 e->开放 f->乘方 o->当前值 p->清零 q--退出
#include<stdio.h> #include <math.h> float num1,num2,sum=0; float *p1=&num1,*p2=&num2,*ps=∑ char in,*pc=∈ int ojbk=0,*pi=&ojbk; void input1(){ printf("亲!请输入数值:"); scanf("%f",p1); } void input2(){ printf("亲!请输入两个数值,中间用空格隔开:"); scanf("%f %f",p1,p2); } void input3(){ printf("请再次输入数值:"); scanf("%f",p2); } void add(){ if(*pi==0){ input2(); *ps=*p1+*p2; *pi=1; } else{ input3(); *ps+=*p2; } printf("=%.2fn",*ps); } void sub(){ if(*pi==0){ input2(); *ps=*p1-*p2; *pi=1; } else{ input3(); *ps-=*p2; } printf("=%.2fn",*ps); } void mul(){ if(*pi==0){ input2(); *ps=*p1*(*p2); *pi=1; } else{ input3(); *ps*=*p2; } printf("=%.2fn",*ps); } void count_d(){ if(*pi==0){ input2(); *ps=*p1/(*p2); *pi=1; } else{ input3(); *ps/=*p2; } printf("=%.2fn",*ps); } void count_e(){ if(*pi==0){ input1(); *ps=sqrt(*p1); *pi=1; } else{ *p1=*ps; *ps=sqrt(*ps); } printf("%.2f的开方等于%fn",*p1,*ps); *p1=*ps; } void count_f(){ if(*pi==0){ input2(); *ps=pow(*p1,*p2); *pi=1; } else{ *p1=*ps; input3(); *ps=pow(*ps,*p2); } printf("%.2f的%.2f次方等于%fn",*p1,*p2,*ps); *p1=*ps; } void count_o(){ printf("值:%.2fn",*ps); } void part() { printf("请输入你的选项:"); switch(*pc=getchar()){ case 'a' : add(); break; case 'b' : sub();break; case 'c' : mul();break; case 'd' : count_d();break; case 'e': count_e();break; case 'f': count_f();break; case 'o' : count_o();break; case 'p': *pi=0; *ps=0; printf("已清零n"); break; } } int main() { printf("&欢迎使用进阶计算机&n"); printf("请输入以下字母:na:加法 b:减法 c:乘法 d:除法ne:开方 f:乘方np:清零 q:退出n"); do{ part(); }while(*pc!='q'); return 0; }
这个代码有个小bug,就是在输入选项的时候会多打出来一个“请输入你的选项”。
此毛病没看出来咋回事,应该是多循环了一次。
此次计算器代码就这两个,后续还会再编一个高级的,嘿嘿!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算