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

如何编写计算器程序

发布时间: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!");
}
}

阅读全文

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

热点内容
如何进入研发级程序员 浏览:289
宝元加工中心怎么用子程序 浏览:741
个人信息过户要多少钱 浏览:462
律师代理一般提供什么服务 浏览:212
港股交易代码是什么时候出来的 浏览:128
鸿蒙系统怎么一键关闭后台程序 浏览:932
美国市场上雪纳瑞多少钱一只 浏览:398
鸿蒙怎么关闭开启的程序 浏览:168
如何拓展和代理的合作 浏览:647
什么是与市场有关人文活动 浏览:787
我是做装修的如何群发信息给朋友 浏览:915
亚马逊如何改变产品链接 浏览:108
用什么技术做音乐 浏览:273
普陀代理记账怎么办理 浏览:53
程序员是干什么用的通俗讲 浏览:498
etf二级市场有哪些 浏览:470
周六不交易为什么股票涨停了 浏览:23
换店了怎么给老顾客发信息 浏览:740
施工单位需要哪些技术 浏览:147
在库的产品怎么退给供应商 浏览:370