学生信息管理系统数据结构课程设计_第1页
学生信息管理系统数据结构课程设计_第2页
学生信息管理系统数据结构课程设计_第3页
学生信息管理系统数据结构课程设计_第4页
学生信息管理系统数据结构课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、华中科技大学文华学院数据结构课程设计报告题目:学生信息管理系统 专业:计算机应用与技术 学号:姓名:指导老师:时间:一、总体框架图1、题目:学生信息管理系统2、设计内容及要求:内容:完成简单的学生信息管理系统要求:(1) 学生信息包括:学号、姓名、数学成绩、英语成绩、数构 成绩;(2) 用链表存放学生信息;(3) 实现简单的菜单调用;(4) 程序的功能包括:学生信息链表的建立;学生信息的显示;学生信息的查询;学生信息的删除;学生信息的插入;编写算法,以实现基本要求。二、本程序用到的基本操作Inin tList(&l):操作结果:构造一个空的线性表L oDestroList(&L)初始条件:线性

2、表已存在。操作结果:销毁线性表。Listl nsert(&L,i,e)初始条件:线性表L已存在,操作结果:在L中第i个位置之前插入新的数据元素e。L的长度加1.ListDelete(&L,i,e)初始条件:线性表L已存在且非空操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1.ADT List三、模块设计模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:结构体的建立,定义学生的学号,名字,和各成绩模块三:学生信息系统使用菜单声明函数 void menu(),对整个系统进行明模块四:链表的建立,用void creat()来建立链表模块五:显示学生信

3、息,声明void print()显示学生的信息模块六:学生信息的查找 声明void search()为查找函数,通过switch(a)设定用学号查找,用姓名查找两个分支模块七:删除学生信息通过void delete()实现学生信息的删除,确定要删除的信息,再删除掉。模块七:插入学生信息,通过void insert() 为插入函数,通过switch(a) 插入到指定学生的后面。模块八:学生信息按学号排序声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序 四、系统设计流程图学生信息管理系统菜单选择退出菜单系统建立链表显示学生信息查询学生信息删除某个学生信息插入一个学生信

4、息五、源代码#in elude stdio.h#in elude stdlib.h#in elude stri ng.h#define STUDENT 2 typedef struct stude ntint num; / 学号char name20; /姓名int math;/ 高数int En glish;/ 英语int Data;/数据结构struct stude nt *n ext;stude nt;stude nt *head=NULL;int len gth; /链表的长度void create()stude nt *p1,*p2;len gth=0;int nu mber=0;p

