导航:首页 > 编程语言 > 可视化编程计算器

可视化编程计算器

发布时间:2022-05-04 18:46:07

㈠ 求教学,用VS2012怎么做可视化编程(用C或C++)详细教程

如果只用C/C++的话,那就需要调用windows下的API,《windows程序设计》这本书很全
要么就用微软的MFC,就是API的封装,听说孙鑫的教程不错,有视频的

㈡ 可视化程序设计~急啊

/* Author cngdzhang */
/* Date 2002.2 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <conio.h>
#include <ctype.h>

#define ISTR 1
#define INUM 2
#define IOPE 3
#define IERR 0

double getfactor();
double getvalue();

char *pss;

char *ps;
char s1[256];
char s2[256];

double t;
double pi=3.1415926;

void ctolower(char *s)
{
while(*s!= '\0 ')
{
*s=tolower(*s);
s++;
}
}

int getitem(char *ss,char *st)
{
char *p=ss;
while(*p== ' ') p++;
if(*p== '( ' || *p== ') ' || *p== '+ ' || *p== '- ' || *p== '* ' || *p== '/ ')
{
*st++=*p;
*st= '\0 ';
p++;
ps=p;
return(IOPE);
}
else if(isdigit(*p))
{
while(isdigit(*p)) *st++=*p++;
*st= '\0 ';
ps=p;
return(INUM);
}
else if(isalnum(*p))
{
while(isalnum(*p)) *st++=*p++;
*st= '\0 ';
ps=p;
return(ISTR);
}
return(IERR);
}

double countit(double num1,char op,double num2)
{
switch(op)
{
case '+ ':
return(num1+num2);
case '- ':
return(num1-num2);
case '* ':
return(num1*num2);
case '/ ':
return(num1/num2);
default:
printf( "error!!! ");
break;
}
return(IERR);
}

double getvalue()
{
int f;
double num1,num2;
char op1,op2;
num1=getfactor();
bb:
f=getitem(ps,s2);
if(f==IERR) return(num1);
if(f==IOPE && *s2== ') ') return(num1);
if(f==IOPE) op1=*s2;
num2=getfactor();
num1=countit(num1,op1,num2);
goto bb;

}

double getfactor()
{
int f;
double num1,num2;
char op1,op2;
f=getitem(ps,s2);
if(f==IOPE && *s2== '( ') return(getvalue());
if(f==ISTR && *s2== 't ' && *(s2+1)== '\0 ') num1=t;
if(f==ISTR && *s2== 'p ' && *(s2+1)== 'i ') num1=pi;
if(f==INUM) num1=atof(s2);
if(f==IOPE && *s2== '- ')
{
f=getitem(ps,s2);
if(f==ISTR && *s2== 't ') num1=-t;
else if(f==ISTR && *s2== 'p ' && *(s2+1)== 'i ') num1=-pi;
else if(f==IOPE && *s2== '( ') return(-getvalue());
if(f==INUM) num1=-atof(s2);
}
if(f==ISTR && *s2== 'c ' && *(s2+1)== 'o ') num1=cos(getfactor());
if(f==ISTR && *s2== 's ' && *(s2+1)== 'i ') num1=sin(getfactor());
if(f==ISTR && *s2== 't ' && *(s2+1)== 'a ') num1=tan(getfactor());
if(f==ISTR && *s2== 's ' && *(s2+1)== 'q ') num1=sqrt(getfactor());
if(f==ISTR && *s2== 'l ' && *(s2+1)== 'n ') num1=log(getfactor());
if(f==ISTR && *s2== 'e ' && *(s2+1)== 'x ') num1=exp(getfactor());
aa:
f=getitem(ps,s2);
if(f==IOPE && (*s2== '+ ' || *s2== '- ' || *s2== ') '))
{
ps--;
return(num1);
}
if(f==IERR) return(num1);
op1=*s2;
f=getitem(ps,s2);
if(f==INUM) num2=atof(s2);
else if(f==IOPE && *s2== '( ') num2=getvalue();
if(f==ISTR && *s2== 't ' && *(s2+1)== '\0 ') num2=t;
if(f==ISTR && *s2== 'p ' && *(s2+1)== 'i ') num2=pi;
if(f==IOPE && *s2== '- ')
{
f=getitem(ps,s2);
if(f==ISTR && *s2== 't ') num2=-t;
else if(f==ISTR && *s2== 'p ' && *(s2+1)== 'i ') num2=-pi;
else if(f==IOPE && *s2== '( ') return(-getvalue());
if(f==INUM) num2=-atof(s2);
}
if(f==ISTR && *s2== 'c ' && *(s2+1)== 'o ') num2=cos(getfactor());
if(f==ISTR && *s2== 's ' && *(s2+1)== 'i ') num2=sin(getfactor());
if(f==ISTR && *s2== 't ' && *(s2+1)== 'a ') num2=tan(getfactor());
if(f==ISTR && *s2== 's ' && *(s2+1)== 'q ') num2=sqrt(getfactor());
if(f==ISTR && *s2== 'l ' && *(s2+1)== 'n ') num2=log(getfactor());
if(f==ISTR && *s2== 'e ' && *(s2+1)== 'x ') num2=exp(getfactor());
num1=countit(num1,op1,num2);
goto aa;
}

void main(){
clrscr();
printf( "Please enter the string: ");
gets(s1);
ps=s1;
printf( "%s = %lf ",s1,getvalue());

}

㈢ VB可视化编程 计算器如何做 并说明按键代码的作用。

我这边有个差不多的例子,你可以参考一下
http://evansj.free3v.net/show.asp?id=13

㈣ windows程序设计 计算器

我这个程序并不复杂(我懒得用string.h里的函数,没必要),p1,p2是保存要做运算的两个数,o是运算符。
f1,f2是状态变量,当用户输入了小数点之后这两个状态变量的值会改变。
t是临时变量,那个while循环是用来接受输入的字符串的。
#include"stdio.h"
void main()
{
float p1=0,p2=0,*p=&p1,f1=10.0,f2=1.0,r;
char o,t;
scanf("%c",&t);
while(t!='\n')//开始处理输入,我用的是一个单个字符输入的
//也可以完整的输入一个字符串,然后再作处理
{
if(t>='0'&&t<='9')//如果用户输入的字符是数字,那么就把对相应的操作数进行处理
{
(*p)=(*p)*f1+(t-'0')/f2;
/*t-'0'的意思是把用户输入的字符转变为对应的数字,如果用户没有输入小数点,那么f1=10,f2=1,否则f1=1,f2的值会每次都改变。*/
f2=(f2==1)?1:(f2*10);
}
else//用户输入的不是数字,则可能是小数点或者运算符
{
if(t=='.')//是小数点,那么改变状态变量,准备接受操作数的小数部分
{
f1=1;
f2=10;
}
else/*是操作符,把操作符保存在变量o里,同时改变指针p指向的变量,准备接受第二个操作数,并把状态变量设为初始值*/
{
o=t;
p=&p2;
f1=10;
f2=1;
}
}
scanf("%c",&t);
}
switch(o)
{
case '+':
r=p1+p2;
break;
case '-':
r=p1-p2;
break;
case '*':
r=p1*p2;
case '/':
r=p1/p2;
}
printf("%f",r);
}

