用C語(yǔ)言設(shè)計(jì)一個(gè)簡(jiǎn)單計(jì)算器程序,能根據(jù)鍵盤(pán)輸入的運(yùn)算指令和數(shù)據(jù),做簡(jiǎn)單的加減乘除運(yùn)算.
用C語(yǔ)言設(shè)計(jì)一個(gè)簡(jiǎn)單計(jì)算器程序,能根據(jù)鍵盤(pán)輸入的運(yùn)算指令和數(shù)據(jù),做簡(jiǎn)單的加減乘除運(yùn)算.
(1) 基本要求
(a) 題目解析及要求:
1.要能實(shí)現(xiàn)基本的加、減、乘、除運(yùn)算.
2.程序應(yīng)具有由用戶選擇是否繼續(xù)再進(jìn)行算式計(jì)算,如選擇y,表示繼續(xù)進(jìn)行算式計(jì)算,如選擇n,則表示退出程序.
3.輸入數(shù)據(jù)要求:先輸入第一個(gè)數(shù)據(jù),然后輸入運(yùn)算符,最后輸入第二個(gè)數(shù)據(jù).例如輸入算式:2+6
4.當(dāng)輸入的運(yùn)算出錯(cuò)時(shí),應(yīng)給出提示“運(yùn)算符有誤!”,并再次重新輸入.
(b)提示:
程序最終由用戶選擇是否繼續(xù)進(jìn)行下一次的運(yùn)算時(shí),由用戶輸入字符Y或N 來(lái)決定,如果想不管用戶輸入大寫(xiě)或小寫(xiě)的字符Y,程序都能繼續(xù)運(yùn)算,輸入大寫(xiě)或小寫(xiě)的N,程序都能退出.這時(shí)可以用到函數(shù)tolower或函數(shù)toupper.
其函數(shù)原型為
函數(shù)原型:int tolower(int ch);
函數(shù)功能:將ch字符轉(zhuǎn)換為小寫(xiě)字母
函數(shù)返回:返回ch所代表的字符的小寫(xiě)字母
函數(shù)原型:int toupper(int ch);
函數(shù)功能:將ch字符轉(zhuǎn)換成大寫(xiě)字母
函數(shù)返回:與ch相應(yīng)的大寫(xiě)字母
由于編程時(shí)要用到這些函數(shù),所以請(qǐng)?jiān)陬A(yù)編譯行添加下列指令:
# include
(c)測(cè)試數(shù)據(jù):
第一次輸入:(下劃線為輸入內(nèi)容,下同)
輸入第一個(gè)數(shù):5
請(qǐng)選擇運(yùn)算符(+,- ,*,/):9
輸出:運(yùn)算符有誤!
第二次輸入:
輸入第一個(gè)數(shù):5.3
請(qǐng)選擇運(yùn)算符(+,- ,*,/):+
輸入第二個(gè)數(shù):7.9
輸出:計(jì)算結(jié)果為:13.2
是否繼續(xù)?(y/n):(請(qǐng)輸入字符 'y' 或 'n' 進(jìn)行選擇)
第三次輸入:
輸入第一個(gè)數(shù):5.3
請(qǐng)選擇運(yùn)算符(+,- ,*,/):-
輸入第二個(gè)數(shù):7.9
輸出:計(jì)算結(jié)果為:-2.6
是否繼續(xù)?(y/n):(請(qǐng)輸入字符 'y' 或 'n' 進(jìn)行選擇)
第四次輸入:
輸入第一個(gè)數(shù):5.3
請(qǐng)選擇運(yùn)算符(+,- ,*,/):*
輸入第二個(gè)數(shù):7.9
輸出:計(jì)算結(jié)果為:41.87
是否繼續(xù)?(y/n):(請(qǐng)輸入字符 'y' 或 'n' 進(jìn)行選擇)
第五次輸入:
輸入第一個(gè)數(shù):5.3
請(qǐng)選擇運(yùn)算符(+,- ,*,/):/
輸入第二個(gè)數(shù):7.9
輸出:計(jì)算結(jié)果為:0.670886
是否繼續(xù)?(y/n):(請(qǐng)輸入字符 'y' 或 'n' 進(jìn)行選擇)
其他人氣:536 ℃時(shí)間:2020-03-28 13:19:05
優(yōu)質(zhì)解答
怎么每個(gè)計(jì)算器的要求都不一樣算出來(lái)數(shù)值對(duì)就行,格式?jīng)]關(guān)系
程序按照你的要求改了,你看看吧,有問(wèn)題再問(wèn):
代碼如下,滿意請(qǐng)采納?。?!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int y;
double shu1=0;
double shu2=0;
char fuhao;
for(;;)
{
printf("\n 迷你計(jì)算器\n\n");
shu1=0;
shu2=0;
fuhao=0;
printf("請(qǐng)輸入第一個(gè)數(shù):");
scanf("%lf",&shu1);
getchar();
printf("\n請(qǐng)選擇運(yùn)算符(+,-,*,/):");
fuhao = getchar();
printf("\n請(qǐng)輸入第二個(gè)數(shù):");
scanf("%lf",&shu2);
getchar();
if(fuhao == '+')
printf("\n加法,運(yùn)算結(jié)果:%lf\n",shu1+shu2);
if(fuhao == '-')
printf("\n減法,運(yùn)算結(jié)果:%lf\n",shu1-shu2);
if(fuhao == '*')
printf("\n乘法,運(yùn)算結(jié)果:%lf\n",shu1*shu2);
if(fuhao == '/')
printf("\n除法,運(yùn)算結(jié)果:%lf\n",shu1/shu2);
printf("\n y 繼續(xù)計(jì)算,n 退出");
fuhao = getchar();
if(toupper(fuhao) == 'N')
break;
}
}
我來(lái)回答
類似推薦