版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学文华学院数据结构课程设计报告题目:学生信息管理系统专业:计算机应用与技术学号:姓名:指导老师:时间:一、总体框架图题目:学生信息管理系统设计内容及要求:内容:完成简单的学生信息管理系统要求:(1)学生信息包括:学号、姓名、数学成绩、英语成绩、数构成绩;(2)用链表存放学生信息;(3)实现简单的菜单调用;(4)程序的功能包括:学生信息链表的建立;学生信息的显示;学生信息的查询;学生信息的删除;学生信息的插入;编写算法,以实现根本要求。二、本程序用到的根本操作InintList(&l):操作结果:构造一个空的线性表L。DestroList(&L)初始条件:线性表已存在。操作结果:销毁线性表。ListInsert(&L,i,e)初始条件:线性表L已存在,操作结果:在L中第i个位置之前插入新的数据元素e。L的长度加1.ListDelete(&L,i,e)初始条件:线性表L已存在且非空操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1.}ADTList三、模块设计模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:结构体的建立,定义学生的学号,名字,和各成绩模块三:学生信息系统使用菜单声明函数voidmenu(),对整个系统进行明模块四:链表的建立,用voidcreat()来建立链表模块五:显示学生信息,声明voidprint()显示学生的信息模块六:学生信息的查找声明voidsearch()为查找函数,通过switch(a)设定用学号查找,用姓名查找两个分支模块七:删除学生信息通过voiddelete()实现学生信息的删除,确定要删除的信息,再删除掉。模块七:插入学生信息,通过voidinsert()为插入函数,通过switch(a)插入到指定学生的后面。模块八:学生信息按学号排序声明voidsort()将录入学生系按升序排列,用的是“冒泡排序法〞实现排序四、系统设计流程图学生信息管理系统学生信息管理系统菜单项选择择退出菜单系统建立链表显示学生信息查询学生信息删除某个学生信息插入一个学生信息五、源代码#include"stdio.h"#include"stdlib.h"#include"string.h"#defineSTUDENT2typedefstructstudent{intnum;//学号charname[20];//姓名intmath;//高数intEnglish;//英语intData;//数据结构structstudent*next;}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("请输入学生的学号、姓名、高数、英语、数据结构:\n");while(number<=3) {p2=(student*)malloc(sizeof(student));scanf("%d%s%d%d%d",&p2->num,p2->name,&p2->math,&p2->English,&p2->Data);//输入学生信息if(p2->num==0) {printf("链表创立完成!\n");break; }length++;//链表的长度p1->next=p2;p2->next=NULL;p1=p1->next;number++; }return;}voiddisplay(){student*p=head->next;printf("链表中所有的学生信息如下:\n"); while(p!=NULL) {printf("%d%s%d%d%d\n",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的学生的信息如下:\n",num_);printf("%d%s%d%d%d\n",p->num,p->name,p->math,p->English,p->Data);return; }p=p->next; }if(p==NULL)printf("无此记录!\n");return;}voidsearch1(){charna_me[20];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%d\n",p->num,p->name,p->math,p->English,p->Data);return; }p=p->next; }if(p==NULL)printf("无此记录!\n");return;}voidinsert(){intnum_,i;student*p,*q;p=head;printf("请输入你要插入位置:");scanf("%d",&num_);if(num_>length) {printf("找不到要插入的位置\n");return; }else {printf("请输入你要插入的学生的学号、姓名、高数、英语、数据结构:\n");q=(student*)malloc(sizeof(student));scanf("%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;i<num_;i++)p=p->next;q->next=p->next;p->next=q;length++;printf("插入成功!\n");return; }}voidDelete(){intnum_;student*p,*q;q=head,p=head->next;printf("请输入要删除的学生的学号:\n");scanf("%d",&num_);while(p!=NULL) {if(p->num==num_) {q->next=p->next;free(p);length--;printf("删除成功!\n");return; }p=p->next;q=q->next; }if(p==NULL) {printf("找不到要删除的编号!\n");return; }}voidmenu(){printf("________________________________________________________________\n");printf("|学生信息管理系统|\n");printf("|0、退出系统|\n");printf("|1、建立链表|\n");printf("|2、显示链表|\n");printf("|3、查找链表中的某个学生信息|\n");printf("|4、删除链表中指定学号的学生|\n");printf("|5、指定的位置上插入一个学生|\n");printf("________________________________________________________________\n");return;}intmain(void){inta;menu();intchoice;while(1) {printf("请选择相应的功能:");scanf("%d",&a);switch(a) {case0:return0;case1:create();menu();break;case2:if(head) {display();menu(); }else {printf("链表为空,请先建立链表!\n");menu(); }break;case3:if(head) { printf("请选择是按学号查找还是按姓名查找,假设是学号就按7,姓名按8\n"); scanf("%d",&choice); if(choice==7) { search(); } else{ search1(); }menu(); }else {printf("链表为空,请先建立链表!\n");menu(); }break;case4:if(head) {Delete();menu(); }else {printf("链表为空,请先建立链表!\n");menu(); } break;case5:if(head)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手术室基本操作规范
- DB1409T 1-2020 谷子高产栽培技术规程
- 护理专业护理化学
- ISO9000-2026 质量管理基础与术语(英文版)
- 国贸实务销售合同
- 急诊科护理人员的职业防护
- 2026年黑龙江齐齐哈尔梅里斯达斡尔族区文化馆招聘工作人员12人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年文旅推广云资源租赁合同
- 2026年黑龙江哈尔滨市人才服务局招考易考易错模拟试题(共500题)试卷后附参考答案
- 2026年度供应链管理优化供应合同书
- 2026年湖北省科技信息专业技术职务水平能力测试仿真试题及答案
- 杭州高新金投控股集团有限公司及下属子公司2026年招聘7人考试参考题库及答案解析
- 2026广东佛山市顺德区村(社区)大学生CEO选聘100人考试参考试题及答案解析
- 南通市2026届高三(四模)生物试卷(含答案)
- 广东省深圳市南山区南二外2026年初三二模数学试卷附答案
- 2026贵州安顺公路建设养护有限公司招聘3人笔试参考试题及答案解析
- 2026广西能汇投资集团有限公司社会招聘笔试备考题库及答案解析
- 湖北省武汉市2026届高三年级五月供题地理+答案
- 2026天津交通数字科技有限公司社会招聘18人笔试历年参考题库附带答案详解
- 2026中国铁路北京局集团有限公司招聘高校毕业生86人(三)笔试参考题库及答案解析
- 2026年江苏单招英语七选五拔高卷含答案省统考难题突破版
评论
0/150
提交评论