资源描述:
《学生信息管理系统数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华中科技大学文华学院数据结构课程设计报告题目:学生信息管理系统专业:计算机应用与技术学号:姓名:指导老师:时间:一、总体框架图1、题目:学生信息管理系统2、设计内容及要求:内容:完成简单的学生信息管理系统要求:(1)学生信息包括:学号、姓名、数学成绩、英语成绩、数构成绩;(2)用链表存放学生信息;(3)实现简单的菜单调用;(4)程序的功能包括:学生信息链表的建立;学生信息的显示;学生信息的查询;学生信息的删除;学生信息的插入;编写算法,以实现基本要求。二、本程序用到的基本操作InintList(&l):操作结果:构造一个空的
2、线性表L。DestroList(&L)初始条件:线性表已存在。操作结果:销毁线性表。ListInsert(&L,i,e)初始条件:线性表L已存在,操作结果:在L中第i个位置之前插入新的数据元素e。L的长度加1.ListDelete(&L,i,e)初始条件:线性表L已存在且非空操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1.}ADTList三、模块设计模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:结构体的建立,定义学生的学号,名字,和各成绩 模块三:学生信息系统使用菜单声
3、明函数voidmenu(),对整个系统进行明模块四:链表的建立,用voidcreat()来建立链表模块五:显示学生信息,声明voidprint()显示学生的信息模块六:学生信息的查找声明voidsearch()为查找函数,通过switch(a)设定用学号查找,用姓名查找两个分支模块七:删除学生信息通过voiddelete()实现学生信息的删除,确定要删除的信息,再删除掉。模块七:插入学生信息,通过voidinsert()为插入函数,通过switch(a)插入到指定学生的后面。模块八:学生信息按学号排序声明voidsort()
4、将录入学生系按升序排列,用的是“冒泡排序法”实现排序四、系统设计流程图学生信息管理系统菜单选择退出菜单系统建立链表显示学生信息查询学生信息删除某个学生信息插入一个学生信息五、源代码#include"stdio.h"#include"stdlib.h"#include"string.h"#defineSTUDENT2typedefstructstudent{intnum;//学号charname[20];//姓名intmath;//高数intEnglish;//英语intData;//数据结构structstudent*nex
5、t;}student;student*head=NULL;intlength;//链表的长度voidcreate(){student*p1,*p2;length=0;intnumber=0;p1=(student*)malloc(sizeof(student));p1->num=-1;if(head==NULL)head=p1;printf("请输入学生的学号、姓名、高数、英语、数据结构:");while(number<=3){p2=(student*)malloc(sizeof(student));scanf("%d%
6、s%d%d%d",&p2->num,p2->name,&p2->math,&p2->English,&p2->Data);//输入学生信息if(p2->num==0){printf("链表创建完成!");break;}length++;//链表的长度p1->next=p2;p2->next=NULL;p1=p1->next;number++;}return;}voiddisplay(){student*p=head->next;printf("链表中所有的学生信息如下:");while(p!=NULL){printf
7、("%d%s%d%d%d",p->num,p->name,p->math,p->English,p->Data);p=p->next;}return;}voidsearch(){intnum_;student*p=head->next;printf("需要查找的学生学号为:");scanf("%d",&num_);while(p!=NULL){if(p->num==num_){printf("学号为%d的学生的信息如下:",num_);printf("%d%s%d%d%d",p->num,p->name,p->m
8、ath,p->English,p->Data);return;}p=p->next;}if(p==NULL)printf("无此记录!");return;}voidsearch1(){charna_me[20];student*p=head->next;printf("需要查找的学生姓