导航:首页 > 软件知识 > 如何编写计算器程序

如何编写计算器程序

发布时间:2022-01-26 08:49:25

㈠ c语言设计一个简单的计算器程序

#include<stdio.h>//计算器

voidmenu()//自定义的菜单界面

printf("--------------------\n");

printf("请输入你的选择\n");

printf("1.+\n");

printf("2.-\n");

printf("3.*\n");

printf("4./\n");

printf("--------------------\n");

intmain()

inti=0;

intj=0;

intnum=0;//计算结果存放在nun

intselect=0;//选择的选项存放在select

do//do-while先执行再判断循环条件,即可实现重复计算功能

menu();//打印出菜单界面

scanf("%d",&select);//输入你的选项

printf("请输入计算值:");

scanf("%d%d",&i,&j);//输入要计算的数值

switch(select)

case1:

printf("%d+%d=%d\n",i,j,num=i+j);//实现加法功能

break;

case2:

printf("%d-%d=%d\n",i,j,num=i-j);//实现减法功能

break;

case3:

printf("%d*%d=%d\n",i,j,num=i*j);//实现乘法功能

break;

case4:

printf("%d-%d=%d\n",i,j,num=i/j);//实现除法功能

break;

default:

printf("输入有误重新选择");

break;

}while(select);

return0;

运行结果:

(1)如何编写计算器程序扩展阅读:

return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。

return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

㈡ C语言编写计算器程序

怎么我编译测试都没有问题啊。你用的是什么编译器?

另外可以在最后添加
system("PAUSE");
return 0;

㈢ 怎样用c语言编写一个简的计算器程序

/* 2013年12月23日 12:43:46 目的:计算器的实现 */ # include <stdio.h> # include <ctype.h> # include <math.h> char get_choice(void); //获取用户输入的选项,并建立目 char get_first(void); //获取用户输入的选项,并剔除错误输入 float get_int(void); //获取用户输入的计算值 float add(void); //定义加法函数 float subtraction(void); //定义减法函数 float multiplication(void); //定义乘法函数 float division(void); //定义除法函数 float extract(void); //定义开方函数 float square(void); //定义平方函数 float cube(void); //定义立方函数 int count = 0; int main(void) { char choice; printf("***欢迎使用由小钱制作的计算器***\n"); choice = get_choice(); while(choice != 'q') { switch(choice) { case 'a': add(); break; case 'b': subtraction(); break; case 'c': multiplication(); break; case 'd': division(); break; case 'e': extract(); break; case 'f': square(); break; case 'g': cube(); break; default : printf("您输入有误,请重新输入:"); break; } fflush(stdin); choice = get_choice(); } printf("bye"); return 0; } //获取用户输入的选项,并建立目录 char get_choice(void) { char ch; int a = 0; //建立目录 printf("\n--------------------------------\n"); printf("a. 加法\t\t\tb. 减法\nc. 乘法\t\t\td. 除法\n"); printf("e. 开方\t\t\tf. 平方\ng. 立方\t\t\tq. 退出\n"); printf("--------------------------------\n"); printf("请输入你的选项:"); ch = get_first(); while(ch == ' ' || ch == '\n' || ch == '\t') ch = get_first(); //判断用户输入的选项是否有误 while((ch<'a' || ch>'g') && ch !='q') { putchar(ch); printf(" 你输入的选项有误,请重新输入:"); ch = get_first(); } return ch; } //获取用户输入的选项,并剔除错误输入 char get_first(void) { char ch; ch = getchar(); //剔除由用户输入选项时产生的换行符 while(ch == '\n') { ch = getchar(); } return ch; } //获取用户输入的计算值 float get_int(void) { float input; char ch; int a; if(count == 0) printf("亲!请输入数值:"); if(count == 1) printf("亲!请输入第一个数值:"); if(count == 2) printf("亲!请输入第二个数值:"); a = scanf("%f", &input); //判断用户的输入是否为一个数值 while(a != 1) { //剔除用户输入错误的字符 while((ch = getchar()) != '\n') { putchar(ch); printf(" 不是一个数值,请输入例如3、111.2、或者-1"); a = scanf("%f", &input); } } return input; } //定义加法函数 float add(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); sum = i + j; printf("%.2f + %.2f = %.2f\n", i, j, sum); return sum; } //定义减法函数 float subtraction(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); sum = i - j; printf("%.2f - %.2f = %.2f\n", i, j, sum); return sum; } //定义乘法函数 float multiplication(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); sum = i * j; printf("%.2f * %.2f = %.2f\n", i, j, sum); return sum; } //定义除法函数 float division(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); //判断除数是否为0 while(j == 0) { printf("除数不能为0\n请重新输入!!!\n"); j = get_int(); } sum = i / j; printf("%.2f / %.2f = %.2f\n", i, j, sum); return sum; } //定义开方函数 float extract(void) { float i, sum; count = 0; i = get_int(); //判断开方数是否小于0,如果小于0,则让用户重新输入 while(i < 0) { printf("请输入大于0的数值\n"); i = get_int(); } sum = sqrt(i); printf("%.2f的开方等于%.2f\n", i, sum); return sum; } //定义平方函数 float square(void) { float i, sum; count = 0; i = get_int(); sum = i * i; printf("%.2f的平方等于%.2f\n", i, sum); return sum; } //定义立方函数 float cube(void) { float i, sum; count = 0; i = get_int(); sum = i * i * i; printf("%f的立方等于%.3f\n", i, sum); return sum; }

