用c语言加减乘除计算器编程简便计算器,求大神解答

21ic官方微信-->
简单加法计算器编程原理是什么?想要个C语言的
资深工程师, 积分 14925, 距离下一级还需 5075 积分
资深工程师, 积分 14925, 距离下一级还需 5075 积分
资深工程师, 积分 14925, 距离下一级还需 5075 积分
资深工程师, 积分 14925, 距离下一级还需 5075 积分
简单加法计算器编程原理是什么?想要个C语言的
满意回复+20
ulong i = a+b;
printf("%d",i);这样就得了
资深工程师, 积分 14677, 距离下一级还需 5323 积分
资深工程师, 积分 14677, 距离下一级还需 5323 积分
资深工程师, 积分 14677, 距离下一级还需 5323 积分
资深工程师, 积分 14677, 距离下一级还需 5323 积分
ulong i = a+b;
printf(&%d&,i);这样就得了
资深工程师, 积分 15122, 距离下一级还需 4878 积分
资深工程师, 积分 15122, 距离下一级还需 4878 积分
资深工程师, 积分 15122, 距离下一级还需 4878 积分
资深工程师, 积分 15122, 距离下一级还需 4878 积分
加法确实如上所述,不过加法器编程真是上面的那么简单吗
资深工程师, 积分 15559, 距离下一级还需 4441 积分
资深工程师, 积分 15559, 距离下一级还需 4441 积分
资深工程师, 积分 15559, 距离下一级还需 4441 积分
资深工程师, 积分 15559, 距离下一级还需 4441 积分
要设计一个加法器?编程应该不是难点吧
资深工程师, 积分 15122, 距离下一级还需 4878 积分
资深工程师, 积分 15122, 距离下一级还需 4878 积分
资深工程师, 积分 15122, 距离下一级还需 4878 积分
资深工程师, 积分 15122, 距离下一级还需 4878 积分
看你的设计要求是不是和这个有点类似
资深工程师, 积分 15066, 距离下一级还需 4934 积分
资深工程师, 积分 15066, 距离下一级还需 4934 积分
资深工程师, 积分 15066, 距离下一级还需 4934 积分
资深工程师, 积分 15066, 距离下一级还需 4934 积分
你是要汇编还是什么
资深工程师, 积分 16401, 距离下一级还需 3599 积分
资深工程师, 积分 16401, 距离下一级还需 3599 积分
资深工程师, 积分 16401, 距离下一级还需 3599 积分
资深工程师, 积分 16401, 距离下一级还需 3599 积分
加法器如果是想通过单片机实现&&需要考虑底层驱动算法问题&&或者直接购买模块实现& &相对来说&&难度小一点
资深工程师, 积分 14925, 距离下一级还需 5075 积分
资深工程师, 积分 14925, 距离下一级还需 5075 积分
资深工程师, 积分 14925, 距离下一级还需 5075 积分
资深工程师, 积分 14925, 距离下一级还需 5075 积分
先结贴了,多谢啊
资深工程师, 积分 12300, 距离下一级还需 7700 积分
资深工程师, 积分 12300, 距离下一级还需 7700 积分
资深工程师, 积分 12300, 距离下一级还需 7700 积分
资深工程师, 积分 12300, 距离下一级还需 7700 积分
这个在C语言里面很简单的吧,,只需要定义好数据类型额
初级工程师, 积分 2027, 距离下一级还需 973 积分
初级工程师, 积分 2027, 距离下一级还需 973 积分
初级工程师, 积分 2027, 距离下一级还需 973 积分
初级工程师, 积分 2027, 距离下一级还需 973 积分
主要得注意数据类型,加完会不会溢出
扫描二维码,随时随地手机跟帖
突出贡献奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章
您需要登录后才可以回帖求大神用C语言设计一个简单的计算器进行加减乘除,可带括号,不限定运算式的输入长度,多加些注释,不要太难
[问题点数:85分,结帖人qq_]
求大神用C语言设计一个简单的计算器进行加减乘除,可带括号,不限定运算式的输入长度,多加些注释,不要太难
[问题点数:85分,结帖人qq_]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
匿名用户不能发表回复!|C语言编程-简单的计算器_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言编程-简单的计算器
&&C语言。VC6.0
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩16页未读,
定制HR最喜欢的简历
你可能喜欢当前位置: >>
简单计算器 C语言程序
//普中HC6800-EM3 开发板测试
//P0口接数码管 J12插针 P2口接矩阵按键 P1.0 P1.1 P1.2 接38译码器 J6插针A B C
#include&reg52.h&
sbit keyint1=P2^3;//矩阵键盘
sbit keyint2=P2^2;
sbit keyint3=P2^1;
sbit keyint4=P2^0;
sbit keyout1=P2^7;
sbit keyout2=P2^6;
sbit keyout3=P2^5;
sbit keyout4=P2^4;
sbit ADDR0=P1^0;//38译码器A
sbit ADDR1=P1^1;//38译码器B
sbit ADDR2=P1^2; //38译码器C
unsigned char keysta[4][4]={//按键状态暂存变量
{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}
};
unsigned char LedBuff[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char code LedChar[]={//数码管真值表0-F
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
unsigned char code keytab[4][4]={//标准键盘真值表
{0x31,0x32,0x33,0x26},//数字键1,2,3,加号
{0x34,0x35,0x36,0x27},//数字键4,5,6,减号
{0x37,0x38,0x39,0x28},//数字键7,8,9,乘号
{0x30,0x24,0x25,0x29} //数字键0,清除,等于,除号
};
void inttimer0();//定时器初始化
void keydriver();//按键驱动
void KeyScan();//按键扫描
void ledscan();//LED动态扫描
void ShowNumber(unsigned long num);//数字分离,高位0消隐
void KeyAction(unsigned char keycode);//加减运算函数
void main()
{
inttimer0();
LedBuff[0] =LedChar[0];
keydriver();
}
}
void inttimer0()
{
TMOD=0x01;
TR0=1;
}
void ShowNumber(unsigned long
unsigned char buf[8];
for(j=0; j&8; j++)
buf[j] = num % 10;
num = num / 10;
for(j=7; j&=1; j--)
if(buf[j] == 0)
LedBuff[j] = 0
for(; j&=0; j--)
LedBuff[j] = LedChar[buf[j]];
}
void KeyAction(unsigned char keycode)//加减运算函数
{
static unsigned long result = 0;
static unsigned long addend = 0;
static unsigned char fuhao=0;
static unsigned long addend1=0;
if((keycode &= 0x30) &&(keycode &= 0x39))
addend = (addend *10) + (keycode - 0x30);
ShowNumber(addend);
else if((keycode&=0x24)&&(keycode&=0x29))
if( keycode==0x24)
ShowNumber(result);
else if((keycode&=0x26)&&(keycode&=0x29))
switch(fuhao)
case 0x00:addend1=
case 0x26:addend1+=
case 0x27:addend1-=
case 0x28:addend1*=
case 0x29:addend1/=
switch(fuhao)
case 0x26:result=addend1+ShowNumber(result);
case 0x27:result=addend1-ShowNumber(result);
case 0x28:result=addend1*ShowNumber(addend1);
case 0x29:result=addend1/ShowNumber(addend1);
switch(fuhao)
case 0x26:result=addend1+
case 0x27:result=addend1-
case 0x28:result=addend1*
case 0x29:result=addend1/
ShowNumber(result);
void keydriver()//按键驱动
{
static unsigned char backup[4][4]={//按键状态变量
{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}
unsigned char i,j;
for(i=0;i&4;i++)
for(j=0;j&4;j++)
if(keysta[i][j]!=backup[i][j])
if(backup[i][j]==0)
KeyAction(keytab[i][j]);
backup[i][j]=keysta[i][j];
}
}
void ledscan()//LED动态扫描
{
static unsigned char i = 0;
//动态扫描的索引
P0 = 0x00;
//显示消隐
switch (i)
case 0: ADDR2=1; ADDR1=1; ADDR0=1; i++; P0=~LedBuff[0];
case 1: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=~LedBuff[1];
case 2: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=~LedBuff[2];
case 3: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=~LedBuff[3];
case 4: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=~LedBuff[4];
case 5: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=~LedBuff[5];
case 6: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=~LedBuff[6];
case 7: ADDR2=0; ADDR1=0; ADDR0=0; i=0; P0=~LedBuff[7];
}
}
void KeyScan()//按键扫描
{
static unsigned char keyout=0;
static unsigned char keybuf[4][4]={
{0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff},
{0xff,0xff,0xff,0xff}
keybuf[keyout][0] = (keybuf[keyout][0] &&1) | keyint1;
keybuf[keyout][1] = (keybuf[keyout][1] &&1) | keyint2;
keybuf[keyout][2] = (keybuf[keyout][2] &&1) | keyint3;
keybuf[keyout][3] = (keybuf[keyout][3] &&1) | keyint4;
for(i=0; i&4; i++)
if((keybuf[keyout][i] & 0x0F) == 0x00)
keysta[keyout][i]=0;
else if((keybuf[keyout][i] & 0x0F) == 0x0F)
keysta[keyout][i] = 1;
keyout=keyout&0x03;
switch(keyout)
case 0: keyout4=1;keyout3=1;keyout2=1;keyout1=0;
case 1: keyout4=1;keyout3=1;keyout2=0;keyout1=1;
case 2: keyout4=1;keyout3=0;keyout2=1;keyout1=1;
case 3: keyout4=0;keyout3=1;keyout2=1;keyout1=1;
}
}
void interrupttimer0() interrupt 1
{
ledscan();
KeyScan();
本科课程设计(论文) 目录 攀枝花学院本科学生课程设计任务书题 目 计算器的设计 1、课程设计的目的 本课程设计的目的和任务: (1)巩固和加深学生对 C 语言课程的...C语言 简单计算器程序 源代码_工学_高等教育_教育专区。C语言 简单计算器程序 源代码 #include #include #include #include &stdio.h& &conio.h& &stdlib.h...《C 语言课程设计》报告 设学专班姓指 计 题 目: 称: 业: 级: 名: 师: 简单计算器设计 电子与信息工程学院 计算机科学与技术 计科 学号 院名 导 教 ...c语言程序设计-用c语言设计一个简单计算器课程设计 - . 课程设计报告书 所属课程名称 题分目院 C 语言程序设计课程设计 用 C 语言设计一个简单计算器 电信...C 语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名: 摘 要 该软件为用户提供在 windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则...我们需要检查输入,确保用 户没有要求计算 C 语言制作简单计算器一、项目介绍我们要用 c 语言做一个简单的计算器,进行加、减、乘、除操作。本程序涉及的 所有...简单计算器C语言课程设计报告书_工学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 简单计算器C语言课程设计报告书_工学_高等教育_教育专区。...我的课程设计正是利用 C 语言在 Visual C++ 6.0 的环境下调试运行设计并 实现了该课程设计中的简单计算器的设计。 学习生活中,无可避免的总是会遇到一些数目较...12 通信工程 11 级一班 2 / 17 刘秀 C 语言课程设计-简易计算器 序号 项目 标准 按要求完成系统功能且界面友好容错能力强(45-50) 评分 1 按要求完成系统...C语言课程设计_语言代码_简易计算器设计_工学_高等教育_教育专区。1 攀枝花学院 学生课程设计(论文)题目: 计算机设计 李杰学 号:
学生姓名: 所在院(...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。用c语言编写一个计算器_百度知道
用c语言编写一个计算器
只要加减乘除就可以!!麻烦大家大约说说步骤
老师要我们说出怎么做的!!麻烦大家!!
我有更好的答案
先简单给你写了一下,你先看看行不行,太晚了,我得睡啦,要是不明白,明天追问就行:#include &stdio.h&int main(){&& int a,b;&&&& while(& //这里是逗号表达式,如果看起来别扭可以改到while循环外& printf(&请输入1个式子(输入q退出):\n&),& scanf(&%d%c%d&,&a,&c,&b)==3& )&& {& //先给你写了加减乘除,当然这里也可以采用switch& if(c=='+') printf(&%d\n&,a+b);//加& else if(c=='-') printf(&%d\n&,a-b);//减& else if(c=='*') printf(&%d\n&,a*b);//乘& else if(c=='/') printf(&%d\n&,a/b);//除&& }&& return 0;}
老师要我们说说大约的步骤
是怎么做的
大约的步骤就是写一个while循环,循环计算用户输入的算式,直到用户输入q(或不合题意的算式)就退出,程序根据字符变量c判断用户输入的是加、减、乘、除,并输出结果。如果是scanf、printf函数不会,我的观点跟其他人一样,自己百度查查,你自己必须要稍微懂一点才行吧?
今天交作业了
问下 char c 和else if 和
scanf(&%d%c%d&,&a,&c,&b)==3
是什么意思
其它都差不多看懂了
我这个学期刚刚开始学c语言!!
你好,不要过这么长时间才追问啊,五一假期我没上百度,刚看见因为加减乘除的符号只能定义为字符型啊,所以char c就是定义一个字符型变量c。C语言里没有&else if&这个关键字,这个可以理解为if语句的嵌套,就是在一个if语句的else语句内再嵌套一个if语句,就等价于:if() { ……}else {if……}就是内层的else语句再写一个if语句,当然因为内层的if语句只是单独的1条语句,所以外面的花括号{}就可以省略了,这样写起来格式清晰、整齐。所以else if就可以理解成在上一个if的条件不成立的前提下,再提出新的条件。要是不好理解可以打个比方:就好比买东西砍价时一样,卖家说100,你说50,不行,那就60,还不行就70……然后成交。也可以写成switch语句switch(c){case '+':printf(&%d\n&,a+b);//……下边一样}3.scanf(&%d%c%d&,&a,&c,&b)==3这一句纯粹是检测输入是否合法的,所以,要是不理解可以直接写scanf(&%d%c%d&,&a,&c,&b),或者把scanf移到while循环内部,“==3”的意思是scanf成功读取了3个符合要求的数据,就本题而言就是“1个int整型+1个char字符+1个nt整型”,如果不是这个格式的话就退出while循环了,我是把scanf的返回值直接当做while的判断条件了,因为这样易于控制while循环的退出条件,你也可以分开写,那就得好几句了。你可以试着写成下边这样,把输入、输出那2句移到while内部可能更好理解一点,这样你可以看到这2句也是while循环的一部分,判断条件就是那个if语句:while(1){printf(&请输入1个式子(输入q退出):\n&);if(scanf(&%d%c%d&,&a,&c,&b)!=3)//……下边一样}
采纳率:84%
来自团队:
#include&stdio.h&int main(void){
int num1,num2,
scanf(&%d %c %d&,&num1,&flag,&num2);
switch(flag){
case '+':result = num1 + num2;
case '-':result = num1 - num2;
case '*':result = num1 * num2;
case '/':result = num1 / num2;//此处为取整没用除法
printf(&计算结果:%d\n&,result);
return 0;}望采纳,有问题可以留言
说说是怎么做的
比如现在你是我
每一步是怎么做的?改怎么说
你自己去查一下,scanf这个函数是干啥用的switch-case语句的功能printf函数是干啥用的,这么简单的代码自己找找看各部分功能,不懂的我可以教你,别做“伸手族”
首先定义变量,比如int a=2, b=3;然后进行加减乘除就可以啦。比如加:int d=a+b;
为您推荐:
其他类似问题
您可能关注的内容
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 c语言编程计算器 的文章

 

随机推荐