还可以不用指针变量的。将+ - * /作为变量AA的任一个,用case选择一下就可以,没必要搞的那么高深。指针对新手来讲不好掌握。

main()
{
float a,b,d;
char c;
clrscr(); /*这个是清屏函数,算一次可以清除依次屏幕信息*/
scanf("%f%c%f",&a,&c,&b);
if(c=='+')
d=a+b;
else if(c=='-')
d=a-b;
else if(c=='*')
d=a*b;
else if(c=='/')
d=a/b;
else
printf("error");

printf("%f\n",d);
}

㈤ PB和VB哪个更简单

显然是vb了,vb几乎可以说是最简单的可视化编程工具了,我当时学vb时,只用了10分钟不到就编了个精简版计算器,几乎所有学习vb的人看中vb的唯一原因就是vb的简单了。

下面就是我的第一个计算器代码,事实上由于vb的强大功能,我只输入了四句代码而已就实现了加减乘除了:

'画三个文本框,text属性设为空
'画四command按钮,capition属性分别设为+、-、*、/
Private Sub Command1_Click()
Text3.Text = Val(Text1.Text) + Val(Text2.Text) 'command1("+")被点时运行这里
End Sub

Private Sub Command2_Click()
Text3.Text = Val(Text1.Text) - Val(Text2.Text) '(-)被点时运行这里
End Sub

Private Sub Command3_Click()
Text3.Text = Val(Text1.Text) * Val(Text2.Text) 'command3("*")被点时运行这里
End Sub

Private Sub Command4_Click()
Text3.Text = Val(Text1.Text) / Val(Text2.Text) 'command4("/")被点时运行这里
End Sub

㈥ 急!用java编一个小型计算器

这个可以不。

import javax.swing.*;
//import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;

