C语言报告-简单计算器_第1页
C语言报告-简单计算器_第2页
C语言报告-简单计算器_第3页
C语言报告-简单计算器_第4页
C语言报告-简单计算器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机学院通信09级C程序设计报告PAGEPAGE21河南理工大学计算机科学与技术学院课程设计报告2012—2013学年第一学期课程名称C/C++高级语言程序设计课程设计设计题目简易计算器学生姓名康向涛学号311109030114专业班级信息管理与信息系统1101指导教师于金霞2012年9月20日目录1、封面………………12、目录……………23、题目与要求………34、功能设计…………35、流程图……………46、模块具体分析…………………5-77、整个源程序设计…………………88、C程序设计………89、参考文献…………810、附录:程序清单………………91题目与要求1.1问题提出编写一个简单的计算器系统,用于简单的四则运算。本程序主要考察对循环和加减乘除的运算设计。1.2本系统涉及的知识点Gotoloop循环,switch选择语句嵌套,return退出语句,格式化输入和输出,If判断语句1.3功能要求具备整型数据、浮点型数据的算术(加、减、乘、除)运算能。依次输入第一个运算数、运算符(+,-,*,/),第二个运算数,(+,-,*,/)第三个运算数(+,-,*,/)第四个运算数。按回车。然后输出结果。例如:输入:1+2+3+4=输出102功能设计2.1算法设计本系统需要实现的功能要求:利用switch语句设计如图1所示的主菜单:输入+-*/符号三重嵌套switch语句输入一次选着一次路径;最终实现四折运算输入:(数字)(+或-或*或/)(数字)(+或-或*或/)(数字)(+或-或*或/)(数字)=按回车输出结果;继续运算或退出程序Switch(+或-或*或/){ Switch(+或-或*或/) { Switch(+或-或*或/) } Switch(+或-或*或/) { Switch(+或-或*或/) }Switch(+或-或*或/) { Switch(+或-或*或/) }Switch(+或-或*或/) { Switch(+或-或*或/) } }2.2流程图 主函数流程图:2.3能模块的具体分析本程序只有一个主函数;多次利用switch选择语句和gotoloop循环返回从新运算和return结束程序主函数main()

输入函数3.输出函数运行界面如下:4、继续运算5、退出程序 输入n按回车退出程序3整个源程序设计1)#include<stdio.h>/*引用库函数*/2)标准输入和输出函数输入和输出数据3)利用if语句判断结束命令4)switch选择结构进行选择运算5)输入错误会提醒出错;error4C程序设计总结程序调试后无错误、警告,运行正常。通过这次c语言课程设计,我觉得自己知识还很欠缺,每种函数的功能还没有熟练掌握,特别是循环结构函数的应用还很欠缺,应用的时候感到力不从心,经多次调试后才运行正常,初步尝试编写程序时出现了好多错误,发现自己当初学函数和结构没有深入的去研究,做这次课程设计花了一周多的时间,多次翻阅课本和查资料,真的发现学习c语言在日常生活中,将来的工作中非常重要。这次c语言课程设计加强了我对c语言的认识,使我明白程序软件开发的不易。由于这是第一次进行设计,写报告,难免会有一些细节注意不到或出现错误。请老师谅解。5参考文献主要参考《《C语言程序设计》》课本和上网查询具体函数的运用附录:程序清单#include<stdio.h>main(){floata,b,c,d,t;chars;printf("欢迎使用我的计算器,祝您用的愉快!\n");printf("\n输入要运算的数据,例如1+2-3*4或1*3/2+5\n");printf("\n输入n退出\n");loop:scanf("%f",&a);scanf("%c",&s); if(s=='n') { return; }switch(s){case'+':scanf("%f",&b);scanf("%c",&s); switch(s) { case'+':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b+c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b+c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b+c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b+c/d);break; } break; case'-':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b-c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b-c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b-c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b-c/d);break; } break; case'*':scanf("%f",&c); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b*c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b*c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b*c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b*c/d);break; } break; case'/':scanf("%f",&c); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b/c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b/c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b/c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a+b/c/d);break; } break; } break;case'-':scanf("%f",&b);scanf("%c",&s); switch(s) { case'+':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b+c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b+c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b+c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b+c/d);break; } break; case'-':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b-c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b-c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b-c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b-c/d);break; } break; case'*':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b*c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b*c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b*c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b*c/d);break; } break; case'/':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b/c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b/c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b/c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a-b/c/d);break; } break; } break;case'*':scanf("%f",&b);scanf("%c",&s); switch(s) { case'+':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b+c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b+c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b+c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b+c/d);break; } break; case'-':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b-c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b-c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b-c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b-c/d);break; } break; case'*':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b*c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b*c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b*c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b*c/d);break; } break; case'/':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b/c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b/c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b/c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a*b/c/d);break; } break; } break;case'/':scanf("%f",&b);scanf("%c",&s); switch(s) { case'+':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b+c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b+c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b+c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b+c/d);break; } break; case'-':scanf("%f",&c);scanf("%c",&s); switch(s) { case'+':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b-c+d);break; case'-':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b-c-d);break; case'*':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b-c*d);break; case'/':scanf("%f",&d);scanf("%c",&s); printf("=%f",a/b-c/d);break; } break; case'*':scanf("%f",&c);scan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论