導航:首頁 > 編程語言 > 可視化編程計算器

可視化編程計算器

發布時間: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清零按鈕組成,這些按鈕相互之間均有聯系的,你僅僅要+、=按鈕的代碼,估計不好辦。
如果你需要,我有標准計算器的全部程序,可以供你參考。

閱讀全文

與可視化編程計算器相關的資料

熱點內容
如何壓縮文件夾聯想電腦 瀏覽:583
程序員的學習之旅 瀏覽:440
apkdb反編譯 瀏覽:922
雪花演算法為什麼要二進制 瀏覽:825
在文檔中打開命令行工具 瀏覽:608
android圖標尺寸規范 瀏覽:369
python實用工具 瀏覽:208
流量計pdf 瀏覽:936
科東加密認證價格 瀏覽:532
dos命令讀文件 瀏覽:996
成為程序員需要什麼學歷 瀏覽:672
pdf農葯 瀏覽:228
canal加密 瀏覽:497
日本安卓系統和中國有什麼區別 瀏覽:137
linux命令行修改文件 瀏覽:838
從編譯和解釋的角度看 瀏覽:649
徐志摩pdf 瀏覽:651
夏天解壓球視頻 瀏覽:304
全封閉壓縮機qd91h 瀏覽:668
如何在我的世界免費開一個伺服器 瀏覽:329