我在用c语言编写lcd显示的简易计算器,除法运算时怎样编写程序可以实现结果保留两位小数? c语言编写 编写一个简单的计算器,实现两个整型数的四则运算。

\u7528c\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u6c42\u4e24\u4e2a\u5927\u6570\u9664\u6cd5\u8fd0\u7b97\u7684\u7a0b\u5e8f\uff0c\u5927\u6570\u4e0d\u8d85\u8fc71000\u4f4d\uff0c\u8f93\u51fa\u7ed3\u679c\u4fdd\u7559100\u4f4d\u5c0f\u6570

\u5413\u5c3f\u4e86
\u5df2\u6709\u7b54\u6848 http://zhidao.baidu.com/question/277564510.html
\u867d\u7136\u6ca1\u6709\u4fdd\u7559\u6709\u6548\u6570\u5b57
\u4f46\u5e0c\u671b\u80fd\u5e2e\u5230\u4f60

1\u3001\u6253\u5f00CodeBlocks\uff0c\u65b0\u5efa\u4e00\u4e2a\u7a7a\u767d\u6587\u4ef6\uff0c\u5148\u5b9a\u4e49\u5934\u6587\u4ef6\u548c\u4e3b\u51fd\u6570\uff0c\u63a5\u7740\u5199\u7a0b\u5e8f\u591a\u5927\u7684\u4e3b\u4f53\uff1a

2\u3001\u9996\u5148\u5b9a\u4e49\u6240\u9700\u8981\u7684\u53d8\u91cf\uff0c\u5c06\u53d8\u91cf\u5b9a\u4e49\u4e3a\u6d6e\u70b9\u578b\uff0c\u5b9a\u4e49\u8f93\u5165\u51fd\u6570\uff0c\u5c06\u521a\u624d\u7684x\u548cy\u5b9a\u4e49\u4e3a\u8ba1\u7b97\u7684\u53d8\u91cf\uff0c\u5c06c\u5b9a\u4e49\u4e3a\u9009\u62e9\u8ba1\u7b97\u65b9\u5f0f\u7684\u53d8\u91cf\u3002\u7528switch\u8bed\u53e5\uff0c\u5c06c\u4f5c\u4e3a\u9009\u62e9\u53d8\u91cf\uff0c\u586b\u5199\u8ba1\u7b97\u65b9\u5f0f\u7684\u9009\u9879\uff0c\u6700\u540e\u5728\u4e3b\u51fd\u6570\u4e2d\u8f93\u5165\u4e00\u4e2a\u8f93\u51fa\u51fd\u6570\u6765\u8f93\u51fa\u8ba1\u7b97\u5f0f\u53ca\u7ed3\u679c\u5373\u53ef\u5b8c\u6210\u7a0b\u5e8f\u7684\u7f16\u5199\uff1a

3\u3001\u8fd0\u884c\u7f16\u8bd1\u67e5\u8be2\uff0c\u8f93\u5165\u4e00\u4e2a\u9664\u6cd5\u7684\u8ba1\u7b97\u9a8c\u8bc1\u4e00\u4e0b\uff0c\u53d1\u73b0\u7a0b\u5e8f\u8f93\u51fa\u4e86\u5c0f\u6570\uff0c\u8bf4\u660e\u7a0b\u5e8f\u8fd0\u884c\u6b63\u5e38\u3002\u4ee5\u4e0a\u5c31\u662f\u7528C\u8bed\u8a00\u7f16\u5199\u8ba1\u7b97\u5668\u7684\u6d41\u7a0b\uff1a

结果用float储存,比如x=12.345
第一位write—data(x/10+'0');
第二位write—data(x%10+'0');
write—data('.');
第三位write—data(x*10%10+'0');
第三位write—data(x*100%10+'0');

fprintf(LCD_Show, "%.2d", num);
对要输出的数据进行格式化,至于目的对象是LCD还是字符串就看你怎么使用了,
对了,格式化到字符串记得应该是sprintf,函数的使用可以查一下man或者在线文档

