C++课程设计报告(共38页).doc
《C++课程设计报告(共38页).doc》由会员分享,可在线阅读,更多相关《C++课程设计报告(共38页).doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 课程设计课程名称:课 程 号: 2013年6月26日 目录专心-专注-专业一、课程设计设计目的及要求1.课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务:l 巩固和加深学生对C语言课程的基本知识的理解和掌握l 掌握C语言编程和程序调试的基本技能l 利用C语言进行基本的软件设计l 能够利用所学的基本知识和技能,解决简单的程序设计问题.l 培养学生在项目开发中团队合作精神,创新意识及能力。l 掌握书写程序设计说明文档的能力 2.课程设计要求l 分析课程设计题目的要求
2、l 写出详细设计说明l 编写程序代码,调试程序使其能正确运行l 设计完成的软件要便于操作和使用l 设计完成后提交课程设计报告二、课程设计任务内容2.1背单词软件开发 (学号为单号的必须作)实现功能:l 2.1.1录入单词 China 中国Japan 日本 . 使用文件存放。2.1.2随机测试系统随机显示单词(用户可以选择中译英,或英译中),对回答错误的单词应该可再回答一次。能够统计回答的正确单词的个数。2.1.3顺序测验2.1.4查找单词的汉语或英语意思输入中文查对应的英语意思,输入英文查对应汉语意思2.2学生成绩管理系统 实现功能:l 设计一个功能显示菜单,并有选择提示;l 建立学生信息数据
3、,包括学号、姓名、三门课(语文、数学和英语)的成绩;l 能实现学生信息增加、删除和修改;l 统计每个学生的总分和平均分;l 按照总分从小到大排出名次;l 任意输入一个学好,能够查出该学生在班级中的排名及其考试成绩。l 学生的信息包括学号、姓名、三门课(语文、数学和英语)的成绩,都应该保存在二进制文件里2.2.1背单词系统1)、当前学生信息:通过结构体struct wd 来保存单词的英文意思和中文意思等相关信息,并且通过cin函数输入单词信息;2)、单词录入 :可以随时调用单词录入单词,并用fwrite函数将单词保存在“word.txt” 文件里;3)、随机测试: 运用rand()函数随机产生一
4、个单词的英文, 然后用户输入其对应的中文意思,在文件中查找此单词, 并把输入的中文意思与产生英文单词的中文意思作比较,若一样则输出“回答正确”,否则重新做一遍,然后再判断,能并统计回答的正确单词的个数;若找不到则输出查找失败的信息;4)、顺序测试:从“word.txt”的第一个单词开始逐个测试,测试方法同随机测试;5. 单词查询:输入一个英文单词, 在文件中查找此单词, 若找到则输出此单词的中文意思; 若找不到则输出查找失败的信息;5)、退出系统.(附加说明:系统将来完善的功能有:测试或查找单词时实现双向测试、查找)2.2.2、学生信息管理系统1)、 当前学生信息:通过结构体struct st
5、udent 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息 4)、输出全部学生信息和全部学生成绩。 2)、学生成绩查询: 输入一个学号, 在文件中查找此学生, 若找到则输出此学生的全部信息和成绩; 若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。3)、信息插入 :通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。5)、退出系统.第三部分:详细设计3.1系统化可以分为如下模块(即如下函数):3.1.1背单词系统1)、单词录入:其中包括单词的英文和其对
6、应的中文意思;可用函数cin来实现此操作。(调用函数:void luru()) 2)、随机测试:又分为两个模块:(调用函数:suijiceshi() )、英译汉。用rand()来随机产生一个英文单词、汉译英。主要内容同英译汉。3)、顺序测试:对单词进行逐个测试。(调用函数:void shunxuceshi())4)、单词查询:(调用函数:void chazhao() ) 5)、退出系统3.1.2、学生信息管理系统1)、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin来实现此操作。2)、输出模块:输出全部学生全部信息包括学生的语文、数
7、学、英语成绩。3)、插入模块:可用fwrite函数来实现。其中通过学号的大小来比较的,并且以此来排序。4)、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语相关成绩,同时也可以分别通过studi-1来输出语文、数学、英语平均分数。5)、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。3.2系统主模块结构图背单词系统: 背 单 词 系 统单词录入随机测试顺序测试单词查询退出系统汉译英英译汉学生信息管理系统:学生成绩管理系统增加信息模块显示信息模块排序信息模块查询信息模块增添信息模块修改信息模块删除信息模块主菜单模块写入文件
8、模块3.2.1 界面设计(1)背单词系统:(2)学生信息管理系统3.2.2数据结构设计:程序设计中用到的结构体类型:背单词系统结构体类型:struct wd char chinese20; char english20;wdN;学生信息管理系统中结构体类型:typedef struct char class_020; /*班级*/ int number; /*学号*/ char name20; /*姓名*/ float english; /*大学英语成绩*/ float math; /*高等数学成绩*/ float chinese; /*语文成绩*/ float average; /*平均分*
9、/Student;二、程序模块1、背单词系统: 录入模块:void luru() FILE *fp; int flag; if(fp=fopen(d:word.txt,ab+)=NULL) cout打开失败endl; exit(0); while(1) cout请输入第p+1个汉语意思:wdp.chinese; cout请输入对应的英语单词:wdp.english; p+; fwrite(&wd,sizeof(wd),p,fp); coutflag; if(flag=0|p=10) break; fclose(fp); 测试模块:void suijiceshi() int k; cout(1)
10、汉译英endl(2)英译汉k; while(k=1) int d; char a20,b20; srand(time(0); d=rand()%p; coutwdd.chinesena; if(strcmp(a,wdd.english)=0)r+;s+; cout恭喜你!答对了!n;else s+; cout很遗憾,答错了!;coutb; if(strcmp(b,wdd.english)=0) r+; cout恭喜你!答对了!n;else cout很遗憾,答错了!;cout正确个数rt总个数sp) cout没有相应的英语单词endl;break; while(k=2) int n; char
11、c20,d20;srand(time(0);n=rand()%p; coutwdn.englishnc; if(strcmp(c,wdn.chinese )=0) r+; s+; cout恭喜你!答对了!n; else s+; cout很遗憾,答错了!;coutd; if(strcmp(d,wdn.chinese )=0) r+; cout恭喜你!答对了!n; else cout很遗憾,答错了!; cout正确个数rt总个数sp) cout没有相应的汉语endl;break;void shunxuceshi() for(i=0;ip;i+) char a20,b20; cout第i+1个汉语w
12、di.chinesena;if(strcmp(a,wdi.english)=0)r+;s+; cout恭喜你!答对了!n;else s+; cout很遗憾,答错了!;coutb; if(strcmp(b,wdi.english)=0)r+; cout恭喜你!答对了!n;else cout很遗憾,答错了!;cout正确个数rt总个数sp) cout没有相应的英语单词endl; 查询模块:void chazhao() char a20; couta; for(i=0;ip;i+) if(strcmp(a,wdi.chinese )=0) cout对应英语是wdi.english; else if(
13、strcmp(a,wdi.english )=0) cout对应汉语是wdi.chinese ; 2、学生信息管理系统:、数据录入模块:int Input(Student stud,int n) /*输入若干条记录*/ int i=0; char sign,x10; /*x10为清除多余的数据所用*/ while(sign!=n&sign!=N) /*判断*/ coutstudn+i.class_0; coutstudn+i.number; coutstudn+i.name; coutstudn+i.english; coutstudn+i.math; coutstudn+i.chinese;
14、 studn+i.average=(studn+i.english+studn+i.math+studn+i.chinese)/3; cout平均分为:studn+i.averageendl; gets(x); /*清除多余的输入*/ coutsign; /*输入判断*/ i+; return(n+i); 、显示学生信息模块:void Display(Student stud,int n) /*显示所有记录*/ int i; if(!stud)cout没有记录; else cout*endl; /*格式头*/ cout班别setw(10)学号setw(10)姓名setw(10)英语setw(1
15、0)数学setw(10)语文setw(10)平均分endl; for(i=1;in+1;i+) /*循环输入*/ studn-1.average=(studn-1.english+studn-1.math+studn-1.chinese)/3; coutstudi-1.class_0setw(10)studi-1.numbersetw(10)studi-1.namesetw(10)studi-1.englishsetw(10) studi-1.mathsetw(10)studi-1.chinesesetw(10)studi-1.averageendl; couttttendl; system(
16、pause); 、删除学生成绩信息模块:int Delete(Student stud,int n) /*按学号查找,删除一条记录*/ int s; int i=0,j; cout输入需要删除学生的学号:s; while(studi.number-s)!=0&in) i+; /*查找判断*/ if(i=n) cout提示:对不起,无法找到改学号endl; /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(studj.class_0,studj+1.class_0); studj.number=studj+1.number; strcp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告 38
限制150内