好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据结构课程设计学生信息管理系统(共34页).doc

34页
  • 卖家[上传人]:des****85
  • 文档编号:221723458
  • 上传时间:2021-12-11
  • 文档格式:DOC
  • 文档大小:130.50KB
  • / 34 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 精选优质文档-----倾情为你奉上题目2. 学生信息管理系统一、课程设计目的1. 数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2. 通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用 3. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力 学生信息管理系统:(1)熟练掌握链表存储结构及其建立过程和常用操作;(3)学会自己调试程序的方法并掌握一定的技巧二、课程设计内容 建立学生信息管理系统,通过链表实现对学生信息的输入,查找,删除,插入和排序等操作三、需求分析 1.每位学生的信息有:学号,姓名,性别,出生日期,E-mile,,c成绩,数学成绩等,用链表对学生的信息进行存储 2.全部数据可以只放在内存中; 3.系统能实现的操作和功能如下: a) 输入学生信息: 对不同学生分别输出下列信息:学号,姓名,性别,出生日期,E-mile,,c成绩,数学成绩等。

      b) 查找学生信息: 根据学生的学号或姓名对学生的信息进行查找 c) 删除学生信息:删除某个学生的所有信息 d) 插入学生信息:将某个学生的信息插入到已经输入的信息中e) 显示学生信息: 将所有学生的信息显示出来 f) 排序: 将所有学生按某个学科的成绩依次排序四、概要设计1.系统结构图(功能模块图)主函数输入学生信息查找学生信息删除学生信息插入学生信息显示学生信息按成绩进行排序退出按学号按姓名2.功能模块说明①.输入学生信息,creat()函数: 建立单向链表,组织循环,将学生的信息依次录入②:查找学生信息:a.按学号查找,find1()函数;b.按姓名查找,find2()函数; ③.删除学生信息,del()函数: 建立指针,在链表中寻找要删除信息的学生的学号,找到后p->next=p->next->next,将其删除 ④.插入学生信息,insert()函数;输入要插入的信息,建立指针,寻找要插入的节点⑤.显示学生信息,print()函数;将以存在的学生信息输出⑥.按某科成绩对学生进行排序,sort()函数;五、详细设计及运行结果 开始main()菜单是 输入:1 输入:2 输入:4 输入:3 输入:6 输入:5 creat()sort() print()insert()del()1.find1()输入:0 退出exit()2.find2()1. 菜单:输入信息存入链表显示最终结果fclose(fp)Add添加且输入np!=nullCompare()p=p->next结束p==null2. creat()函数. 3. find()函数. 查找成功,输出输入学生信息p:null否find()p->num:num!==没有该学生信息=结束find1():find2():3. del()函数.没有该学生信息输入学号del()p:null=结束p:null否p->num:num!=否p0->next=p->next删除成功4. insert()函数.没有该学生信息输入信息insert()p->num:a!=结束head:null否p->p->next!=否s->next=hesd,hesd=s插入成功q->next=s;s->next=p插入成功=是5. print()函数.6. sort()函数.排序完毕,输出信息sort() 结束head:null否没有学生信息可以查询是p->next:t->nextt->next=p分数大的放在前面,p始终指向第一个节点p:null!===六、调试情况,设计技巧及体会通过这次课程设计,我对这门课又有了一个新的理解,最大的喜悦不是写出程序,而是从中学会了怎么去写,该如何去写,在老师的严格监督下,自己也养成了独立思考的习惯,真的从中得到了很多好处,从思想到着手,所有都是程序化的,必须踏踏实实的来。

      通过学生信息管理系统的设计,使我对链表有了更深的了解,也懂得了如何用链表进行输入,插入,排序等操作,两个礼拜的实习很快就过去了,这一次真的学到了很多东西,我也将会将自己所学到的东西用到自己以后的学习中去七、参考文献C语言程序设计--------------科学出版社数据结构(C语言描述)-----清华大学出版社数据结构(使用C语言)-----电子科技大学出版社八、附录:源代码#include#include#include#define N sizeof(struct stu)void clearscreen() /*清屏函数*/{ getchar(); system("cls");}struct date /*定义出生年月日的结构体*/ { int year; int mouth; int day; };struct stu /*定义学生信息的结构体*/ { int number; char name[30]; char sex[5]; struct date birthday; char mail[30]; char phone[30]; int cscore,mscore; struct stu *next; }; /*输出函数*/int print(struct stu *p){ while(p!=NULL) /*如果P所指的结点不为空 执行循环*/ { printf("学号 姓名 性别 出生日期 E-mail C成绩 数学成绩\n"); printf(" %2d%6s%6s%8d-%2d-%2d%11s%11s%6d%8d\n",p->number,p->name,p->sex,p->birthday.year,p->birthday.mouth,p->birthday.day,p->mail,p->phone,p->cscore,p->mscore ); p=p->next; } printf("\n\n按回车键返回\n\n"); getchar(); return 0;}/*创建链表*/struct stu *creat(){ struct stu *p,*head; int i,k; printf("请输入学生的数:\n"); scanf("%d",&k); p=head=(struct stu *)malloc(N); printf("请输入学号\n"); scanf("%d",&p->number); printf("姓名\n"); scanf("%s",&p->name); printf("性别\n"); scanf("%s",&p->sex); printf("出生日期\n"); scanf("%d-%d-%d",&p->birthday.year,&p->birthday.mouth,&p->birthday.day); printf("E-mail\n"); scanf("%s",&p->mail); printf("\n"); scanf("%s",&p->phone); printf("c成绩\n"); scanf("%d",&p->cscore); printf("数学成绩\n"); scanf("%d",&p->mscore); if(k>1) for(i=1;inext=(struct stu *)malloc(N); p=p->next; printf("请输入学号 \n"); scanf("%d",&p->number); printf("姓名\n"); scanf("%s",&p->name); printf("性别\n"); scanf("%s",&p->sex); printf("出生日期\n"); scanf("%d-%d-%d",&p->birthday.year,&p->birthday.mouth,&p->birthday.day); printf("E-mail\n"); scanf("%s",&p->mail); printf("\n"); scanf("%s",&p->phone); printf("c成绩\n"); scanf("%d",&p->cscore); printf("数学成绩\n"); scanf("%d",&p->mscore); } p->next=NULL; return head;}/*查找链表*/struct stu *find1(struct stu *p){ int number; if(p==NULL) { printf("\n提示:没有资料可以查询!\n"); return 0; } printf("请输入要查找的学生学号:"); scanf("%d",&number); while(p!=NULL) { if(p->number==number) { return(p); break; } else p=p->next; } return NULL; }struct stu *find2(struct stu *p) { char name[30]; if(p==NULL) { printf("\n提示:没有资料可以查询!\n"); return 0; } printf("请输入要查找的学生姓名:"); scanf("。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.