user-0 提问: 有没有好心人帮忙写一个计算器的程序

回复:
user: user-1
content: 表达式求值，对数据结构堆栈、二叉树等等要很了解了。

user: user-2
content: MSDN里面似乎有个step by step教程，实现WPF计算器。

user: user-3
content: 引用 6 楼 u012705655 的回复:#include <graphics.h>      // 就是需要引用这个图形库，利用了easyX库函数 #include <conio.h> #include <stdio.h> #include <string.h>   void hz_anniu(void);      //绘制按钮  void main(void)  { 	HWND hWnd;     MOUSEMSG m;     initgraph(400,400);   // 这里和 TC 略有区别     setbkcolor(WHITE);    //设置程序背景颜色     cleardevice();     setcolor(BLUE);       hWnd = GetHWnd();    // 获取窗口句柄     SetWindowText(hWnd, "简单计算器1.1.0     作者：张鹏");     //修改窗口名称 	setlinestyle(PS_SOLID,3);        //设置线宽 	hz_anniu();      while(1)      { 		setcolor(BLACK);         //设置文字染色 		outtextxy(100,350,"点击鼠标右键退出程序");       //在特定的位置输出文字 		m = GetMouseMsg();        //将获取到的鼠标信息赋值给m  		switch(m.uMsg) 		{  			case WM_LBUTTONDOWN:             //鼠标左键按下消息         					if((m.x>30 && m.y>110) && (m.x<70 && m.y<140)) 						;                     if((m.x>300 && m.y>100) && (m.x<400 && m.y<200))                          ;                     if((m.x>500 && m.y>100) && (m.x<600 && m.y<200))                          ;    					if((m.x>700 && m.y>100) && (m.x<800 && m.y<200)) 					;	  					break; 			 			case WM_RBUTTONUP:                  printf("\007");                 return;     // 按鼠标右键退出程序            }        }     getch();     closegraph();          // 关闭图形界面  }  void hz_anniu(void)            //绘制按钮  { 	COLORREF col;     col=getcolor();    	setcolor(BLACK); 	setlinestyle(PS_SOLID,2); 	rectangle(30,20,370,90);  	rectangle(30,110,70,140); 	outtextxy(45,117,"7");  	rectangle(90,110,130,140); 	outtextxy(105,117,"8");  	rectangle(150,110,190,140); 	outtextxy(165,117,"9");  	rectangle(210,110,250,140); 	outtextxy(225,117,"+");  	rectangle(30,160,70,190); 	outtextxy(45,167,"4");  	rectangle(90,160,130,190); 	outtextxy(105,167,"5");  	rectangle(150,160,190,190); 	outtextxy(165,167,"6");  	rectangle(210,160,250,190); 	outtextxy(225,167,"-");  	rectangle(30,210,70,240); 	outtextxy(45,217,"1");  	rectangle(90,210,130,240); 	outtextxy(105,217,"2");  	rectangle(150,210,190,240); 	outtextxy(165,217,"3");  	rectangle(210,210,250,240); 	outtextxy(225,217,"*");  	rectangle(30,260,130,290); 	outtextxy(75,267,"0");  	rectangle(150,260,190,290); 	outtextxy(167,265,".");  	rectangle(210,260,250,290); 	outtextxy(225,267,"/");  	rectangle(270,110,370,190); 	outtextxy(315,140,"C");  	rectangle(270,210,370,290); 	outtextxy(315,240,"=");      setcolor(col); }    怎么才能通过鼠标按键，在框中输入数字 你的做法很独特，为什么自己画这些东西呢？ 当然，你这样也可以：在鼠标点击的callback里，判断鼠标点击的位置在那个元件里。不过实现一个功能完备的图形控件是很麻烦的。

user: user-4
content: 会写代码不？如果你制作界面设计的话，你应该找一个写代码的搭档了。

user: user-5
content: 弄3个变量 值1 v1，值2 v2，运算 op  按键点击值存入v1，v2 点击运算符存入 op 点击= 使用一个switch  switch(op) case '+': return v1+v2; case '-' return v1-v2; .....

user: user-6
content: 引用 6 楼 u012705655 的回复:怎么才能通过鼠标按键，在框中输入数字  为什么要自己画框，而不用按钮和文本框控件呢？ 设置一个 string ,每次按按钮后, 把字符 push_back 进去, 再刷新文本框。

