




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. . . .数 据 结 构课程设计报告书设计题目: 四则运算计算器 专业班级: 计算机科学与技术1103班 学生姓名: 刘文文 指导教师: 朱文球 2012年6 月 15 日目录一:设计内容-31;问题描述-32;设计要求-33;开发环境-34;研究思路-3二:设计步骤- 41;设计分析-42;代码演示-4三:源代码-16设计内容1问题描述设计一个软件,可实现四则运算,可供小学生作业,并能给出分数。2设计要求(1)建立试题库文件,随机产生n个题目;(2)题目涉及加减乘除,带括弧的混合运算;(3)随时可以退出;(4)保留历史分数,能回顾历史,给出与历史分数比较后的评价。3开发环境Windows 7旗舰版,C-Free 5,4研究思路使用系统时钟初始化随机种子,利用srand()产生随机数,满足了设计要求的随机性。针对于小学生四则运算,将随机数限制在0-100,内置多个算式模型,通过随机选择输出10个题目,每输出一个题目,学生需输入一次,直到最后全部答完,给出分数和等级,并将分数写入文件保存。在每一个运算函数前添加退出条件,输入5201314即可退出,返回运算选择界面。要求需要保留历史分数,必须写入文件,并保存在文件夹里。学习好帮手设计步骤1设计分析(包含流程图)开始显示欢迎界面主选择菜单回顾历史运算测试、加法,减法,乘法,除法,混合运算加法,减法,乘法,除法,混合运算2代码演示(包含必要注释)1:头文件-1. #include /* In Out printf(). */2. #include /* pow(M,n) 开 Mn */3. #include /* strcpy. */4. #include /* atof. */5. #define N 10000/* 表达式长度定义,可以在这里调节 */6. /#include 7. /#include 8. #include /* getch(). */9. #include /使用当前时钟做种子- 2:主要函数-学习好帮手1. void print(void);/欢迎界面 2. void manu_sel();/主选择菜单 3. void back_se(void);/回顾菜单 4. void end(void);/结束 5. void about(void);/程序关于 6. void pro_cho(void);/算法选择界面 7. void add_num();/加法运算 8. void plu_num();/减法运算 9. void sub_num();/乘法运算 10. void div_num();/除法运算 11. void mix_num();/混合运算 12. void fgetc_add();/加法读取文件13. void fgetc_sub();/减法读取文件14. void fgetc_plu();/减法读取文件15. void fgetc_div();/减法读取文件16. void fgetc_mix();/加法读取文件-3:欢迎界面void print(void)欢迎界面显示课程设计要求和设计者的基本信息,通过调整printf()函数来美化DOS界面,使界面更加美观,大方。(附)代码实现:void print(void)/屏幕显示- system(cls);printf(tn);printf(t欢迎使用本程序(*v*)n);printf(tn);printf(t-四则运算计算器-n); printf(t|1.问题描述: |n); printf(t| 设计一个软件,可实现四则运算,可供小学生作业,并能给出分数。|n); printf(t|2.设计要求: |n); printf(t| (1)建立试题库文件,随机产生n个题目; |n); printf(t| (2)题目涉及加减乘除,带括弧的混合运算; |n); printf(t| (3)随时可以退出; |n); printf(t| (4)保留历史分数,能回顾历史,给出与历史分数比较后的评价。 |n); printf(t-n); printf(nt学院:计算机与通信学院n); printf(t专业:计算机科学与技术n); printf(t班级:1103班n); printf(t姓名:刘文文n); printf(t学号:11408100318n); printf(tQ Q: 1905997838n);printf(t邮箱:1905997838n);printf(ntn);printf(ntn);system(pause); manu_sel();-4:主选择界面void manu_sel()主选择界面提供了运算测试和回顾历史两大功能,而且提供了关于设计者的一些信息,随意返回,随意选择和确认。(附)代码实现:void manu_sel()/主选择菜单 -system(cls);printf(ntt 四则运算计算器n); printf(tt =n); printf(tt | 1.运算测试 |n); printf(tt | 2.回顾历史 |n); printf(tt | - |n); printf(tt | 3.关于 |n); printf(tt | 4.返回 |n); printf(tt | 0.退出 |n); printf(tt =n); int sel; printf(tt 请您输入要选择的项目序号:(04).n); scanf(%d,&sel); switch(sel) case 1:pro_cho();break; case 2:back_se();break; case 3:about();break; case 4:print();break; case 0:end();break; default: printf(您的输入不合法,请重新输入!n); system(pause); manu_sel(); -5:运算选择界面void pro_cho( )本界面提供加,减,乘,除,混合五种运算。(附)代码实现:void pro_cho( )/算法选择 -system(cls);printf(ntt 四则运算计算器n); printf(tt =n); printf(tt | 1.加法运算 |n); printf(tt | 2.减法运算 |n); printf(tt | 3.乘法运算 |n); printf(tt | 4.除法运算 |n); printf(tt | 5.混合运算 |n); printf(tt | 6.返回 |n); printf(tt | 0.退出 |n); printf(tt =n); int cho; printf(tt 请您输入要选择的项目序号:(06).n); scanf(%d,&cho); switch(cho) case 1:add_num();break; case 2:sub_num();break; case 3:plu_num();break; case 4:div_num();break; case 5:mix_num();break; case 6:manu_sel();break; case 0:end();break; default: printf(您的输入不合法,请重新输入!n); system(pause); pro_cho( ); -6:运算举例-混合运算void mix_num()提供了多种公式随机选择,随机出题。并给出分数和等级。(附)代码实现:void mix_num()/混合运算 -system(cls);FILE *fp;int score =0;int aa = 0,bb = 0,cc =0,dd=0,ee=0,ff=0,gg=0;int a=0; int cout=0;srand(unsigned)time(NULL); /重新生成随机数printf(退出请输入结果5201314n);for(int i=0;i=90) /给分数添加等级printf(优秀n); else if(score=80)printf(良好n);else if(score=70)printf(中等n);else if(score=60)printf(合格n);elseprintf(不及格n);printf(亲,以后要努力了哦!n);fprintf(fp,您的成绩为%d分!,10*cout);system(pause);pro_cho( );-7:历史回顾选择界面void back_se(void)本界面提供加,减,乘,除,混合五种运算的历史,打开文本文件。(附)代码实现:void back_se(void)/回顾界面- system(cls);printf(ntt 四则运算计算器n); printf(tt =n); printf(tt | 1.加法运算历史 |n); printf(tt | 2.减法运算历史 |n); printf(tt | 3.乘法运算历史 |n); printf(tt | 4.除法运算历史 |n); printf(tt | 5.混合运算历史 |n); printf(tt | 6.返回 |n); printf(tt | 0.退出 |n); printf(tt =n); int se; printf(tt 请您输入要选择的项目序号:(06).n); scanf(%d,&se); switch(se) case 1:fgetc_add();break; case 2:fgetc_sub();break; case 3:fgetc_plu();break; case 4:fgetc_div();break; case 5:fgetc_mix();break; case 6:manu_sel();break; case 0:end();break; default: printf(您的输入不合法,请重新输入!n); system(pause); back_se(); -8:回顾举例-减法运算void fgetc_sub()打开文件夹里的filename-减法运算.txt文件,展示在对话框里(附)代码实现:void fgetc_sub()/减法读取文件-system(cls);/清屏 char sN;char ch; FILE *fp; /定义文件指针if(fp=fopen(filename-减法运算.txt,r)=NULL) /打开一个文件名为“filename-减法运算”的文本文件printf(打开失败了哦!n);exit(0);rewind(fp);fgets(s,100000,fp);puts(s);if(fclose(fp)printf(关闭文件失败!n);exit(0);system(pause);back_se(); -9:文件夹保存所有的文件保存在指定的文件夹里,以便查看。10:主函数main()int main()/传说中的主函数- system(color D0); printf(hello color :)n); system(cls);print();/*DOS界面颜色和字体颜色0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 浅绿色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色*/-完整源代码/* 头文件声明 */#include /* In Out printf(). */#include /* pow(M,n) 开 Mn */#include /* strcpy. */#include /* atof. */#define N 10000/* 表达式长度定义,可以在这里调节 */#include /* getch(). */#include /使用当前时钟做种子 void print(void);/开始显示 void manu_sel();/主选择菜单 void back_se(void);/回顾菜单 void end(void);/结束 void about(void);/程序关于 void pro_cho(void);/算法选择 void add_num();/加法运算 void plu_num();/减法运算 void sub_num();/乘法运算 void div_num();/除法运算 void mix_num();/混合运算 void fgetc_add();/加法读取文件void fgetc_sub();/减法读取文件void fgetc_plu();/减法读取文件void fgetc_div();/减法读取文件void fgetc_mix();/加法读取文件void print(void)/屏幕显示- system(cls);printf(tn);printf(t欢迎使用本程序(*v*)n);printf(tn);printf(t-四则运算计算器-n); printf(t|1.问题描述: |n); printf(t| 设计一个软件,可实现四则运算,可供小学生作业,并能给出分数。|n); printf(t|2.设计要求: |n); printf(t| (1)建立试题库文件,随机产生n个题目; |n); printf(t| (2)题目涉及加减乘除,带括弧的混合运算; |n); printf(t| (3)随时可以退出; |n); printf(t| (4)保留历史分数,能回顾历史,给出与历史分数比较后的评价。 |n); printf(t-n); printf(nt学院:计算机与通信学院n); printf(t专业:计算机科学与技术n); printf(t班级:1103班n); printf(t姓名:刘文文n); printf(t学号:11408100318n); printf(tQ Q: 1905997838n);printf(t邮箱:1905997838n);printf(ntn);printf(ntn);system(pause); manu_sel();void manu_sel()/主选择菜单 -system(cls);printf(ntt 四则运算计算器n); printf(tt =n); printf(tt | 1.运算测试 |n); printf(tt | 2.回顾历史 |n); printf(tt | - |n); printf(tt | 3.关于 |n); printf(tt | 4.返回 |n); printf(tt | 0.退出 |n); printf(tt =n); int sel; printf(tt 请您输入要选择的项目序号:(04).n); scanf(%d,&sel); switch(sel) case 1:pro_cho();break; case 2:back_se();break; case 3:about();break; case 4:print();break; case 0:end();break; default: printf(您的输入不合法,请重新输入!n); system(pause); manu_sel(); void end(void)/结束 -printf(谢谢您的使用,再见!n); void about(void)/关于 -system(cls);printf(ntt 四则运算计算器n);printf(nt 学院:计算机与通信学院n); printf(t 专业:计算机科学与技术n); printf(t 班级:1103班n); printf(t 姓名:刘文文n); printf(t 学号:11408100318n); printf(t Q Q: 1905997838n);printf(t 邮箱:1905997838n);printf(tn);printf(ntn);printf(nt 指导老师:朱老师n);printf(nt 完成时间:2012年06月15日n);printf(ntn);system(pause); manu_sel();void pro_cho( )/算法选择 -system(cls);printf(ntt 四则运算计算器n); printf(tt =n); printf(tt | 1.加法运算 |n); printf(tt | 2.减法运算 |n); printf(tt | 3.乘法运算 |n); printf(tt | 4.除法运算 |n); printf(tt | 5.混合运算 |n); printf(tt | 6.返回 |n); printf(tt | 0.退出 |n); printf(tt =n); int cho; printf(tt 请您输入要选择的项目序号:(06).n); scanf(%d,&cho); switch(cho) case 1:add_num();break; case 2:sub_num();break; case 3:plu_num();break; case 4:div_num();break; case 5:mix_num();break; case 6:manu_sel();break; case 0:end();break; default: printf(您的输入不合法,请重新输入!n); system(pause); pro_cho( ); void add_num(void)/加法运算-system(cls);FILE *fp;int score =0;int aa = 0,bb = 0,cc =0;char dd=+,ee=;int cout=0;srand(unsigned)time(NULL); /重新生成随机数printf(退出请输入结果5201314n);for(int i=0;i=90) /给分数添加等级printf(优秀n); el
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能交通枢纽项目施工安全管理及质量保障合同
- 2025年多功能仓储解决方案销售返利及优惠政策合同
- 2025年度职工跨区域调动劳动合同转移与体检服务协议
- 2025年京津冀地区大型活动专用客车租赁合同
- 出租车承包合同协议书范本
- 金昌公务员面试题及答案
- 公司员工劳务合同
- 涉税专业知识培训课件
- 2025年工业互联网平台计算机视觉缺陷检测在汽车零部件制造中的应用研究报告
- 2025年基层医疗卫生机构信息化建设与医疗信息化技术应用创新策略报告001
- 2025AI办公发展现状软件市场竞争格局及未来发展前景分析报告
- 北京员工待岗管理办法
- 停工缓建项目管理办法
- 淋巴水肿健康科普
- 采购应急计划管理办法
- 上海选调生面试题和考官用题本及答案21套
- 2025年学校食堂从业人员食品安全知识培训考试试题及答案
- 2025年国家电投校园招聘笔试考点考试题库及答案
- 让情绪有着落-2025年情绪营销8大趋势洞察报告
- 教师校园安全培训课件
- 头皮健康与头发生长关系的研究
评论
0/150
提交评论