㈣ 如何用c语言写计算器程序

计算器要求如下:1)
设计一面向对象的类,含有加、减、乘、除运算及开平方等功能的函数。
2)
设计加、减、乘、除运算及求平方根的函数。
3)
设计实现四则混合运算的函数。
4)
设计测试函数。
要求是
完善计算器程序,改为可对实数操作。
完善程序,改为多个操作数基本四则运算,遇到0为止。
增加函数,完成四则混合运算,增加相应的主菜单选项。
添加语句,使四则运算具有测试功能。
可扩充其功能。

㈤ 怎么用C语言编写一个计算器程序

文本界面是什么?dos界面么就用一个switch语句判断输入的是+、-、×、÷就可以啦

㈥ 关于编写计算器的程序

什么语言?

㈦ 如何用c语言编写一个计算器程序

如果是简单的计算的话,就是获取到输入变量与运算符,然后返回计算的值,显示出来就可以了

㈧ 用C语言编写计算器程序

http://www.softhouse.com.cn/html/200509/2005091911241600011153.html这个页面可能对你有帮助。

㈨ 如何用c++写一个简单的计算器程序

给你一个解释器的代码吧
如果要改成图形化的计算器的话需要用到GUI库
代码来自《C++ programming language》

#include<cctype>
#include<iostream>
#include<map>
#include<string>
using namespace std;
enum Token_value{
NAME,NUMBER,END,PLUS='+',MINUS='-',MUL='*',DIV='/',PRINT=';',ASSIGN='=',LP='(',RP=')'
};
Token_value curr_tok=PRINT;
map<string,double> table;
double number_value;
string string_value;
int no_of_errors;
double expr(bool get);
double term(bool get);
double prim(bool get);
Token_value get_token();
double error(const string& s)
{
no_of_errors++;
cerr<<"error:"<<s<<endl;
return 1;
}
Token_value get_token()
{
char ch=0;
cin>>ch;
switch (ch) {
case 0:
return curr_tok=END;
case ';':case '*':case '/':case '+':case '-':case '(':case ')':case '=':
return curr_tok=Token_value(ch);
case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':case '.':
cin.putback(ch);
cin>>number_value;
return curr_tok=NUMBER;
default:
if (isalpha(ch)) {
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
}
error("bad token");
return curr_tok=PRINT;
}
}
double prim(bool get)
{
if (get) get_token();
switch (curr_tok) {
case NUMBER:
{ double v=number_value;
get_token();
return v;
}
case NAME:
{ double& v=table[string_value];
if (get_token()==ASSIGN) v=expr(true);
return v;
}
case MINUS:
return -prim(true);
case LP:
{ double e=expr(true);
if (curr_tok!=RP) return error(") expected");
get_token();
return e;
}
default:
return error("primary expected");
}
}
double term(bool get)
{
double left=prim(get);
for (;;)
switch (curr_tok) {
case MUL:
left*=prim(true);
break;
case DIV:
if (double d=prim(true)) {
left/=d;
break;
}
return error("divide by 0");
default:
return left;
}
}
double expr(bool get)
{
double left=term(get);
for(;;)
switch(curr_tok) {
case PLUS:
left+=term(true);
break;
case MINUS:
left-=term(true);
break;
default:
return left;
}
}
int main()
{
table["pi"]=3.1415926535897932385;
table["e"]=2.718284590452354;
while (cin) {
get_token();
if (curr_tok==END) break;
if (curr_tok==PRINT) continue;
cout<<expr(false)<<endl;
}
return no_of_errors;
}

㈩ 怎么用计算机语言编写个计算器程序

#include<stdio.h>
#include<math.h>
main()
{
float a,b;
char c;
printf("please input the expression:");
scanf("%f%c%f",&a,&c,&b);
swich(c)
{
case'+': printf("%f",a+b);
case'-': printf("%f",a-b);
case'*': printf("%f",a*b);
case'/': if(b==0)
printf("wrong!");
else
printf("%f",a/b);
break;
default: printf("wrong!");
}
}

阅读全文

与如何编写计算器程序相关的资料

热点内容
资深木工胶粘剂怎么代理 浏览:396
如何将小程序二维码转换成链接 浏览:796
什么产品值得卖 浏览:141
民惠老菜市场准备做什么 浏览:362
什么是高分数据 浏览:679
迈腾水温数据流通道号多少 浏览:595
猎魂觉醒交易审核多久 浏览:197
汽车行业有哪些数据 浏览:725
为什么代理才能卖博乐达 浏览:299
程序员如何在工作中突破 浏览:73
腾讯信息流有什么特性 浏览:520
李子园市场销量如何 浏览:69
bp神经网络一般需要多少数据 浏览:924
雷霆交易筹码哪个好 浏览:704
电脑桌面怎么把程序分左右放 浏览:41
哪个市场的mpv最香 浏览:930
专门发调剂信息的app有哪些 浏览:832
怎么删除门禁卡里的数据 浏览:644
qq资料找回密码需要多少信息 浏览:565
三亚卖布市场在哪里 浏览:296