1樓:煙子丹
#include
using std::cin;
using std::cout;
int main()
return 0;
}如果不限定for或while,還有兩種簡單思路:
輸入一個string遍歷字元,搜尋符號
2.while(cin << int)
while(cin << char)
while(cin << int)
依靠不符型別迴圈跳出來儲存兩個數值,根據儲存的char執行操作
2樓:
是畢業設計用嗎?
我會的 ,,,好不
用c++設計一個簡易的計算器,實現小型整數,實數,複數,的加減乘除運算(用到棧結構),並將結果顯示。
3樓:
//我這個只支援加減乘除,小數的,負數,括號的,你說的那個我寫不出來,不知道對你有沒有用
#include
struct
ret[200];
int topa,topb;
int opstk[200];
int level[200];
double cal(double a,double b,char op)
int main()
else if(s[i]==')')
topa--;
}else if(s[i]=='+'||s[i]=='*'||s[i]=='/')
opstk[topa++]=s[i];
}else if(s[i]=='-')
else
opstk[topa++]='-';}}
else if(s[i]>='0'&&s[i]<='9')
}while(topa>0)
for(i=0;i=0;y--)
if(ret[y].op==-1)
break;
for(x=y-1;x>=0;x--)
if(ret[x].op==-1)
break;
ret[i].num=cal(ret[x].num,ret[y].num,ret[i].op);
ret[i].op=-1;
ret[x].op=0;
ret[y].op=0;}}
printf("%.4lf\n",ret[topb-1].num);
}return 0;}
4樓:小點點
我有vc 原始碼,lz 要不
求c++大作業源**,用棧類做一個簡單的計算器,要求能做簡單的加減乘除運算,能夠判斷使用者輸入是否正
5樓:匿名使用者
首先轉換為字尾表示式
(1) . 如果遇到高優先順序,直接入棧 , 數字直接加入字尾表示式字串中,如果遇到低優先順序的操作符,則將棧中操作符彈出直至遇到低優先順序的操作符。
(2) 如果遇到結尾,則將棧中 全部彈出加入字尾表示式字串中根據字尾表示式字串,將數壓棧,如果遇到操作符,將棧頂兩元素進行相應運算,並且將運算結果壓入棧中,迴圈操作,直至結束。
6樓:匿名使用者
單的加減乘除運算我以word形式發you' xiang 。
設計一個最簡單的c++加減乘除的程式
7樓:周亮
#include
using namespace std;
class cpu
cpu(char atype)
char get_type()
private:
char type;
};class ram
ram(char atype)
char get_type()
private:
char type;
};class cdrom
};class computer
void run()
void stop()
char get_cpu()
char get_ram()
private:
cpu acpu;
ram aram;
cdrom acdrom;
};int main()
8樓:匿名使用者
#include
using namespace std;
int main()
case '-':
case '*':
case '/':
else
}default:
cout << "符號錯誤\n";
}return 0;}
c++ 簡易計算器 只要能計算加減乘除和混合運算 輸入算式就出結果的那種 可以連續運算 單獨輸入“=”時結束
9樓:匿名使用者
#include
#include
#include
#include
using namespace std;
const char num=;
const char operation=;
const double pi=3.14159265358979;
const double ee=2.71828182818281;
class fun //處理系統數學函式的類
static string fun;
double calc();
private:
int type; //666 0 1 sin90 2 3! 3 3c2
string op; //函式型別
double lvalue; //函式左邊的值
double rvalue; //函式右邊的值
static int funnum;
};int fun::funnum=8;
string fun::fun=;
/*函式說明:
1:log是以10為底的工程對數
2:ln 是以e為底的自然對數
3:c 計算組合數 輸入規則 如計算 3取2的組合 輸入表示式 3c2
4:a 計算排列數 輸入規則 如計算 3取2的排列 輸入表示式 3a2
5:! 計算階乘
6:^ x的y次方 輸入 x^y
*/int factorial(int n) //階乘函式
int c(int a,int b)
int a(int a,int b)
double fun::calc() //計算系統函式的值}}
struct unit //雙向連結串列儲存運算單元
int pri; //優先順序
char operation; //操作符
string code; //原始**
double value; //資料
int type; //型別 操作符0 資料1 函式2
unit * pre; //構成雙向連結串列
unit * next;
};class node //表示式樹狀結構的節點
node * head; //節點的根,左樹枝,右樹枝
node * left;
node * right;
double getvalue();
char getoperation() const
int getpri() const
int i***p() const
private:
char operation; //操作符
int pri; //優先順序
int expression; //記錄該節點是否是表示式0 1
double value; //該節點的值
};double node::getvalue() //運算該節點的值
}else
return value;
}bool isnum(char c)
else //其他的當做函式處理}}
return head;
}unit * calc(unit * head) //計算雙向連結串列基本單元的值
p=p->next;
}return head;
}node * tree(unit * head) //生成表示式樹
else
else
now_pri=p->pri;}}
p=p->next;
}if(! hadop)
root=new node(' ',0,0,head->value);
return root;
}int main()
return 0;}
10樓:匿名使用者
一共這麼多字元:0123456789+-*/=()
每個字元編號,然後用switch+case進行逐個字元分析,判斷運算順序,可以了……
11樓:範
#include
void main()
printf("%d%c%d=%d",x,op,y,sum);}}
12樓:小鼻兒鼻兒
c++做法:
#include
using namespace std;
int main()
怎樣用c語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器?
13樓:喵姐說心理
用c語言編寫一個簡單的可以進行加減乘除運算混合運算的計算器的方法:
1、開啟visual c++ 6.0-檔案-新建-檔案-c++ source file;
2、輸入預處理命令和主函式:
#include/*函式頭:輸入輸出標頭檔案*/
void main()/*空型別:主函式*/
3、定義變數:
int a,b,d; /*定義變數的資料型別為整型*/
char c;/*定義變數的資料型別為字元型*/
4、輸入四則運算式:
printf("輸入如“3*4”或“5+2”的四則運算式:");/*輸出文字提示*/
scanf("%d%c%d",&a,&c,&b);/*輸入四則運算式*/
5、判斷運算子號:
switch(c) /*判斷運算子號*/
case'+':d=a+b;break;/*進行加法運算*/
case'-':d=a-b;break;/*進行減法運算*/
case'*':d=a*b;break;/*進行乘法運算*/
case'/':d=a/b;break; /*進行除法運算*/
6、輸出結果:
printf("%d%c%d=%d\n",a,c,b,d);/*輸出結果*/
完整的源**:
#include/*函式頭:輸入輸出標頭檔案*/
void main()/*空型別:主函式*/
int a,b,d;/*定義變數的資料型別為整型*/
char c;/*定義變數的資料型別為字元型*/
printf("輸入如“3*4”或“5+2”的四則運算式:");/*輸出文字提示*/
scanf("%d%c%d",&a,&c,&b);/*輸入四則運算式*/
switch(c)/*判斷運算子號*/
case'+':d=a+b;break;/*進行加法運算*/
case'-':d=a-b;break;/*進行減法運算*/
case'*':d=a*b;break;/*進行乘法運算*/
case'/':d=a/b;break;/*進行除法運算*/
printf("%d%c%d=%d\n",a,c,b,d);/*輸出結果*/
14樓:4747哦
#include
main()
if(ch=='/')
}if(ch=='+')
if(ch=='-')} }
c語言設計簡單的計算器程式c語言設計乙個簡單的計算器程式
include stdio h 計算器 voidmenu 自定義的選單介面 printf n printf 請輸入你的選擇 n printf 1 n printf 2 n printf 3 n printf 4 n printf n intmain inti 0 intj 0 intnum 0 計算...
c語言編寫計算器程式,c語言設計乙個簡單的計算器程式
1 既然是簡單計算器,只需要實現加減乘除,同時每次支援兩個運算元和乙個操作符。同時約定,運算元為整型,對於加減乘輸出為整型,除法輸入為浮點型即可。2 例程 include int main 根據操作符號,輸入對應的執行結果。return 0 以上 就實現了最簡單的計算器,可以根據需要,在其上增加其它...
怎麼樣用C語言編寫簡單的計算器程式?有詳細注釋 謝謝了
這個簡單。你先建乙個winform工程,拖三個文字框作為資料的輸入和結果的顯示,然後在拖乙個下拉列表框,他的item屬性裡新增加減乘除的符號,最後再拖乙個按鈕text屬性設定成計算,具體的 雙擊按鈕,在click事件中實現,這個應該很好實現吧。不會q我 512097150 11求乙個簡單 的js 寫...