欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生信息管理系统数据结构课程设计.doc

    • 资源ID:1139321       资源大小:114.17KB        全文页数:16页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生信息管理系统数据结构课程设计.doc

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

    2、已存在。操作结果:销毁线性表。ListInsert(&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、插入一个学生信息 五、源代码#include stdio.h#include stdlib.h#include string.h#define STUDENT 2typedef struct student int num; /学号 char name20; /姓名 int math;/高数 int English;/英语 int Data;/数据结构 struct student *next;student;student *head=NULL;int length; /链表的长度void create() student *p1,*p2; length=0; int number=0; p

    5、1=(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-next; number+; return ;void display() student

    6、 *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的学生的信息如下:n,num_); printf(%d %s %d %d %dn

    7、,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-num,p-name,p-math,p-E

    8、nglish,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 ; else printf(请输入你要插入的学生的学号、姓名、高数、英语、数据结构:n); q=(student *)malloc(sizeof(student); scanf(%d %s %d %d %

    9、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_);

    10、 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 ;void menu() printf(_n); printf(| 学生信息管理系统 |n); printf(| 0、 退出系统 |n); printf(| 1、 建立链表 |n); printf(| 2、 显示链表 |n); printf(| 3、 查找链表中的某个学生信息 |n); printf(|

    11、 4、 删除链表中指定学号的学生 |n); printf(| 5、 指定的位置上插入一个学生 |n); printf(_n); return ;int main(void) int a; menu(); int choice; while(1) printf(请选择相应的功能:); scanf(%d,&a); switch(a) case 0: return 0; case 1: create(); menu(); break; case 2: if(head) display(); menu(); else printf(链表为空,请先建立链表!n); menu(); break; case

    12、 3: if(head) printf(请选择是按学号查找还是按姓名查找,若是学号就按7,姓名按8n); scanf(%d,&choice); if(choice=7) search(); else search1(); menu(); else printf(链表为空,请先建立链表!n); menu(); break; case 4: if(head) Delete(); menu(); else printf(链表为空,请先建立链表!n); menu();break; case 5: if(head) insert(); menu(); else printf(链表为空,请先建立链表!n)

    13、; menu(); break; default: break; system(pause); return 0;六、程序结果建立链表显示链表查询学生信息按学号查按姓名查删除信息插入信息退出系统七、心得体会 这次的学生信息管理系统的设计中,使我懂得课堂上的知识,必须要通过实践操作才能掌握。在练习中,遇到一些问题,需要具体分析,具体操作,不断调试。在这过程中,遇到过很多问题。刚建立链表时,总是出错,经过不断地调试后来解决了。通过这次的设计,我发现了自身知识的欠缺,上机操作的经验不足,以及粗心。比如,一些错误不知道怎么改,后来同学讨论后才调试成功,还有字符串的比较都不熟,有时掉了地址符等等。虽然有很多欠缺,但在这过程中我也受益良多,感觉自己对程序的处理越来越清晰。 在调试过程中,我发现有时一个小小的错误也会给程序带来很大的麻烦,所以以后应该更加细心,多多操作,积累经验。


    注意事项

    本文(学生信息管理系统数据结构课程设计.doc)为本站会员(芳黎)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922