導航:首頁 > 軟體知識 > 如何編寫計算器程序

如何編寫計算器程序

發布時間:2022-01-26 08:49:25

㈠ 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;//計算結果存放在nun

intselect=0;//選擇的選項存放在select

do//do-while先執行再判斷循環條件,即可實現重復計算功能

menu();//列印出菜單界面

scanf("%d",&select);//輸入你的選項

printf("請輸入計算值:");

scanf("%d%d",&i,&j);//輸入要計算的數值

switch(select)

case1:

printf("%d+%d=%d\n",i,j,num=i+j);//實現加法功能

break;

case2:

printf("%d-%d=%d\n",i,j,num=i-j);//實現減法功能

break;

case3:

printf("%d*%d=%d\n",i,j,num=i*j);//實現乘法功能

break;

case4:

printf("%d-%d=%d\n",i,j,num=i/j);//實現除法功能

break;

default:

printf("輸入有誤重新選擇");

break;

}while(select);

return0;

運行結果:

(1)如何編寫計算器程序擴展閱讀:

return表示把程序流程從被調函數轉向主調函數並把表達式的值帶回主調函數,實現函數值的返回,返回時可附帶一個返回值,由return後面的參數指定。

return通常是必要的,因為函數調用的時候計算結果通常是通過返回值帶出的。如果函數執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函數執行的順利與否(-1和0就是最常用的狀態碼),主調函數可以通過返回值判斷被調函數的執行情況。

㈡ C語言編寫計算器程序

怎麼我編譯測試都沒有問題啊。你用的是什麼編譯器?

另外可以在最後添加
system("PAUSE");
return 0;

㈢ 怎樣用c語言編寫一個簡的計算器程序

/* 2013年12月23日 12:43:46 目的:計算器的實現 */ # include <stdio.h> # include <ctype.h> # include <math.h> char get_choice(void); //獲取用戶輸入的選項,並建立目 char get_first(void); //獲取用戶輸入的選項,並剔除錯誤輸入 float get_int(void); //獲取用戶輸入的計算值 float add(void); //定義加法函數 float subtraction(void); //定義減法函數 float multiplication(void); //定義乘法函數 float division(void); //定義除法函數 float extract(void); //定義開方函數 float square(void); //定義平方函數 float cube(void); //定義立方函數 int count = 0; int main(void) { char choice; printf("***歡迎使用由小錢製作的計算器***\n"); choice = get_choice(); while(choice != 'q') { switch(choice) { case 'a': add(); break; case 'b': subtraction(); break; case 'c': multiplication(); break; case 'd': division(); break; case 'e': extract(); break; case 'f': square(); break; case 'g': cube(); break; default : printf("您輸入有誤,請重新輸入:"); break; } fflush(stdin); choice = get_choice(); } printf("bye"); return 0; } //獲取用戶輸入的選項,並建立目錄 char get_choice(void) { char ch; int a = 0; //建立目錄 printf("\n--------------------------------\n"); printf("a. 加法\t\t\tb. 減法\nc. 乘法\t\t\td. 除法\n"); printf("e. 開方\t\t\tf. 平方\ng. 立方\t\t\tq. 退出\n"); printf("--------------------------------\n"); printf("請輸入你的選項:"); ch = get_first(); while(ch == ' ' || ch == '\n' || ch == '\t') ch = get_first(); //判斷用戶輸入的選項是否有誤 while((ch<'a' || ch>'g') && ch !='q') { putchar(ch); printf(" 你輸入的選項有誤,請重新輸入:"); ch = get_first(); } return ch; } //獲取用戶輸入的選項,並剔除錯誤輸入 char get_first(void) { char ch; ch = getchar(); //剔除由用戶輸入選項時產生的換行符 while(ch == '\n') { ch = getchar(); } return ch; } //獲取用戶輸入的計算值 float get_int(void) { float input; char ch; int a; if(count == 0) printf("親!請輸入數值:"); if(count == 1) printf("親!請輸入第一個數值:"); if(count == 2) printf("親!請輸入第二個數值:"); a = scanf("%f", &input); //判斷用戶的輸入是否為一個數值 while(a != 1) { //剔除用戶輸入錯誤的字元 while((ch = getchar()) != '\n') { putchar(ch); printf(" 不是一個數值,請輸入例如3、111.2、或者-1"); a = scanf("%f", &input); } } return input; } //定義加法函數 float add(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); sum = i + j; printf("%.2f + %.2f = %.2f\n", i, j, sum); return sum; } //定義減法函數 float subtraction(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); sum = i - j; printf("%.2f - %.2f = %.2f\n", i, j, sum); return sum; } //定義乘法函數 float multiplication(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); sum = i * j; printf("%.2f * %.2f = %.2f\n", i, j, sum); return sum; } //定義除法函數 float division(void) { float i, j, sum; count = 0; count = count+1; i = get_int(); count = count+1; j = get_int(); //判斷除數是否為0 while(j == 0) { printf("除數不能為0\n請重新輸入!!!\n"); j = get_int(); } sum = i / j; printf("%.2f / %.2f = %.2f\n", i, j, sum); return sum; } //定義開方函數 float extract(void) { float i, sum; count = 0; i = get_int(); //判斷開方數是否小於0,如果小於0,則讓用戶重新輸入 while(i < 0) { printf("請輸入大於0的數值\n"); i = get_int(); } sum = sqrt(i); printf("%.2f的開方等於%.2f\n", i, sum); return sum; } //定義平方函數 float square(void) { float i, sum; count = 0; i = get_int(); sum = i * i; printf("%.2f的平方等於%.2f\n", i, sum); return sum; } //定義立方函數 float cube(void) { float i, sum; count = 0; i = get_int(); sum = i * i * i; printf("%f的立方等於%.3f\n", i, sum); return sum; }

