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

下载本文档

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

文档简介

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

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

3、: 链表的建立,用 void creat() 来建立链表模块五: 显示学生信息,声明 void print() 显示学生的信息模块六:学生信息的查找 声明 void search() 为查找函数,通过 switch(a)设定用学号查找,用姓名查找两个分支模块七:删除学生信息通过 void delete() 实现学生信息的删除,3 欢。迎下载精品文档确定要删除的信息,再删除掉。模块七:插入学生信息,通过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 English;/ 英语int Data;/数据结构struct student *next;student;student *head=NULL;int length; / 链表的长度void c

5、reate()student *p1,*p2;length=0;int number=0;p1=(student *)malloc(sizeof(student);p1-num=-1;if(head=NULL)head=p1;printf( 请输入学生的学号、姓名、高数、英语、数据结构: n);while(numbernum,p2-name,&p2-math,&p2-English,&p2- Data); / 输入学生信息if(p2-num=0)printf( 链表创建完成! n); break;length+; / 链表的长度p1-next=p2;p2-next=NULL;p1=p1-nex

6、t;number+;return ;void display()student *p=head-next;printf( 链表中所有的学生信息如下 :n);while(p!=NULL)printf(%d %s %d %d %dn,p-num,p-name,p-math,p-English,p-Data); p=p-next;return ;void search()int num_;student *p=head-next;printf( 需要查找的学生学号为: );scanf(%d,&num_);while(p!=NULL)if(p-num=num_)printf(学号为d的学生的信息如下:

7、n,num_);printf(%d %s %d %d %dn,p-num,p-name,p-math,p-English,p-Data); return; p=p-next; if(p=NULL)printf(无此记录! n);return ;void search1()char na_me20;student *p=head-next;printf(需要查找的学生姓名为: );scanf(%s,na_me);while(p!=NULL) if(!(strcmp(p-name,na_me)printf(姓名为s的学生的信息如下:n,na_me);printf(%d %s %d %d %dn,p

8、-num,p-name,p-math,p-English,p-Data); return;p=p-next;if(p=NULL)printf(无此记录! n);return ;void insert()int num_,i;student *p,*q;p=head;printf( 请输入你要插入位置 : );scanf(%d,&num_);if(num_length)printf( 找不到要插入的位置 n);return ;elseprintf( 请输入你要插入的学生的学号、姓名、高数、英语、数据 结构: n);q=(student *)malloc(sizeof(student);scanf

9、(%d %s %d %d %d,&q-num,q-name,&q-math,&q-English,&q-Data); while(p!=NULL)if(p-num=q-num)printf( 该学号已经存在,无法插入! n); return ;p=p-next;p=head;for(i=0;inext;q-next=p-next;p-next=q;length+;printf( 插入成功! n);return ;void Delete()int num_;student *p,*q;q=head,p=head-next;printf( 请输入要删除的学生的学号 :n);scanf(%d,&num_);while(p!=NUL

温馨提示

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

评论

0/150

提交评论