两位小数:
c--》
a=1/2.0;//将a转化为浮点,.0加和不加的结局截然不同
printf('%.2f',a);//运算时没有取两位只有在输出时才这样做

先放大100、不理会小数,在后两位的前地方点亮小数点,就是了
~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 鎴戝湪鐢╟璇█缂栧啓lcd鏄剧ず鐨勭畝鏄撹绠楀櫒,闄ゆ硶杩愮畻鏃舵庢牱缂栧啓绋嬪簭鍙互瀹炵幇缁 ...
    绛旓細缁撴灉鐢╢loat鍌ㄥ瓨锛屾瘮濡倄=12.345 绗竴浣峸rite鈥攄ata锛坸/10+'0'锛夛紱绗簩浣峸rite鈥攄ata锛坸%10+'0'锛夛紱write鈥攄ata锛'.'锛夛紱绗笁浣峸rite鈥攄ata锛坸*10%10+'0'锛夛紱绗笁浣峸rite鈥攄ata锛坸*100%10+'0'锛夛紱
  • 鐢–璇█缂栧啓LCD鏄剧ず绋嬪簭
    绛旓細鈥滃父瑙佸瓧姣嶃佹暟瀛椼佺鍙枫佷腑鏂囥佽嚜瀹氫箟瀛楃銆佸浘褰紝浠ュ強鏂囧瓧鍜屽浘褰㈡贩鍜鏄剧ず锛涘厜鏍囨樉绀/闅愯棌锛圕ursor on/off锛夈佹樉绀哄瓧绗﹂棯鐑侊紙Display character blink)锛涚敾闈㈡竻闄わ紙Display clear锛夈佸厜鏍囧綊浣嶏紙Return home锛夆濊繖浜涘姛鑳斤紝鍙渶瑕佸湪杩欎釜鏁版嵁鍧椾笂杩涜鎿嶄綔锛岀劧鍚庡啀閫佸埌LCD鏄剧ず銆
  • 璺眰 鍗曠墖鏈 鐢–璇█鍐涓涓▼搴 鐢LCD鏄剧ずwelcome 鎬ユユユュ崄涓囩伀鎬...
    绛旓細typedef unsigned char BYTE; //鐢˙YTE浠f浛unsigned char typedef unsigned int WORD;//WORD浠f浛unsigned int typedef bit BOOL ;//鐢˙OOL浠f浛bit sbit rs = P2^6; //澶嶄綅绔 sbit rw = P2^5; //鍐欐暟鎹 sbit ep = P2^7; //浣胯兘绔 BYTE code dis1[] = {"welcome!,I'm Tom"};//...
  • 璺眰 鍗曠墖鏈 鐢–璇█鍐涓涓▼搴 鐢LCD鏄剧ずwelcome 鎬ユユユュ崄涓囩伀鎬...
    绛旓細void LCD_wd(uchar c){RS=1;RW=0;PORT=c;E=1;delay(100);E=0;} void LCD_wc(uchar c){RS=0;RW=0;PORT=c;E=1;delay(100);E=0;} main(){ LCD_wc(0x38);delay(100);LCD_wc(0x08);delay(100);LCD_wc(0x01);delay(100);LCD_wc(0x06);delay(100);LCD_wc(0x0c);del...
  • LCD灞 鐢–璇█濡備綍鍐
    绛旓細鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 鍏虫敞 灞曞紑鍏ㄩ儴 //51鍗曠墖鏈洪┍鍔⊿T7070鎺у埗16*2鐨勫瓧绗﹀瀷LCD#include <reg52.h>sbit RS = P3^2;sbit R_W = P3^3;sbit EN = P3^4;sbit busy=P1^7;sbit Auto=P3^6;sbit step=P3^7;void write_command(char);void write_data(char);void delay_s(int);void delayms(int);...
  • 鐢↙CD1602鍜孌S18B20鏄剧ず娓╁害鍜屾椂闂C璇█绋嬪簭
    绛旓細void lcd_init(){ delay1(15) ; lcd_wcmd(0x01) ; //娓呴櫎LCD鐨勬樉绀鍐呭 lcd_wcmd(0x38) ; //16*2鏄剧ず,5*7鐐归樀,8浣嶆暟鎹 delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x0c) ; //鏄剧ず寮,鍏冲厜鏍 delay1(5) ; lcd_wcmd(0x06) ; ...
  • 鍗曠墖鏈烘帶鍒剁殑LCD1602鏁板瓧閽鐨凜璇█缂栫▼
    绛旓細LCD_Write_Command(0x06);//鏄剧ず妯″紡璁剧疆锛氬厜鏍囧彸绉伙紝瀛楃涓嶇Щ _delay_ms(1);LCD_Write_Command(0x0c);//鏄剧ず妯″紡璁剧疆锛氭樉绀哄紑锛屾棤鍏夋爣锛屽厜鏍囦笉闂儊 _delay_ms(1);LCD_Write_Command(0x01);//娓呭睆骞曟寚浠わ紝灏嗕互鍓鐨勬樉绀鍐呭娓呴櫎 _delay_ms(1);} / 鍑芥暟鍚嶇О:LCD_POS 杈 鍏:uchar pos 杈...
  • iccavr鐜涓鐢╟璇█缂栧啓椹卞姩鏄剧ず娑叉櫠灞忕▼搴
    绛旓細void InitLCD(){ PORTA &= ~(1<<LCDEN);WriteCmd(SET_SHOW_MODE); // 16X2鏄剧ず 瀛楃5X7鐐归樀鏄剧ず WriteCmd(CLEAR_ALL); //娓呭睆 WriteCmd(OPEN_SHOW|SHOW_CURSOR); //寮鏄剧ず 璁剧疆鍏夋爣涓旈棯鐑0x0f WriteCmd(ADR_POINT_ADD);//鍏夋爣鑷姩鍔1 0x06 WriteCmd(FIRST_LINE_ADR); //鏁版嵁...
  • LCD1602鐢–璇█缂栫▼濡備綍鏄剧ず瀛楃?
    绛旓細WriteCommandLCM(0x0C,1); // 鏄剧ず寮鍙婂厜鏍囪缃 } //鍐欐暟鎹 void WriteDataLCM(unsigned char WDLCM){ ReadStatusLCM(); //妫娴嬪繖 LCM_D4_RS = 1;LCM_D5_RW = 0;if(_LCD_BIT_IS == 8) //CPU涓嶭CD1602闂翠娇鐢―B0-DB8杩8鏍规暟鎹嚎杩涜浼犺緭 { LCM_D7_Data = WDLCM;} else ...
  • 鎴戞兂闂笅,鐢ㄩ敭鐩樻帶鍒朵娇LCD(1602)涓鏄剧ず涓嶅悓鐨鍥惧舰,C璇█鎬庝箞缂栫▼
    绛旓細1602鏄瓧绗﹀瀷鐨勬恫鏅锛屽彧鑳芥樉绀哄瓧绗︼紝鎯虫樉绀哄浘鐗囩殑璇濓紝杩樻槸鐢12864鍚с傚厛鎶12864鐨勫簳灞傞┍鍔ㄥ啓濂姐備綘鍐欎竴涓樉绀哄浘鐗囩殑鍑芥暟锛屽嚱鏁扮殑鍙傛暟鍖呮嫭鍥剧墖鏄剧ず鐨妯潗鏍囥佺旱鍧愭爣銆佸拰涓涓寚閽堬紙鎸囧悜瀛樺偍鍥剧墖鏁版嵁鐨勯鍦板潃锛夈傛娴嬪埌鎸夐敭鏃讹紝鏇存敼鎸囬拡鐨勬寚鍚戯紝灏卞彲浠ヤ簡銆
  • 扩展阅读:ai智能写作一键生成 ... c#语言翻译器 ... 免费的实时翻译软件 ... 三类人不适合学编程 ... plc编程必背50个程序 ... 编程是学些什么东西 ... 翻译器中英文转换 ... 一张图看懂st语言 ... 中英文自动翻译器免费软件 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网