㈣ 如何用c語言寫計算器程序

計算器要求如下:1)
設計一面向對象的類,含有加、減、乘、除運算及開平方等功能的函數。
2)
設計加、減、乘、除運算及求平方根的函數。
3)
設計實現四則混合運算的函數。
4)
設計測試函數。
要求是
完善計算器程序,改為可對實數操作。
完善程序,改為多個操作數基本四則運算,遇到0為止。
增加函數,完成四則混合運算,增加相應的主菜單選項。
添加語句,使四則運算具有測試功能。
可擴充其功能。

㈤ 怎麼用C語言編寫一個計算器程序

文本界面是什麼?dos界面么就用一個switch語句判斷輸入的是+、-、×、÷就可以啦

㈥ 關於編寫計算器的程序

什麼語言?

㈦ 如何用c語言編寫一個計算器程序

如果是簡單的計算的話,就是獲取到輸入變數與運算符,然後返回計算的值,顯示出來就可以了

㈧ 用C語言編寫計算器程序

http://www.softhouse.com.cn/html/200509/2005091911241600011153.html這個頁面可能對你有幫助。

㈨ 如何用c++寫一個簡單的計算器程序

給你一個解釋器的代碼吧
如果要改成圖形化的計算器的話需要用到GUI庫
代碼來自《C++ programming language》

#include<cctype>
#include<iostream>
#include<map>
#include<string>
using namespace std;
enum Token_value{
NAME,NUMBER,END,PLUS='+',MINUS='-',MUL='*',DIV='/',PRINT=';',ASSIGN='=',LP='(',RP=')'
};
Token_value curr_tok=PRINT;
map<string,double> table;
double number_value;
string string_value;
int no_of_errors;
double expr(bool get);
double term(bool get);
double prim(bool get);
Token_value get_token();
double error(const string& s)
{
no_of_errors++;
cerr<<"error:"<<s<<endl;
return 1;
}
Token_value get_token()
{
char ch=0;
cin>>ch;
switch (ch) {
case 0:
return curr_tok=END;
case ';':case '*':case '/':case '+':case '-':case '(':case ')':case '=':
return curr_tok=Token_value(ch);
case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':case '.':
cin.putback(ch);
cin>>number_value;
return curr_tok=NUMBER;
default:
if (isalpha(ch)) {
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
}
error("bad token");
return curr_tok=PRINT;
}
}
double prim(bool get)
{
if (get) get_token();
switch (curr_tok) {
case NUMBER:
{ double v=number_value;
get_token();
return v;
}
case NAME:
{ double& v=table[string_value];
if (get_token()==ASSIGN) v=expr(true);
return v;
}
case MINUS:
return -prim(true);
case LP:
{ double e=expr(true);
if (curr_tok!=RP) return error(") expected");
get_token();
return e;
}
default:
return error("primary expected");
}
}
double term(bool get)
{
double left=prim(get);
for (;;)
switch (curr_tok) {
case MUL:
left*=prim(true);
break;
case DIV:
if (double d=prim(true)) {
left/=d;
break;
}
return error("divide by 0");
default:
return left;
}
}
double expr(bool get)
{
double left=term(get);
for(;;)
switch(curr_tok) {
case PLUS:
left+=term(true);
break;
case MINUS:
left-=term(true);
break;
default:
return left;
}
}
int main()
{
table["pi"]=3.1415926535897932385;
table["e"]=2.718284590452354;
while (cin) {
get_token();
if (curr_tok==END) break;
if (curr_tok==PRINT) continue;
cout<<expr(false)<<endl;
}
return no_of_errors;
}

㈩ 怎麼用計算機語言編寫個計算器程序

#include<stdio.h>
#include<math.h>
main()
{
float a,b;
char c;
printf("please input the expression:");
scanf("%f%c%f",&a,&c,&b);
swich(c)
{
case'+': printf("%f",a+b);
case'-': printf("%f",a-b);
case'*': printf("%f",a*b);
case'/': if(b==0)
printf("wrong!");
else
printf("%f",a/b);
break;
default: printf("wrong!");
}
}

閱讀全文

與如何編寫計算器程序相關的資料

熱點內容
312發生在哪個交易所 瀏覽:725
技術專利轉讓平台都有哪些 瀏覽:218
電信5g代理是什麼意思 瀏覽:289
技校的軟體技術學的是什麼 瀏覽:464
現貨交易有什麼用 瀏覽:744
程序學校哪個好 瀏覽:815
十公分疤痕總什麼祛疤產品 瀏覽:448
如何量出一個直角的數據 瀏覽:176
資深木工膠粘劑怎麼代理 瀏覽:396
如何將小程序二維碼轉換成鏈接 瀏覽:796
什麼產品值得賣 瀏覽:141
民惠老菜市場准備做什麼 瀏覽:362
什麼是高分數據 瀏覽:679
邁騰水溫數據流通道號多少 瀏覽:595
獵魂覺醒交易審核多久 瀏覽:197
汽車行業有哪些數據 瀏覽:725
為什麼代理才能賣博樂達 瀏覽:299
程序員如何在工作中突破 瀏覽:73
騰訊信息流有什麼特性 瀏覽:521
李子園市場銷量如何 瀏覽:69