5、1=(stude nt *)malloc(sizeof(stude nt);p1- num=-1;if(head=NULL)head=p1;printf(请输入学生的学号、姓名、高数、英语、数据结构:n);while( nu mber num,p2- name,&p2-math,&p2-E nglish,&p2-Data); /输入学生信息if(p2-num=0)printf(链表创建完成! n); break;len gth+; 链表的长度p1- n ext=p2;p2-n ext=NULL;p1=p1- n ext;nu mber+;return ;void display。stude n

6、t *p=head-n ext;printf(链表中所有的学生信息如下:n);while(p!=NULL)prin tf(%d %s %d %d %dn ,p-nu m,p-n ame,p-math,p-E nglish,p-Data); p=p-n ext;return ; void search()int num_;stude nt *p=head-n ext;printf(需要查找的学生学号为:);scan f(%d,&nu m_);while(p!=NULL)if(p-num=num_)printf(学号为%d的学生的信息如下:n,num_);prin tf(%d %s %d %d %

7、dn ,p-nu m,p-n ame,p-math,p-E nglish,p-Data); return;p=p-n ext;if(p=NULL)printf(无此记录! n);return ; void search1()char n a_me20;stude nt *p=head-n ext;printf(需要查找的学生姓名为:);sca nf(%s, na_me);while(p!=NULL)if(!(strcmp(p-n ame ,n a_me)printf(姓名为%s的学生的信息如下:n,na_me);prin tf(%d %s %d %d %dn ,p-nu m,p-n ame,p

8、-math,p-E nglish,p-Data); return;p=p-n ext;if(p=NULL)printf(无此记录! n);return ; void in sert()int nu m_,i;stude nt *p,*q;p=head;printf(请输入你要插入位置:);sca nf(%d,&n um_);if(num _le ngth)printf(找不到要插入的位置n);return ;elseprintf(请输入你要插入的学生的学号、姓名、高数、英语、数据结构:n);q=(stude nt *)malloc(sizeof(stude nt);sea nf(%d %s %

9、d %d %d,&q-n um,q- name,&q-math,&q-E nglish,&q-Data);while(p!=NULL)if(p-num=q-num)printf(该学号已经存在,无法插入!n);return ;p=p-n ext;p=head;for(i=0;in ext;q-n ext=p-n ext;p-n ext=q;len gth+;printf(插入成功! n);return ;void Delete()int num_;stude nt *p,*q;q=head,p=head-n ext;printf(请输入要删除的学生的学号:n);sca nf(%d,&n um_

10、);while(p!=NULL)if(p-num=num_)q-n ext=p-n ext;free(p);len gth-;printf(删除成功! n);return ;p=p-n ext;q=q-n ext;if(p=NULL)printf(找不到要删除的编号!n);return ;void menu()printf(_n);printf(|学生信息管理系统|n);printf(| 0、退出系统|n);prin tf(| 1、建立链表|n);printf(| 2、显示链表|n);printf(| 3、查找链表中的某个学生信息|n);printf(| 4、删除链表中指定学号的学生|n);p

11、rintf(| 5、指定的位置上插入一个学生|n);printf(_n);return ;int main(v oid)int a;menu();int choice;while(1)printf(请选择相应的功能:);sea nf(%d,&a);switch(a)ease 0:return 0;case 1:create();menu();break;case 2:if(head) display。;menu();elseprintf(链表为空,请先建立链表!n);menu();break;case 3:if(head)printf(请选择是按学号查找还是按姓名查找,若是 学号就按7,姓名按

12、8n);sca nf(%d,&choice);if(choice=7)search();elsesearch1();menu();elseprintf(链表为空,请先建立链表!n);menu();break;case 4:if(head)Delete();menu();elseprintf(链表为空,请先建立链表!menu();break;case 5:if(head)in sert();menu();elseprintf(链表为空,请先建立链表!menu();break;n);n);default:break;system(pause); return 0;六、程序结果建立链表构 结 据 数

13、 英 息生生 、 信冲盂于 数 生的个 高 个学入 名 ! 霑插1姓 统 的指上 系豊 理统表表表香功学 皐链链链链的的的 息出立耐找第应生 信退建显查删指豎 生 择入 学B,2.3,4.5.选r显示链表出 厶冃th功学5590? 4 应有$ 丫 EK.6 S 择中机乞 層1122查询学生信息按学号查:轧挹定旳恒置上掩入一牛学生:直选拝相应的功墨M请选核是按学号查找还是按姓名查抚 若是学号就按雉名按0善鞘找的竽生竽号为;22學寻为眈的芈生曲詹息如下22 ss 88 94 90按姓名查请选择相应的題能:3请选棒鑒按学号查找还是按姓名查找,若是学号就按粘姓名按8 触查找的宇年姓名为:损址名为股的哇

14、餉信息如下;33 dd 65 74 52删除信息插入信息姓名、高数、英语、数锯结枸:口学5 4 首囂亍 籃的 功入入?6 的薯8 舉你7R功 择入入緩 选務g入 请请情55思生空 倍辜生的个 个煲:统 的指上 系8 理统表表表雹 工橐链链链链的 自茧立示找除定 信退建显查删挹 生豁曇盜如下二8? 55rml 叮?6 择中辻 选表a 2tt 123S8874?05曲78?8764f957586退出系统息生生 信瓷于 生的个?-个学A- i si 统 的指上 系Ls 理统表表表畫 W张链链链祷的 已茁立示找蚩 信退建显查删指 生tf厂费 瞪* “聘 型0 12 3 4 5青选择相应的功能 0meeu amy key t:口 uuntinuo七、心得体会这次的学生信息管理系统的设计中,使我懂得课堂上的知识,必须 要通过实践操作才能掌握。在练习中,遇到一些问题,需要具体分析,具体操

温馨提示

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

评论

0/150

提交评论