顺序表的学生成绩管理系统设计与实现.doc_第1页
顺序表的学生成绩管理系统设计与实现.doc_第2页
顺序表的学生成绩管理系统设计与实现.doc_第3页
顺序表的学生成绩管理系统设计与实现.doc_第4页
顺序表的学生成绩管理系统设计与实现.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

长春建筑学院数据结构课程设计(论文) 顺序表的学生成绩管理系统设计与实现顺序表的学生成绩管理系统设计与实现 Order table of student achievement management system design and implementation 年 级: 学 号: 姓 名: 专 业 指导老师: 二零一三年十二月 长春建筑学院数据结构课程设计(论文) I 摘 要 随着社会的发展,学校的规模不断的扩大,日常教学活动中 提取相关信息,以反映教学情况。传统的手工操作方式,易发生数 据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速, 快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实 现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理 效率和水平。学生成绩管理系统以计算机为工具,通过对学生成绩 管理所需的信息管理,把管理人员和老师从繁琐的数据计算处理中 解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学 计划的制定执行和教学质量的监督检查,从而全面提高教学质量。 信息社会的高科技,商品经济化的高效益,使计算机的应用已 普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来 愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应 现代社会人们高度强烈的时间观念,学生成绩管理系统软件为教学 办公室带来了极大的方便。该软件是以 C 语言为实现语言,其功能 在系统内部有源代码直接完成。通过操作目录,管理者和老师可以 了解本软件的基本工作原理。管理者和老师只需输入一些简单的汉 字、数字,即可达到自己管理学生成绩的目标。 关键字关键字: : 成绩管理系统 c 语言 数据结构 长春建筑学院数据结构课程设计(论文) II Abstract With the development of the society, the school scale unceasingly expands, the daily teaching activities to extract relevant information, to reflect the teaching situation. Traditional way of manual operation, prone to loss of data, statistical errors, high labor intensity, and the slow speed. Using the computer can be high speed, quickly complete the above work. After the computer networking, data transmission on the Internet, can realize data sharing, avoid duplication of effort, standardize teaching management, so as to improve the management efficiency and level. Student achievement management system by means of computer, through the information needed for the student performance management in the management, the management and teachers from complicated data processing, make its have more energy to engage in the research and implementation of the policy of the educational administration teaching plan execution and the teaching quality supervision and inspection, so as to improve the quality of teaching comprehensively. The information society the high-tech, goods of contract high benefit, make the application of computer has spread to all areas of economic and social life. Although computer and human relations more and more close, and because the computer operation is not convenient to continue with manual labor. In order to adapt to modern society people highly strong time concept, student achievement management system software for the teaching office has brought great convenience. The software based on C language implementation language, its function within the system have the source code directly to finish. By manipulating the directory, administrators and teachers can understand the basic working principle of this software. Administrators and teachers only need to input some simple Chinese characters, Numbers, can achieve their management goal of the students grade. key words: achievement management system, c language, data structure 长春建筑学院数据结构课程设计(论文) 目 录 摘 要 I ABSTRACT.II 第 1 章 绪 论.- 1 - 1.1 需求分析 .- 1 - 1.2 实验目的 .- 1 - 1.3 实验内容- 1 - 第 2 章 系统总体设计.- 2 - 2.1 基本要求- 2 - 2.2 算法设计思想- 2 - 2.3 设计要求.- 2 - 第三章 系统详细设计.- 3 - 3.1 创建空顺序表并初始化- 3 - 3.2 向顺序表中插入元素- 4 - 3.3 查找学生信息- 7 - 3.4 删除学生信息.- 8 - 3.5 输出学生信息- 9 - 3.6 修改学生信息- 9 - 3.7 退出学生信息管理系统- 12 - 第四章 总体设计.- 13 - 4.1 设计概述- 13 - 4.2 系统总流程图及功能模块划分.- 13 - 4.2.1 学生信息查询模块- 14 - 4.2.2 学生信息查询模块- 15 - 第五章 系统测试.- 16 - 5.1 实验结果.- 16 - 实验总结.- 20 - 收获与心得.- 21 - 致 谢.- 22 - 参考文献.- 23 - 长春建筑学院数据结构课程设计(论文) - 1 - 第 1 章 绪 论 引言:引言: 为了提高高校学生信息的管理效率,方便对学生信息进行管理、学校里面的 学生和管理员方便去管理和查询学生信息,如再要进行查询,就得在众多的学生信 息中查找自己的成绩信息,面对学院大量的学生信息,怎么可以即时而方便的管理, 学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期 的学生的成绩信息。建立一个学生信息管理系统,使学生信息管理工作规范化,系 统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、 准确、有效的查询和修改学生信息是必须而且十分迫切的工作。 。 1.1 需求分析 学生管理系统功能的信息量大,数据安全性和保密性要求最高。本功能实现对 专业信息、学生信息、教师信息情况信息的管理和统计、课程信息和成绩信息查看 及维护。系统管理员可以浏览、查询、学生的基本信息,能添加、删除和修改学生 信息,这部分功能应该由系统管理员执行,但是,删除某条专业基本信息记录时, 应实现对该专业的相关信息也级联删除。并且还应具有查询,并打印输出的功能 1.2 实验目的 1. 掌握顺序表的建立。 2. 掌握顺序表的基本操作。 3. 掌握顺序查找的基本算法 1.3 实验内容 利用顺序表实现学生成绩管理系统,具体功能:输入、输出、 插入、除、查找、修改、退出,并能在屏幕上输出操作前后的结果。 长春建筑学院数据结构课程设计(论文) - 2 - 第第 2 章章 系统总体设计系统总体设计 2.1基本要求 1.硬件:微机和打印机一台各 2.软件:Visual C+ windows7 2.2算法设计思想 1) 分析程序的功能要求,划分程序功能模块 2) 画出系统流程 3) 代码的编写,定义数据结构和各个功能子函数 4) 程序的功能调试 2.3设计要求设计要求 1. 写出系统需求分析,并建模。 2. 编程实现,界面友好。 3. 输出操作前后的结果。 4. 提供测试报告 长春建筑学院数据结构课程设计(论文) - 3 - 第三章第三章 系统详细设计系统详细设计 3.13.1 创建空顺序表并初始化创建空顺序表并初始化 void creatList(sqlist *L) int i=0,n; Elemtype *newbase; L-elem=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemtype) ; if(!L-elem) exit(OVERFLOW); L-length=0; L-listsize=List_INIT_SPACE; printf(“有几位同学:n“); scanf(“%d“, for(i=0;ilength=L-listsize) newbase=(Elemtype*)realloc(L- elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype); if(newbase) L-elem=newbase; L-listsize+=List_INC_SPACE; 长春建筑学院数据结构课程设计(论文) - 4 - else exit(OVERFLOW); printf(“请输入第%d 名同学的信息:n“,i+1); printf(“学号(15)n“); scanf(“%16s“,L-elemL-length.number); printf(“姓名(15)n“); scanf(“%16s“,L-elemL-); printf(“性别(男:M 女:F)n“); scanf(“%16s“,L-elemL-length.sex); printf(“成绩n“); scanf(“%10d“, L-length+; printf(“%d 名学生信息如下:n“,L-length); printf(“学号(15) 姓名(15) 性别(男:M 女:F) 成绩n“); for(i=0;ilength;i+) printf(“%-16s%-16s%-16s%-10dn“,L-elemi.number,L-,L- elemi.sex,L-elemi.score); 3.23.2向顺序表中插入元素 void insertlist(sqlist*L) int i,j,k; char sign=y; Elemtype *newbase; Elemtype newelem; 长春建筑学院数据结构课程设计(论文) - 5 - while(sign!=n) if(L-length=L-listsize) newbase=(Elemtype*)realloc(L- elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype); if(newbase) L-elem=newbase; L-listsize+=List_INC_SPACE; else exit(OVERFLOW); printf(“请输入要插入的同学的信息:n“); printf(“学号(15)n“); scanf(“%16s“,newelem.number); printf(“姓名(15)n“); scanf(“%16s“,); printf(“性别(男:M 女:F)n“); scanf(“%16s“,newelem.sex); printf(“成绩n“); scanf(“%10d“, printf(“要插入到第几个位置:“); scanf(“%d“, while(iL-length+1) 长春建筑学院数据结构课程设计(论文) - 6 - printf(“不能插入到第%d 个位置!n 只能插入第 1 到第%d 个 位置上!n 请重 新输入要插入的位置:“,L-length+1); scanf(“%d“, L-length+; for(j=L-length-1;ji-2;j-) for(k=0;k=L-k; L-elemj.numberk=L-elemj-1.numberk; L-elemj.sexk=L-elemj-1.sexk; L-elemj.score=L-elemj-1.score; j+; for(k=0;k=k; L-elemj.numberk=newelem.numberk; L-elemj.sexk=newelem.sexk; L-elemj.score=newelem.score; printf(“是否还要输入?(Y or N)“); getchar(); scanf(“%c“, if(sign=n|sign=N) sign=n; 长春建筑学院数据结构课程设计(论文) - 7 - printf(“%d 名学生信息如下:n“,L-length); printf(“学号(15) 姓名(15) 性别(男:M 女:F) 成绩n“); for(i=0;ilength;i+) printf(“%-16s%-16s%-16s%-10dn“,L-elemi.number,L-,L- elemi.sex,L-elemi.score); 3.33.3查找学生信息 int findlist(sqlist *L) int j;char i16; printf(“1.按学号查找n2.按姓名查找n 请选择:“); scanf(“%d“, if(j=1) printf(“请输入学号:“); scanf(“%s“,i); if(!strcmp(i,L-elemj.number)/i=L-elemj.number 用数组函数 return j+1; return 0; else printf(“请输入姓名:“); scanf(“%s“,i); for(j=0;jlength;j+) if(!strcmp(i,L-)/用数组函数 长春建筑学院数据结构课程设计(论文) - 8 - return j+1; return 0; 3.43.4 删除学生信息 int delnode(sqlist *L) int j;char i10; printf(“1.按学号删除n2.按姓名删除n 请选择:“); scanf(“%d“, if(j=1) printf(“请输入学号:“); scanf(“%s“,i); for(j=0;jlength;j+) if(!strcmp(i,L-elemj.number)/i=L-elemj.number 用数 组函数 for(;jlength;j+) L-elemj=L-elemj+1; L-length-; return 1; return 0; else printf(“请输入姓名:“); scanf(“%s“,i); 长春建筑学院数据结构课程设计(论文) - 9 - for(j=0;jlength;j+) if(!strcmp(i,L-)/用数组函数 for(;jlength;j+) L-elemj=L-elemj+1; /L-elemj以后的向前 挪 L-length-; return 1; return 0; 3.5 输出学生信息 void printlist(sqlist *L) int i; printf(“%d 名学生信息如下:n“,L-length); printf(“学号(15) 姓名(15) 性别(男:M 女:F) 成绩n“); for(i=0;ilength;i+) printf(“%-16s%-16s%-16s%-10dn“,L-elemi.number,L-,L- elemi.sex,L-elemi.score); 3.6 修改学生信息 void reviselist(sqlist *L) int i,x,a=0; char name16; char sex16; char number16;int score; printf(“请选择你要改的同学的姓名“); scanf(“%16s“,name); 长春建筑学院数据结构课程设计(论文) - 10 - printf(“请选择你要改的同学的信息n“); printf(“1.修改学生的姓名n“); printf(“2.修改学生的学号n“); printf(“3.修改学生的性别n“); printf(“4.修改学生的成绩n“); scanf(“%d“, switch(x) case 1: for(i=0;ilength;i+) if(strcmp(name,L-)=0) printf(“请输入新名字“); scanf(“%16s“,name); strcpy(L-,name); a=1; if(a=0) printf(“对不起你要改的名字不存在n“); break; case 2: for(i=0;ilength;i+) if(strcmp(name,L-)=0) printf(“请输入新学号“); 长春建筑学院数据结构课程设计(论文) - 11 - scanf(“%16s“,number); strcpy(L-elemi.number,number); a=1; if(a=0) printf(“对不起你要改的名字不存在n“); break; case 3: for(i=0;ilength;i+) if(strcmp(name,L-)=0) printf(“请输入新性别“); scanf(“%16s“,sex); strcpy(L-elemi.sex,sex); a=1; if(a=0) printf(“对不起你要改的名字不存在n“); break; case 4: for(i=0;ilength;i+) if(strcmp(name,L-)=0) printf(“请输入新成绩“); scanf(“%d“,score); L-elemi.score=score; 长春建筑学院数据结构课程设计(论文) - 12 - a=1; if(a=0) printf(“对不起你要改的名字不存在n“); break; 3.7 退出学生信息管理系统 void tuichu(sqlist *L) if(!L-elem) free(L-elem); printf(“nn 再见,欢迎下次使用“); exit(-2); 第四章第四章 总体设计总体设计 4.1 设计概述 根据需求把整个系统分化成不同的模块,每个模块完成一 长春建筑学院数据结构课程设计(论文) - 13 - 个特定的子功能。把这些模块结合起来组成一个整体。逐一实 现各个功能。 4.2 系统总流程图及功能模块划分 经过对系统的需求分析,学生信息管理系统主要划分为三 个部分:学生信息查询,学生信息管理,学生成绩录入三个功 能模块。如图 4.2 系统的总体结构。 长春建筑学院数据结构课程设计(论文) - 14 - 主函数开始 根据 printf 函数输出的提示信息选择相关操作 根据 while 语句选择 06 相 应的数字 Switch 语句实现的 具体操作 5.输 出学 生信 息 4.删 除学 生信 息 6.修 改学 生信 息 0.退 出学 生信 息系 统 3.查 找学 生信 息 2 添 加学 生信 息 1.创 建学 生信 息并 初始 化 根据相关调用函数 输出相应学生信息 程序结束 图 4.2 系统的总体结构 4.2.1 学生信息查询模块 学生信息查询:学生可以根据学号、姓名、专业进行查询。如图 3.2.2 学生 信息查询模块结构。 长春建筑学院数据结构课程设计(论文) - 15 - 学生信息管理系统 学生信息查询 学生信息管理 学生信息录用 图 4.2.1 学生信息管理模块结构 4.2.2 学生信息查询模块 学生信息查询:学生可以根据学号、姓名、专业进行查询。如图 4.2.2 学生信息查询模块结构。 学生信息查询 学号查询 姓名查询 图 4.2.2 学生信息管理模块结构第 5 章 系统测试 长春建筑学院数据结构课程设计(论文) - 16 - 第五章第五章 系统测试系统测试 1在调试过程中出现了很多次的程序错误,警告和不能运行。在很多次的 调试和重新改写之后,才可以用。 2Visual C+确实是一门需要极其细心和耐心的课程,尤其在程序设计的过 程中不可有一丝的马虎大意,否则将会花很大力气去改正。 3.调试过程中最常见的便是代码输入错误,如字母大小写、顺序颠倒、符号的 半/全角使用等一些问题,都是在调试过程中逐一改正的。 5.1 实验结果实验结果 1.初始化初始化 2.2.输入输入 长春建筑学院数据结构课程设计(论文) - 17 - 3 3 插入插入 4 4 查找查找 长春建筑学院数据结构课程设计(论文) - 18 - 5 5 删除删除 6 6 修改修改 长春建筑学院数据结构课程设计(论文) - 19 - 7 7 退出退出 长春建筑学院数据结构课程设计(论文) - 20 - 实验总结实验总结 在程序设计方面,逐渐感觉到模块化设计的重要性。在程序设计时,应该分析 出功能块,然后对其细节中的共性和特性

温馨提示

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

评论

0/150

提交评论