数据结构成绩管理报告.doc_第1页
数据结构成绩管理报告.doc_第2页
数据结构成绩管理报告.doc_第3页
数据结构成绩管理报告.doc_第4页
数据结构成绩管理报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

摘要学校是一个庞大的教学机构,必须要有一个合理的管理系统。学生的个人信息,家庭信息,学习档案,统统需要在学校里有纪录。虽然每一项都是很大的管理工程,但是利用计算机技术可以快速记载所有信息。介于我们经常在学校管理学生的信息,学生的成绩管理成为必要的一项事务。在此掌握必要的计算机技术可以减少管理的繁琐性,学生成绩管理系统利用数据结构设计更加轻松编制。 本文介绍了利用Visual C+或Win-TC环境下采用“自上而下的总体规划,自下而上的应用开发”的策略开发本系统的详细过程。提出实现成绩信息管理,合理公平纪录。利用数据结构建立顺序存储的线性成绩表、实现1.显示学生成绩表;2.查找学生成绩;3.插入;4。删除;5.统计总分、平均分;6.学生的成绩排序等功能。用C语言编写程序,形成一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。关键字: 学生成绩管理、数据结构设计、C语言程序、VC+AbstractThe school is a huge teaching organizations, there must be a reasonable management system. Students personal information , family information , learn the file , all need to be in the school had record. Although each are big management engineering, but the computer technology can be quickly recorded all the information. We often between the management of students information , student performance management has become a necessary affairs. In this to the necessary computer technology can reduce the management of trial ,student performance management system by using data structure design of more relaxed. This paper introduces the Visual C+ or WIN-TC environment with a top down over all plan of the bottom of the application development strategy of development of the system of the detailed process.Results pointed out the information management ,rational and fair record.Use data structure stored in order established linear record table ,realize 1.Show students performanceTable; 2.Find student achievement; 3.Insert ; 4.Delete; 5.Statistics,an average of total score; 6.Function of Students scores sort etc. Written in C program , for ming an integrated automation management mode,from the point of view of software engineering the scientific and rigorous in this paper.Key word: students performance management, data structure design ,C language program, VC+一、绪论1.1课程设计的目的和意义当代大学生是一个特殊的团体,他们具有较高知识修养和较强综合素质,但是他们中的大部分却不具有与他们能力相符的动手能力与就业竞争能力。大学毕业生是新兴劳动力的组成部分,提高大学毕业生就业工作发展水平,事关我国经济社会可持续发展的进程 ,高校作为培养大学生的摇篮,必须责无旁贷地承担起提高大学生就业能力的重任。提高大学生的就业能力,不仅需要教师付出辛勤的劳动,还需要一套科学完善的制度作为保障,而高校毕业生基本情况数据库管理系统无疑是一个很好的尝试。本文设计的这套数据库管理系统,是综合日常管理、实践考核、科目成绩统计、就业管理等等的综合性数据库系统。设计学生管理这样一个系统,可以涉及到大多数MFC与C+数据库的重要数据库对象、重要功能和特性,例如:视图、触发器和存储过程等。由此,通过这个课程设计可以加深学生对这些MFC与C+数据库知识的学习、理解,积累在实际工程应用中运用各种数据库对象的经验,使学生掌握使用应用软件开发工具开发数据库管理系统的基本方法。在实用性方面,学生管理系统是很普遍的一种应用,选择该系统作为课程设计也可以为学生以后可能遇到的实际开发提供借鉴。1.2 为何选用C+相比较于DOS系统、C语言系统、JAVA系统等,C+具有其独特的优点让我们在设计中选择它。它是一门独立的语言;它并不依赖C语言,我们可以完全不学C语言,而直接学习C+。根据C+编程思想()一书所评述的,C+与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C+ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。对于初学者来说,用起编程很上手第一章数据结构的概述1.1一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。1.2研究内容“数据结构”作为一门独立的课程在国外是从1968年才开始设立的。1968年美国唐.欧.克努特教授开创了数据结构的最初体系,“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据机构这一门课的不仅是一般程序设计而且是设计和实现编译程序、操作程序、数据库系统及其他系统程序的重要基础。计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法 。也就是说,数据结构还需要给出每种结构类型所定义的各种运算的算法。数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并由计算机程序处理的符号的总称。数据元素是数据的基本单位,在计算机程序中通常作为一个整体考虑。一个数据元素由若干个数据项组成。数据项是数据的不可分割的最小单位。有两类数据元素:一类是不可分割的原子型数据元素,如:整数5,字符 N 等;另一类是由多个款项构成的数据元素,其中每个款项被称为一个数据项。例如描述一个学生的信息的数据元素可由下列6个数据项组成。其中的出生日期又可以由三个数据项:年、月和日组成,则称出生日期为组合项,而其它不可分割的数据项为原子项。关键字指的是能识别一个或多个数据元素的数据项。若能起唯一识别作用,则称之为 主 关键字,否则称之为 次 关键字。数据对象是性质相同的数据元素的集合,是数据的一个子集。数据对象可以是有限的,也可以是无限的。数据处理是指对数据进行查找、插入、删除、合并、排序、统计以及简单计算等的操作过程。在早期,计算机主要用于科学和工程计算,进入八十年代以后,计算机主要用于数据处理。据有关统计资料表明,现在计算机用于数据处理的时间比例达到80%以上,随着时间的推移和计算机应用的进一步普及,计算机用于数据处理的时间比例必将进一步增大。1.3分类数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。逻辑结构形式地定义为(K,R)(或(D,S),其中,K是数据元素的有限集,R是K上的关系的有限集。数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构(网状结构)。树形结构和图形结构全称为非线性结构。集合结构中的数据元素除了同属于一种类型外,别无其它关系。线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。在图形结构中每个结点的前驱结点数和后续结点数可以任意多个。数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。线性结构的顺序存储结构是一种随机存取的存储结构,线性表的链式存储结构是一种顺序存取的存储结构。线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻辑结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关。第二章 需求与分析2.1系统功能需求分析:输入功能:可以输入100位同学信息显示功能:显示全部学生成绩记录查询功能:采用顺序表查找完成按学号、姓名查找学生成绩排序功能:采用冒泡排序法,将学生的成绩从低到高排序输出删除功能:可以删除学生信息统计功能:可以对学生的总分、平均分进行统计插入功能:完成数据的插入2.2流程图:学生成绩管理系统创建成绩表管理成绩表统计输入删除排 序查 询行号冒泡排序按姓名查询学号姓名各科成绩统计总分统计平均分按学号查询 显示操作结果 退出学生成绩系统第三章具体操作如下步骤:3.1 顺序存储的线性表的相关数据类型的定义操作(整数表)typedef structint number; char name 20; int math; int English; int computer; int sum; int average;elemtype;3.2 创建线性表typedef struct elemtype datamaxlen+1;/*从数组下标1开始存储,最多存maxlen个元素*/ int length; seqlist; 3.3源程序如下:#include stdio.h3.4初始化成绩表void initial_List(seqlist *L1)/*初始化*/ L1-length=0; 3.5显示成绩表中学生的成绩信息 void show_all(seqlist L) int i;for(i=1;i=L.length;i+)printf(n number:%4d,name:%10s,math:%d,English: %d,computer: %d,sum: %d,average: %d,L.datai.number,L.,L.datai.math,L.datai.English,L.puter,L.datai.sum,L.datai.average); 3.6显示第i个学生成绩函数/*-显示第i个-*/void show_i(seqlist L, int i)/*成绩表输出*/ if (iL.length) printf(没有第%d个元素,i); else printf(n第%d个元素是:,i); printf(n num:%4d,name:%10s,math:%d,English: %d,computer: %d,sum: %d,average: %d, L.datai.num,L.,L.datai.math,L.datai.English,L.puter,L.datai.sum,L.datai.average); 3.7查找方法操作:3.71按学号查找int seqsearch_num(seqlist L, int x) int i =L.length; L.data0.num=x; while(L.datai.num!=x) i-; return i;3.7.2按姓名查找int seqsearch_name(seqlist S, char x)int i =S.length; strcpy(S.,x);while(strcmp(S.,x)!=0) i-; return i;3.8.插入操作/*-插入-*/void insert(seqlist *L,elemtype x,int i)/*在表中的第i个元素前插入元素x*/ int j; if(L-length=maxlen)printf(表已满!n); else if(iL-length+1)printf(插入位置错n); else for(j=L-length;j=i;j-) L-dataj+1=L-dataj; L-datai=x; L-length+; 3.9删除操作/*-删除-*/ void delete(seqlist *L,int i)/*在表中的第i个元素*/ int j; if(L-length=0)printf(表已空!n); else if(iL-length)printf(不存在第I个元素n); else for(j=i+1;jlength;j+) L-dataj-1=L-dataj; L-length-; 3.10往表中输入元素成员 /*-输入元素值-*/ elemtype input() elemtype x; printf(n输入一个元素值(成绩表):); printf(n num:); scanf(%d,&x.num); printf(n name:);scanf(%s,&); printf(n math:); scanf(%d,&x.math); printf(n English:);scanf(%d,&x.English); printf(n computer:);scanf(%d,&puter); return x;3.11显示成绩表/*-全部显示show-all-*/void show_all(seqlist L)/*成绩表输出*/ int i;for(i=1;i=L.length;i+)printf(n num:%4d,name:%10s,math:%d,English: %d,computer: %d,sum: %d,average: %d,L.datai.num,L.,L.datai.math,L.datai.English,L.puter,L.datai.sum,L.datai.average); 3.12统计总分,平均分的操作程序3.12.1统计总分void tj_sum(seqlist *L)int i;for(i=1;ilength;i+)L-datai.sum=L-puter+L-datai.English+L-datai.math;3.12.2统计平均分void tj_average(seqlist *L)int i;for(i=1;ilength;i+)L-datai.average=(L-puter+L-datai.English+L-datai.math)/3;3.13排序操作函数 /*-显示排序后结果(冒泡法)-*/void sort(seqlist *L ) int i,j,n=L-length;for(i=1;i=n-1;+i) for(j=1;jdataj.sumdataj+1.sum) L-data0=L-dataj; L-dataj=L-dataj+1; L-dataj+1=L-data0; 3.14显示主要信息void show_menu()printf(n=);printf(n1.成绩表初始化.);printf(n2.显示学生的成绩信息.);printf(n3.按姓名进行信息查找.);printf(n4.按学号进行信息查找.);printf(n5.插入学生的成绩信息.);printf(n6.删除学生的成绩信息.);printf(n7.统计每个学生平均分.);printf(n8.统计学生成绩总分情况.);printf(n9.按照总分从大到小输出.);printf(n10.退出学生成绩管理系统.);printf(n=n);printf(n请选择你想要的操作:);3.15 创建线性表/*void create (*LL)int i,n;elemtype y;printf(n. 要输入学生个数 i:); scanf(%d,&i);for(i=1;ilength);*/3.16主函数main( ) seqlist LL; int i,n,num;char name10;elemtype x; while(1) show_menu(); scanf(%d,&n); switch(n) /*-调用初始化函数执行后跳出-*/ case 1: initial_List(&LL); break;/* -显示所有数据执行后跳出-*/ case 2: printf(n表中所有元素 :); show_all(LL); break;/*-调用要查寻学生姓名函数执行后跳出-*/ case 3:

温馨提示

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

评论

0/150

提交评论