《数据结构》课程设计报告书简单的小学生做题系统的设计和实现

上传人:pu****.1 文档编号:459953256 上传时间:2023-02-19 格式:DOC 页数:25 大小:172.53KB
返回 下载 相关 举报
《数据结构》课程设计报告书简单的小学生做题系统的设计和实现_第1页
第1页 / 共25页
《数据结构》课程设计报告书简单的小学生做题系统的设计和实现_第2页
第2页 / 共25页
《数据结构》课程设计报告书简单的小学生做题系统的设计和实现_第3页
第3页 / 共25页
《数据结构》课程设计报告书简单的小学生做题系统的设计和实现_第4页
第4页 / 共25页
《数据结构》课程设计报告书简单的小学生做题系统的设计和实现_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《数据结构》课程设计报告书简单的小学生做题系统的设计和实现》由会员分享,可在线阅读,更多相关《《数据结构》课程设计报告书简单的小学生做题系统的设计和实现(25页珍藏版)》请在金锄头文库上搜索。

1、怀 化 学 院 计 算 机 系数据结构课程设计报告书 学生姓名: 学 号:0806401042年级专业及班级:2008级01班指导老师及职称:专 业:计算机科学与技术专业湖南怀化提交日期:2010年06月 目 录摘 要II关键词II1 前言22 设计分析23 实现方法23.1 函数功能介绍2 3.1.1定义全局变量.2 3.1.2 函数功能的描述.23.2函数功能的实现2 3.2.1源码与分析.2 3.2.2被调用的函数.23.3程序演示.24 系统使用说明书25 结论2参考文献2致 谢.2附 录.2 简单的小学生做题系统的设计和实现学生: 指导老师: (怀化学院计算机系:怀化 418008)

2、摘 要:本次课程设计的目的是设计一个简单的小学生做题系统,要求利用栈求表达式的值,可供小学生作业,并能给出分数,限1人完成。本次设计主要采用的语言是C和C+语言,编程环境是VC.6。系统由若干个函数构成,用到了栈、函数调用、文件的开闭和读写和常见的循环等手法,经过多次的调试与修改,终于实现了设计所要求的各项要求,做成了一个简单的能供小学生选题、做题并能打出分数与历史成绩相比较的简单系统,很好的完成了这一次的课程设计任务。通过这一次的作业,我学到了很多知识,明白了亲自实践和动手能力的重要性。关键词:栈 VC.6 循环 函数调用 文件 一、 前言本次课程设计的目的是设计一个简单的小学生做题系统,设

3、计要求能建立试题库文件,随机产生n个题目;题目涉及加减乘除,带括弧的混合运算;随时可以退出;保留历史分数,能回顾历史,给出与历史分数比较后的评价。针对题目的各项要求,我运用C语言工具在VC.6的环境中,通过结构体数组、函数的调用、循环的使用以及文件的开闭和读写等常用方法来解决在编程过程中遇到的问题,编写出了一个符合设计要求的简单系统。二、 设计分析根据题目的要求,我根据题目要求实现的功能,首先确定了8个大的子函数,分别用来实现输出目录表、提取题目、对系统的说明、存储所有成绩、输出所有成绩、存储最近一次成绩、输出最近一次成绩、开始作业等功能。由于其中涉及了能回顾历史成绩以及随机做题等问题,所以就

4、考虑用到了文件的打开与关闭以及文件的读写功能。由于此设计要实现多个功能,所以为了源代码清晰明了,所有的函数不是用的嵌套方式,而是对每个功能都用一个子程序来实现,然后通过对子程序的调用来达到设计的要求。三、 实现方法本程序通过C和C+语言来实现,在VC6.0下运行3.1 函数功能介绍3.1.1 由于此系统设计的变量较多,为了使程序清晰明了,首先定义了一些有关的全局变量:float answer50;float myAnswer50;int count;int Right;char filename120=所有成绩.txt; char filename220=最近一次的成绩.txt; /char

5、ti20050; int tiliang; int *record; struct tm *tblock; time_t timer;char s50;int tops;float d100;int topd;char c;int r;3.1.2 函数功能的描述1.char menu() 菜单界面 ;2.void Title() 提取题目,并返回题目个数;3.void EXIT () 对系统的说明;4.void save_all_achievment() 存储所有成绩;5.void out_all_achievment() 输出所有成绩;6.void save_latest_achievmen

6、t() 存储最近一次成绩;7.void out_latest_achievment() 输出最近一次成绩;8.void expression() 随机抽提;9.void do_homework() 开始作业;10.void main() 主函数。3.2 函数功能的实现3.2.1 源码分析程序预处理: #include #include#include#include3.2.2 被调用函数char menu()char item;/选项;coutendlendlendl;cout 小学生测试系统 endl;coutendl;cout 1.介绍 4.历史记录 endl;cout endl;cout

7、 2.开始测试 5.最后一次记录 endl;cout endl;cout 3.退出 6.删除所有记录 endl;cout endl;coutendlendl;coutitem)if(item!=1 & item!=2 & item !=3 & item !=4 & item!=5 & item!=6)cout 菜单选项不正确,请重新选择! ;elsebreak;return item;void save_all()/-存储所有成绩FILE *fp;char ch;fp=fopen(filename1,a);fprintf(fp,nnnn *本次测试情况总结* n); fprintf(fp, -

8、 n);fprintf(fp, 题目 正确答案 您的答案 结果 n);for(int i=0;icount;i+)fprintf(fp, %-12s %-6.2f %-6.2f %s n,tirecordi,answeri,myAnsweri,answeri=myAnsweri?正确!:错误!);fprintf(fp, - n);fprintf(fp, 解答题目总共为%d道,其中n,count);fprintf(fp, 正确解答%d道题,错误解答%d道题。nn *最后得分为%d分!*n,Right,count-Right,Right*100/count); fprintf(fp, -n);fprintf(fp, 本次测试时间: %s,asctime(tblock);fclose(fp);void EXIT()/-退出系统coutendlendlendlendlendlendlendlendl;cout 谢谢使用!endl;void show_all()/-输出所有成绩FILE *fp;char ch;if(fp=fopen(filename1,r)=NULL)coutendlendlendl 没有任何记录endl;coutendl 请按回车键返回。;elsewhile(!feof(fp)ch=fgetc(fp);coutch;fclose(fp);coutendlendl 请按

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号