学生信息管理系统92571_第1页
学生信息管理系统92571_第2页
学生信息管理系统92571_第3页
学生信息管理系统92571_第4页
学生信息管理系统92571_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、滁州学院课程设计报告课程名称: 数据结构 设计题目: 学生成绩信息管理系统 系 别: 计算机科学与技术 专 业: 计算机科学与技术 组 别: 第十组 起止日期: 11年5 月 20日 11年 6 月25日 指导教师: 杨斌 计算机科学与技术系二一一年制课程设计题目学生成绩管理系统组长孙大成学号2010211119班级计科一班系别计算机科学与技术专业计算机科学与技术组员陈凤霞 高山 陈世光指导教师杨斌课程设计目的方便用户对学生成绩的管理和查询课程设计所需环境Microsoft Visual C+ 6.0课程设计任务要求应用数据结构的知识从文本中读取数据,设计算法,完成对学生成绩的管理和查询课程设

2、计工作进度计划序号起止日期工 作 内 容分工情况15/205/25将学生的成绩从文本文件中读取出来,存入数组陈凤霞完成25/255/30运用选择排序法对成绩进行降序排列陈世光完成36/16/10运用直接插入排序对成绩进行升序排列孙大成完成46/106/15对某个学生的成绩进行查找操作高山完成56/156/20对不及格学生的成绩输出到新建文档中高山完成66/20设计主函数中的循环算法,便于多次操作孙大成完成指导教师签字: 年 月 日教研室审核意见:教研室主任签字: 年 月 日课程设计任务书目录引言21.1、课程简介21.2、课程设计的背景2需求分析22.1问题要求22.2设计思路32.3运行开发

3、环境3概要设计33.1流程图33.2 主要数据结构43.3 函数及其实现的功能4详细设计4调试与操作说明155.1、成绩的合并后输出155.2、成绩的降序输出155.3、不及格成绩学生的信息:155.3成绩的查询155.4、成绩的不及格信息165.5成绩的文本中读取16课程设计总结与体会17致谢17参考文献17课程设计的主要内容引言1.1、课程简介当今社会,计算机技术和通信技术已经不断发展,处理和传输的数据量越来越庞大。文本文件存储的方式是普通人熟悉的数据管理的方式,我们要做的就是在文本中读取数据,在程序中处理数据,生成新的数据再保留在文本文档中,供其他人应用。1.2、课程设计的背景课程设计是

4、为了让同学们了解学习数据结构的作用和意义。数据结构是计算机科学与技术专业的专业基础课。所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,想要更好地运用计算机来解决实际问题,仅仅掌握几门计算机程序设计语言是远远难以应付当前众多复杂的课题,想要有效地使用计算机,充分发挥它的性能,还必须学习和掌握好数据结构的有关知识,打好数据结构这门课的基础,对于学习计算机专业其它的课程,如操作系统、软件工程、编译原理、数据库、人工智能等十分有益。需求分析2.1问题要求现有学生成绩信息文件1(1.txt),内容如下姓名 学号 语文 数学 英语 张明明 01 67 78 82李成友 02 78 91 8

5、8张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47. . . . 学生成绩信息文件2(2.txt),内容如下:姓名 学号 语文 数学 英语 陈果 31 57 68 82李华明 32 88 90 68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35 47 58 77. . . .(文件内容可根据测试要求,自行制定)试编写一个管理系统,要求如下:1)、实现对两个文件数据进行合并,生成新文件3.txt2)、抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3)、对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实

6、现)4)、输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5)、要求使用结构体,链或数组等实现上述要求.采用多种方法且算法正确者,可适当加分.2.2设计思路利用文件对学生成绩等基本信息进行保存,并将其中的两文件合并成一个,生成新的文件;学生成绩的分析,将应补考的同学的基本信息保存在另一个文件中;利用合并进行降序。2.3运行开发环境运行环境 Microsoft Visual C+ 6.0;开发工具 C/C+概要设计3.1流程图课程设计中算法的函数模块学生信息的建立void create(Data stu)一些学生的信息的排序(合并排序)void hebing(Dat

7、a stu)/hebing paixu补考同学信息的合并void bukao(Data stu)主函数的建立void main()结束图3.1设计的流程图3.2 主要数据结构结构如下表所述,建立包含系成绩、学号、总分的信息存储等具体数据结构定义如下:typedef struct data/建立结构体数组char name10;intXhao;int china;int math;int english;int sum;Data;3.3 函数及其实现的功能 利用文件对学生成绩等基本信息进行保存,并将其中的两文件合并成一个,生成新的文件;学生成绩的分析,将应补考的同学的基本信息保存在另一个文件中;

8、利用合并进行降序。详细设计4.1程序设计源代码#include<stdio.h>#include<iostream.h>#include<string.h>/为了输入字符串#include<stdlib.h>typedef struct data【1】char name10;intXhao;int china;int math;int english;int sum;Data;int k;/void create(Data stu)int i=0;【1】FILE *fp1,*fp2;if(fp1=fopen("E:c语言课程设计作业t1