//计算器显示结果的窗体
class Result extends JPanel
{
JTextField text = new JTextField("0"); //text先是输入和结果
Result()
{

text.setHorizontalAlignment(SwingConstants.RIGHT); //讲输入的数字或得到的结果在text的右边显示
text.setEnabled(false); //文本框不能编辑
setLayout(new BorderLayout()); //设定布局管理器边框布局
add(text, BorderLayout.CENTER); //text放置在窗体的中间
}
}

//计算器数字按钮定义面板
class Number_Key extends JPanel
{
JButton zero = new JButton("0");//数字键0
JButton one = new JButton("1");//数字键1
JButton two = new JButton("2");//数字键2
JButton three = new JButton("3");//数字键3
JButton four = new JButton("4");//数字键4
JButton five = new JButton("5");//数字键5
JButton six = new JButton("6");//数字键6
JButton seven = new JButton("7");//数字键7
JButton eight = new JButton("8");//数字键8
JButton nine = new JButton("9");//数字键9
JButton plus = new JButton("+");
JButton sub = new JButton("-");
JButton mul = new JButton("*");
JButton div = new JButton("/");
JButton equal = new JButton("=");
JButton ce = new JButton("ce");//置零键
JButton point = new JButton(".");
JButton tzero = new JButton("00");
Number_Key()
{
setLayout(new GridLayout(6, 3, 10, 10));//定义布局管理器为网格布局
//添加各个按钮键
add(seven);
add(eight);
add(nine);
add(four);
add(five);
add(six);
add(one);
add(two);
add(three);
add(zero);
add(tzero);
add(plus);
add(sub);
add(mul);
add(div);
add(point);
add(equal);
add(ce);

}
}

//计算器主类
class sakura extends JFrame implements ActionListener
{
Result result = new Result();//定义text的面板
Number_Key number_key = new Number_Key();//定义按钮面板
//当点击按钮+、-、*、/时,com = true
boolean com = false;
//当i=0时说明是我们第一次输入,字符串sum不会累加
int i = 0;
//存放text的内容
String sum = "";
//存放点击按钮+、-、*、/之前的数值
double total = 0;
//+、-、*、/的代号分别为1,2,3,4
int symbol = 0;
sakura()
{
super("Calculator");//设定标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗体时退出程序
JPanel pane = new JPanel();//定义主面板
pane.setLayout(new BorderLayout());
pane.add(result, BorderLayout.NORTH);
pane.add(number_key, BorderLayout.SOUTH);
number_key.one.addActionListener(this);//对1按钮添加监听事件
number_key.two.addActionListener(this);//对2按钮添加监听事件
number_key.three.addActionListener(this);//对3按钮添加监听事件
number_key.four.addActionListener(this);//对4按钮添加监听事件
number_key.five.addActionListener(this);//对5按钮添加监听事件
number_key.six.addActionListener(this);//对6按钮添加监听事件
number_key.seven.addActionListener(this);//对7按钮添加监听事件
number_key.eight.addActionListener(this);//对8按钮添加监听事件
number_key.nine.addActionListener(this);//对9按钮添加监听事件
number_key.zero.addActionListener(this);//对0按钮添加监听事件
number_key.ce.addActionListener(this);//对置零按钮添加监听事件
number_key.plus.addActionListener(this);//对+按钮添加监听事件
number_key.equal.addActionListener(this);//对=按钮添加监听事件
number_key.sub.addActionListener(this);//对-按钮添加监听事件
number_key.mul.addActionListener(this);//对*按钮添加监听事件
number_key.div.addActionListener(this);//对/按钮添加监听事件
number_key.tzero.addActionListener(this);//对00按钮添加监听事件
number_key.point.addActionListener(this);//对.按钮添加监听事件
setContentPane(pane);
pack();//初始化窗体大小为正好盛放所有按钮
}
//各个按钮触发的事件
public void actionPerformed(ActionEvent e) {
/*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true
* 如果没有com= false;或者是否点击数字键,如果是i = 1,如果没有 i = 0;
**/
if (e.getSource() == number_key.one)
{
if (com || i == 0)
{
result.text.setText("1");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "1");
}
}
else if (e.getSource() == number_key.two)
{
if (com || i == 0)
{
result.text.setText("2");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "2");
}
}
else if (e.getSource() == number_key.three)
{
if (com || i == 0)
{
result.text.setText("3");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "3");
}
}
else if (e.getSource() == number_key.four)
{
if (com || i == 0)
{
result.text.setText("4");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "4");
}
}
else if (e.getSource() == number_key.five)
{
if (com || i == 0)
{
result.text.setText("5");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "5");
}
}
else if (e.getSource() == number_key.six)
{
if (com || i == 0)
{
result.text.setText("6");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "6");
}
}
else if (e.getSource() == number_key.seven)
{
if (com || i == 0)
{
result.text.setText("7");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "7");
}
}
else if (e.getSource() == number_key.eight)
{
if (com || i == 0)
{
result.text.setText("8");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "8");
}

}
else if (e.getSource() == number_key.nine)
{

if (com || i == 0)
{
result.text.setText("9");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "9");
}

}

