VC计算器课程设计报告.docx
- 文档编号:28022592
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:18
- 大小:226.86KB
VC计算器课程设计报告.docx
《VC计算器课程设计报告.docx》由会员分享,可在线阅读,更多相关《VC计算器课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
VC计算器课程设计报告
VC++计算器课程设计报告
1.作品名称:
计算器
2.本次课程设计的目的
在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。
3.主要功能
实现计算器的功能。
用户根据程序提示,输入数字或字符,选择要进行的运算,可以进行正弦、余弦、正切、开方、对数、加、减、乘、除、华氏温度与摄氏度之间的换算以及平方根的运算。
4.代码
#include
#include
#defineMAX100
#include
#include
#include
#include
doublenumber1,number2,answer,number3,num[10000];intn,k=1;
charinput,val;classoopcalc{
private:
doublex,y;doublefartocel(doublenumber1);doubleceltofar(doublenumber1);doublesqroot(doublenumber1);
voidcalcsqr();
voidcalccos();
voidcalctan();
voidcalcsin();
voidcalclog();
public:
doublegetX(){returnx;}
doublegetY(){returny;}
doubleset(){x=number1;y=number2;}
doublecalcadd(doublenumber1,doublenumber2);doublecalcsub(doublenumber1,doublenumber2);doublecalcdiv(doublenumber1,doublenumber2);doublecalcmult(doublenumber1,doublenumber2);voidcalcfartocel();
voidcalcceltofar();
voidcalcsroot();
voidexitprog();
voidmenu();
voidcaculate();
voidtest();
voidbadinput();
};
voidoopcalc:
:
calcsin()
{
cout<<"TheSinFunction\n";
cout<<"Enteranumber:
";
cin>>number1;
answer=sin(number1);
cout<<"Thesinof"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : calccos(){ cout<<"TheCosFunction\n"; cout<<"Enteranumber: "; cin>>number1; answer=cos(number1); cout<<"Thecosof"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : calctan() { cout<<"TheTanFunction\n"; cout<<"Enteranumber: "; cin>>number1; answer=tan(number1); cout<<"Thetanof"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : calcsqr() { cout<<"ThesqrFunction\n"; cout<<"Enteranumber: "; cin>>number1; answer=(number1*number1); cout<<"Thesqrof"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : calclog(){ cout<<"TheLogFunction\n"; cout<<"Enteranumber: "; cin>>number1; if(number1<=0) { cout<<"Badinput! \n"; cout<<"Pressanykeytocontinue\n"; getch(); menu(); } else answer=log(number1); cout<<"Thelogof"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } doubleoopcalc: : calcadd(doublenumber1,doublenumber2) { answer=number1+number2; return(answer); } doubleoopcalc: : calcsub(doublenumber1,doublenumber2) { answer=number1-number2; return(answer); } doubleoopcalc: : calcdiv(doublenumber1,doublenumber2) { if(number2==0){getch(); menu();} else answer=number1/number2; return(answer); } doubleoopcalc: : calcmult(doublenumber1,doublenumber2) { answer=number1*number2; return(answer); } voidoopcalc: : calcfartocel() { cout<<"TheFarenheittoCelsiusFunction\n"; cout<<"EnteratempatureinFarenheit: "; cin>>number1; answer=((number1-32)*5)/9; cout<<"ThetempatureinCelsiusis"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : calcceltofar() { cout<<"TheCelsiustoFarenheitFunction\n"; cout<<"EnteratempatureinCelsius: "; cin>>number1; answer=number1*9/5+32; cout<<"ThetempatureinFarenheitis"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : calcsroot() { cout<<"TheSquareRootFunction\n"; cout<<"Firstnumber: "; cin>>number1; if(number1<0) { cout<<"yourenterisincorrect,pleaseenteranewnumber\n"; getch(); menu(); } else answer=sqrt(number1); cout<<"Thesquarerootof"< cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidoopcalc: : exitprog() { exit(-1); } voidoopcalc: : menu() { oopcalca; system("cls");\ cout<<"==================MENU===============\n"; cout<<"s: 选择s进行正弦运算\n"; cout<<"c: 选择c进行余弦运算\n"; cout<<"t: 选择t进行正切运算\n"; cout<<"g: 选择g进行对数运算\n"; cout<<"n: 选择n进行求平方运算\n"; cout<<"1: 选择1进行混合运算\n"; cout<<"2: 选择2进行华氏温度转化为摄氏温度的运算\n"; cout<<"3: 选择3进行摄氏温度转化为华氏温度的运算\n"; cout<<"4: 选择4进行求平方根运算\n"; cout<<"5: 选择5进行测试\n"; cout<<"6: 选择6退出运算\n"; cout<<"请选择: "; cin>>input; cout<<"=====================================\n"; switch(input) { case's': case'S': a.calcsin(); break; case'c': case'C': a.calccos(); break; case't': case'T': a.calctan(); break; case'g': case'G': a.calclog(); break; case'n': case'N': a.calcsqr(); break; case'1': a.caculate(); break; case'2': a.calcfartocel(); break; case'3': a.calcceltofar(); break; case'4': a.calcsroot(); break; case'5': a.test(); break; case'6': a.exitprog(); break; default: a.badinput(); } } voidoopcalc: : caculate() { oopcalca; cout<<"TheMultifunction(混合四则运算)\n"; for(intn=1;;n++){ cout<<"Number"< "; cin>>num[n]\ if(num[n]==0){\ cout<<"Pressanykeytocontinue\n"; getch(); menu();} switch(k) { case1: if(n==1){answer=num[1];break; } else{answer=a.calcadd(answer,num[n]); cout<<"Theansweris"< break;} case2: if(n==1){answer=num[1];break;} else{answer=a.calcsub(answer,num[n]); cout<<"Theansweris"< } case3: if(n==1){answer=num[1];break;} else{answer=a.calcmult(answer,num[n]); cout<<"Theansweris"< case4: if(n==1){answer=num[1];break;} else{answer=a.calcdiv(answer,num[n]); cout<<"Theansweris"< } label1: cout<<"Pleasechoosethefunctionyouwant(+or-or*or/): \n"; cin>>val; switch(val) { case'+': k=1;break; case'-': k=2;break; case'*': k=3;break; case'/': k=4;break; default: cout<<"Badinput! \n";gotolabel1; } } } voidoopcalc: : test() { cout<<"TheTestFunction\n"; ints; floatp; s=rand()%4+1; srand(time(NULL)); number1=rand()%MAX+1;number2=rand()%MAX+1; switch(s) { case1: cout< answer=calcadd(number1,number2); break; case2: cout< answer=calcsub(number1,number2); break; case3: cout< answer=calcdiv(number1,number2); break; case4: cout< answer=calcmult(number1,number2); break; } cin>>p; if(answer==p){cout<<"Correct! Youareveryclever! \n";} else{cout<<"NO! Thecorrectansweris"< cout<<"Pressanykeytocontinue\n"; cout< getch(); menu(); } voidoopcalc: : badinput() { cout<<"BADINPUT! \n"; cout<<"Pressanykeytocontinue\n"; getch(); menu(); } voidmain() { oopcalcs; s.menu(); } 5.运行界面 进行正弦运算 进行混合运算 求平方根运算,根据用户输入与系统提示,运行过程依次如下: 进行华氏温度和摄氏度间的转化,运行如下: 进行测试 选择6键,回到菜单界面,运行如下: 6.心得体会 这次课程设计让我获益匪浅,我懂得了,做出一个优秀的程序,不是一蹴而就的事情,更不是马马虎虎随随便便就能成功的。 它需要绝对严谨的学习作风和一丝不够的认真态度。 所以非常感谢老师及学校给我们提供这样的学习环境和机会,让我们能更进一步的把书本上的知识和实践行动结合在一起,从而更好的掌握这一课程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 计算器课程设计报告 计算器 课程设计 报告