9、.txt","r")=NULL)printf("FILE not found!n");exit(0);if(fp2=fopen("E:c语言课程设计作业t2.txt","r")=NULL)printf("FILE not found!n");exit(0);while(!feof(fp1)fscanf(fp1,"%s%d%d%d%d",,&stui.Xhao,&stui.china,&stui.math,&stui.

10、english);stui.sum=stui.china+stui.math+stui.english;i+;i-;while(!feof(fp2)fscanf(fp2,"%s%d%d%d%d",,&stui.Xhao,&stui.china,&stui.math,&stui.english);stui.sum=stui.china+stui.math+stui.english;i+;i-;k=i;printf("学号 姓名 语文 数学 英语 总分n");for(int j=0;j<i;j+)pri

11、ntf("%d %-5s %d %d %d %d n",stuj.Xhao,,stuj.china,stuj.math,stuj.english,stuj.sum);cout<<endl;/1、选择排序void hebing(Data stu)int max,jj,i;Data t;FILE *fp3;if(fp3=fopen("E:c语言课程设计作业t3.txt","w")=NULL)printf("FILE not found!n");exit(0);for(jj=0;jj<

12、k;jj+)max=jj;for(i=jj+1;i<k;i+)if(stumax.sum<stui.sum)t=stumax;stumax=stui;stui=t;for(int j=0;j<k;j+)fprintf(fp3,"%d %-5s %d %d %d %dn",stuj.Xhao,,stuj.china,stuj.math,stuj.english,stuj.sum);printf("%d %-5s %d %d %d %dn",stuj.Xhao,,stuj.china,stuj.math,

13、stuj.english,stuj.sum);/2、直接插入排序void hebing2(Data stu)int t,i;Data temp;FILE *fp5;if(fp5=fopen("E:c语言课程设计作业t5.txt","w")=NULL)printf("FILE not found!n");exit(0);for(i=2;i<=k;i+)stu0=stui;t=i-1;while(stut.sum > stu0)stut+1=stut;t=t-1;stut+1= stu0;for(int j=1;j<=k

14、;j+)fprintf(fp5,"%d %-5s %d %d %d %dn",stuj.Xhao,,stuj.china,stuj.math,stuj.english,stuj.sum);printf("%d %-5s %d %d %d %dn",stuj.Xhao,,stuj.china,stuj.math,stuj.english,stuj.sum);/void bukao(Data stu)FILE *fp4;if(fp4=fopen("E:c语言课程设计作业t4.txt","w&q

15、uot;)=NULL)printf("FILE not found!n");exit(0);for(int i=0;i<k;i+)if(stui.china<60)fprintf(fp4,"%d-%s-%d ",stui.Xhao,,stui.china);printf("%d-%s-%d ",stui.Xhao,,stui.china);fprintf(fp4,"%sn","语文不及格:");printf("%sn",&quo

16、t;语文不及格:");if(stui.math<60)fprintf(fp4,"%d-%s-%d ",stui.Xhao,,stui.math);printf("%d-%s-%d ",stui.Xhao,,stui.math);fprintf(fp4,"%sn","数学不及格:");printf("%sn","数学不及格:");if(stui.english<60)fprintf(fp4,"%d-%s-%d

17、",stui.Xhao,,stui.english);printf("%d-%s-%d ",stui.Xhao,,stui.english);fprintf(fp4,"%sn","英语不及格:");printf("%sn","英语不及格:");/void search(Data stu)int j,flag=0;char name10;printf("输入一个学生的姓名:n");scanf("%s",name)

18、;fflush(stdin);for(int i=0;i<k;i+)j=strcmp(name,);if(j=0)flag=1;printf("%d-%s-%d-%d-%d-%dn",stui.Xhao,,stui.china,stui.math,stui.english,stui.sum);if(flag=0)cout<<"not found"<<endl;/void prf()cout<<"#*#"<<endl;cout<<&qu

19、ot; #*输入“1”,降序排列成绩*结果见文本文件t3*#"<<endl;cout<<" #*输入“2”,升序排列成绩*结果见文本文件t5*#"<<endl;cout<<" #*输入“3”,补考信息*结果见文本文件t4*#"<<endl;cout<<" #*输入“4”,查找学生信息*#"<<endl;cout<<" #*输入“0”,结束服务*#"<<endl;void main()int j=1;

20、char ch;Data stu20;Data A20;prf();cout<<"请输入要执行的步骤(以1,2,3,4,5,0 ):"<<endl;scanf("%c",&ch);fflush(stdin);create(stu);for(int i=0;i<k;i+,j+)数组【2】,实现直接插入排序Aj=stui;while(ch!='0')switch(ch)case'1':cout<<"降序排列"<<endl;hebing(stu);break;case'2':cout<<"升序排列"<<endl;hebing2(A);break;case&#

温馨提示

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

评论

0/150

提交评论