user: user-7
content: 还真有人贴出代码,,csdn的分看来真挺厉害了

user: user-8
content: 百度随便找。C#计算器，跟win7 下计算器一模一样的都有。

user: user-0
content: #include <graphics.h>      // 就是需要引用这个图形库，利用了easyX库函数 #include <conio.h> #include <stdio.h> #include <string.h>   void hz_anniu(void);      //绘制按钮  void main(void)  { 	HWND hWnd;     MOUSEMSG m;     initgraph(400,400);   // 这里和 TC 略有区别     setbkcolor(WHITE);    //设置程序背景颜色     cleardevice();     setcolor(BLUE);       hWnd = GetHWnd();    // 获取窗口句柄     SetWindowText(hWnd, "简单计算器1.1.0     作者：张鹏");     //修改窗口名称 	setlinestyle(PS_SOLID,3);        //设置线宽 	hz_anniu();      while(1)      { 		setcolor(BLACK);         //设置文字染色 		outtextxy(100,350,"点击鼠标右键退出程序");       //在特定的位置输出文字 		m = GetMouseMsg();        //将获取到的鼠标信息赋值给m  		switch(m.uMsg) 		{  			case WM_LBUTTONDOWN:             //鼠标左键按下消息         					if((m.x>30 && m.y>110) && (m.x<70 && m.y<140)) 						;                     if((m.x>300 && m.y>100) && (m.x<400 && m.y<200))                          ;                     if((m.x>500 && m.y>100) && (m.x<600 && m.y<200))                          ;    					if((m.x>700 && m.y>100) && (m.x<800 && m.y<200)) 					;	  					break;  			case WM_RBUTTONUP:                  printf("\007");                 return;     // 按鼠标右键退出程序            }        }     getch();     closegraph();          // 关闭图形界面  }  void hz_anniu(void)            //绘制按钮  { 	COLORREF col;     col=getcolor();    	setcolor(BLACK); 	setlinestyle(PS_SOLID,2); 	rectangle(30,20,370,90);  	rectangle(30,110,70,140); 	outtextxy(45,117,"7");  	rectangle(90,110,130,140); 	outtextxy(105,117,"8");  	rectangle(150,110,190,140); 	outtextxy(165,117,"9");  	rectangle(210,110,250,140); 	outtextxy(225,117,"+");  	rectangle(30,160,70,190); 	outtextxy(45,167,"4");  	rectangle(90,160,130,190); 	outtextxy(105,167,"5");  	rectangle(150,160,190,190); 	outtextxy(165,167,"6");  	rectangle(210,160,250,190); 	outtextxy(225,167,"-");  	rectangle(30,210,70,240); 	outtextxy(45,217,"1");  	rectangle(90,210,130,240); 	outtextxy(105,217,"2");  	rectangle(150,210,190,240); 	outtextxy(165,217,"3");  	rectangle(210,210,250,240); 	outtextxy(225,217,"*");  	rectangle(30,260,130,290); 	outtextxy(75,267,"0");  	rectangle(150,260,190,290); 	outtextxy(167,265,".");  	rectangle(210,260,250,290); 	outtextxy(225,267,"/");  	rectangle(270,110,370,190); 	outtextxy(315,140,"C");  	rectangle(270,210,370,290); 	outtextxy(315,240,"=");      setcolor(col); }    怎么才能通过鼠标按键，在框中输入数字

user: user-0
content: 引用 2 楼 user-10 的回复:http://download.csdn.net/detail/lizugenggeng/4779623#comment 网络很多的，下载的源码参考下吧！   额，这种我可以做得。。但是我做的不是这种，是仿windows界面的计算器

user: user-9
content: 引用 3 楼 u012705655 的回复:[quote=引用 1 楼 davidsu33 的回复:] 用脚本语言，python或则是lua都很容易实现你的功能。 但是最近查了很多资料，还是毫无头绪[/quote] 告诉你一个最简单的，Qt的Demo就有计算器，你可以看看

user: user-0
content: 引用 1 楼 davidsu33 的回复:用脚本语言，python或则是lua都很容易实现你的功能。 但是最近查了很多资料，还是毫无头绪

user: user-10
content: http://download.csdn.net/detail/lizugenggeng/4779623#comment 网络很多的，下载的源码参考下吧！

user: user-9
content: 用脚本语言，python或则是lua都很容易实现你的功能。