/*对于0这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是
* 如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添
* 加0;否则保持原来的数值不变
*/
else if (e.getSource() == number_key.zero)
{
if (com || i == 0)
{
result.text.setText("0");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
if (Float.parseFloat(sum) > 0 || Float.parseFloat(sum) < 0)
{
result.text.setText(sum + "0");
}
else
{
if (sum.trim().indexOf(".") == -1)
{
result.text.setText(sum);
}
else
{
result.text.setText(sum + "0");
}
}
}
}
else if (e.getSource() == number_key.ce)
{
result.text.setText("0");
i = 0;
com = true;
}
else if (e.getSource() == number_key.tzero)
{
if (com || i == 0)
{
result.text.setText("0");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
if (Float.parseFloat(sum) > 0 || Float.parseFloat(sum) < 0)
{
result.text.setText(sum + "00");
}
else
{
if (sum.trim().indexOf(".") == -1)
{
result.text.setText(sum);
}
else
{
result.text.setText(sum + "00");
}
}
}
}
/*本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加,
* 不存在就添加.
*/
else if (e.getSource() == number_key.point)
{
if (com || i == 0)
{
result.text.setText("0.");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
if (sum.trim().indexOf(".") == -1)
{
result.text.setText(sum + ".");
}
else
{
result.text.setText(sum);
}
}
}
//获得点击+之前的数值
else if (e.getSource() == number_key.plus)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
symbol = 1;

}//获得点击-之前的数值
else if (e.getSource() == number_key.sub)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
symbol = 2;
}//获得点击*之前的数值
else if (e.getSource() == number_key.mul)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
System.out.println(total);
symbol = 3;

}//获得点击/之前的数值
else if (e.getSource() == number_key.div)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
symbol = 4;

}
else if (e.getSource() == number_key.equal)
{
switch (symbol)
{
case 1 ://计算加法
{
double ad =
total + Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
sum = "";
break;
}
case 2 ://计算减法
{
double ad =
total - Double.parseDouble(result.text.getText());
result.text.setText(String.valueOf(ad));
i = 0;
sum = "";
break;
}
case 3 ://计算乘法
{
double ad =
total * Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
sum = "";
break;
}
case 4 ://计算除法
{
double ad =
total / Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
sum = "";
break;
}
}
System.out.println(com);
}
}
public static void main(String[] args)
{
sakura ww = new sakura();
ww.setVisible(true) ;
}
}

㈦ vc++ 可视化编程 到底怎么可视化

可视化编程的意思是你的整个界面都是用鼠标拖拉出来的,而不是用手工敲出来的,比如一个密码的输入框,在java里面要用代码自己写,而在c++的MFC里面则只要用鼠标拖到界面上就可以了,这里只是说界面,如果要处理数据或者事件的话那就一定要代码了

㈧ 《可视化程序设计》

视图和数据表一样,都能够利用datawindow直接调用
存储过程
需要在程序里面调用触发,有专门语句,叫什么sql之类的
触发器是SQL根据数据表变化自动触发的,不需要程序处理

㈨ 《可视化程序设计》考查,编写一个计算器

㈩ VB可视化编程 标准形计算器 +号按钮和=号键按钮 代码

一个最基本的计算器是由0-9的数字、+、-、*、/运算按钮、=号结果按钮、C清零按钮组成,这些按钮相互之间均有联系的,你仅仅要+、=按钮的代码,估计不好办。
如果你需要,我有标准计算器的全部程序,可以供你参考。

阅读全文

与可视化编程计算器相关的资料

热点内容
fibonacci数列算法 浏览:775
产品经理要和程序员吵架吗 浏览:252
grub2命令行 浏览:618
无法获取加密卡信息 浏览:774
云服务器网卡充值 浏览:509
编程就是软件 浏览:49
服务器如何添加权限 浏览:437
引用指针编程 浏览:851
手机加密日记本苹果版下载 浏览:63
命令行括号 浏览:176
java程序升级 浏览:490
排序算法之插入类 浏览:227
gcccreate命令 浏览:73
海尔监控用什么app 浏览:64
系统盘被压缩开不了机 浏览:984
linuxredis30 浏览:541
狸窝pdf转换器 浏览:696
ajax调用java后台 浏览:905
活塞式压缩机常见故障 浏览:614
break算法 浏览:731