信息与计算科学数据结构课程设计

上传人:suns****4568 文档编号:91150592 上传时间:2019-06-26 格式:DOC 页数:30 大小:714.50KB
返回 下载 相关 举报
信息与计算科学数据结构课程设计_第1页
第1页 / 共30页
信息与计算科学数据结构课程设计_第2页
第2页 / 共30页
信息与计算科学数据结构课程设计_第3页
第3页 / 共30页
信息与计算科学数据结构课程设计_第4页
第4页 / 共30页
信息与计算科学数据结构课程设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《信息与计算科学数据结构课程设计》由会员分享,可在线阅读,更多相关《信息与计算科学数据结构课程设计(30页珍藏版)》请在金锄头文库上搜索。

1、成 绩 评 定 表学生姓名班级学号专 业信息与计算科学课程设计题目考试成绩管理系统评语组长签字:成绩日期 20 年 月 日课程设计任务书学 院理学院专 业信息与计算科学学生姓名班级学号课程设计题目考试成绩管理系统实践教学要求与任务:1、巩固和加深对数据结构基本知识的理解。2、初步掌握简单软件的分析方法和设计方法。3、了解与课程有关的工程技术规范,能正确解释和分析设计结果。4、具体任务(1)运用数据结构和C语言的相关知识编辑一个考试成绩管理系统的程序,可以进行录入,浏览删除等功能。(2)用编译软件将程序调试运行工作计划与进度安排:第一天 查阅资相关料; 第二、三天 程序设计; 第四天 程序调试;

2、 第五天 答辩指导教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日摘 要数据结构计算机及相关专业的很重要的专业基础课程。它不仅是计算机程序设计的理论基础,而且是学习计算机操作系统、编译原理、数据库原理等课程的重要基础。数据结构的主要任务是讨论数据的各种逻辑结构和数据在计算机中的存储表示,以及各种非数值运算的算法的实现。通过数据结构课程的学习,使学生能使用数据结构的基本分析方法来提高编辑程序的能力和应用计算机解决实际问题的能力。 本文运用数据结构中链表和C语言的知识编译了一个学生考试成绩管理系统,本系统可以实现对考试成绩的录入、查询、删除、保存等功能,系

3、统简单方便而且实用。关键词:数据结构;C语言;考试成绩管理系统26目 录1设计目的12设计内容及要求13程序分析及算法描述14结构图及流程图55源代码65结果分析20总 结25参考文献26考试成绩管理系统1设计目的设计并完成一个考试成绩管理系统,即定义一个包含学生信息(姓名、学号、语文成绩、数学成绩、英语成绩)的链表。(1) 熟练查找和排序的数据结构算法(2) 熟练掌握数据结构(3) 复习C语言的各个知识点2设计内容及要求(1)设计一个选择式的菜单考试成绩管理系统1输入学生的资料 2查询学生的成绩3删除学生的资料 4显示学生的成绩5对成绩进行排序 6保存输入的资料欢迎进入成绩管理系统,请选择您

4、想要的操作:(2)编辑一个完整的程序,实现对学生考试成绩的录入、查询、删除、浏览、排序和保存输入资料的功能(3)要求应用数据结构的相关知识3程序分析及算法描述(1) 学生信息结构体的建立建立学生结构体以方便后来的操作struct studentnodeint number; char name10;float Chinese;float English;float maths;struct studentnode *next;(2) 学生链表的建立运用数据结构中链表的知识建立学生信息的链表student *creat()student*head;student*p1,*p2;n=0;/*计数*

5、/ printf(若学号为0,结束输入n);/*0结束输入*/p1=(student*)malloc(sizeof(student);p2=(student*)malloc(sizeof(student);printf(请输入第1个学生的学号:);scanf(%d,&p1-number);printf(请输入第1个学生的姓名:);scanf(%s,&p1-name);printf(请输入第1个学生的语文成绩:);scanf(%f,&p1-Chinese);printf(请输入第1个学生的数学成绩:);scanf(%f,&p1-maths);printf(请输入第1个学生的英语成绩:);scan

6、f(%f,&p1-English);head=NULL;while(p1-number!=NULL)/*当前节点不为空*/n=n+1;/*计数加一*/if(n=1)head=p1;else p2-next=p1;/*头插*/p2=p1;p1=(student*)malloc(sizeof(student);printf(请输入第%d个学生的学号:,n+1);scanf(%d,&p1-number);if (p1-number=0)/*当输入0时结束输入*/break;printf(请输入第%d个学生的姓名:,n+1);scanf(%s,p1-name);printf(请输入第%d个学生的语文成

7、绩:,n+1);scanf(%f,&p1-Chinese);printf(请输入第%d个学生的数学成绩:,n+1);scanf(%f,&p1-maths);printf(请输入第%d个学生的英语成绩:,n+1);scanf(%f,&p1-English);p2-next=NULL;return(head);(3) 主菜单menu(int k)int i;printf(tttt考试成绩管理系统n); for(i=0;i80;i+) printf(=);printf(1输入学生的资料tttttt2查询学生的成绩n);printf(n);printf(3删除学生的资料tttttt4显示学生的成绩n)

8、;printf(n);printf(5对成绩进行排序tttttt6保存输入的资料n); for(i=0;i80;i+) printf(=);printf(欢迎进入成绩管理系统,请选择您所要的操作:);scanf(%d,&k);return (k);(4) 主函数main() student *head=0,*stu=0;while(1) k=menu(k); switch(k) case 1: head=creat();break; case 2: head=search(head);break; case 3: head=del(head); break; case 4: print(hea

9、d); break; case 5: paixu(head);break; case 6: save(head);break; default: printf(输入错误,请重试!n);4结构图及流程图提示输入错误请重新输入开始输出选择1选择2选择3选择4输入学生的资料查询学生的成绩删除学生的资料显示学生的成绩对成绩进行排序结束输入0其他输入选择6选择5保存输入的资料5源代码#include #include #include #include #define NULL 0struct studentnodeint number; char name10;float Chinese;float

10、English;float maths;struct studentnode *next;typedef struct studentnode student;int n,k;student *creat()/*建立学生信息的链表*/student*head;student*p1,*p2;n=0;/*计数*/ printf(若学号为0,结束输入n);/*0结束输入*/p1=(student*)malloc(sizeof(student);p2=(student*)malloc(sizeof(student);printf(请输入第1个学生的学号:);scanf(%d,&p1-number);p

11、rintf(请输入第1个学生的姓名:);scanf(%s,&p1-name);printf(请输入第1个学生的语文成绩:);scanf(%f,&p1-Chinese);printf(请输入第1个学生的数学成绩:);scanf(%f,&p1-maths);printf(请输入第1个学生的英语成绩:);scanf(%f,&p1-English);head=NULL;while(p1-number!=NULL)/*当前节点不为空*/n=n+1;/*计数加一*/if(n=1)head=p1;else p2-next=p1;/*头插*/p2=p1;p1=(student*)malloc(sizeof(s

12、tudent);printf(请输入第%d个学生的学号:,n+1);scanf(%d,&p1-number);if (p1-number=0)/*当输入0时结束输入*/break;printf(请输入第%d个学生的姓名:,n+1);scanf(%s,p1-name);printf(请输入第%d个学生的语文成绩:,n+1);scanf(%f,&p1-Chinese);printf(请输入第%d个学生的数学成绩:,n+1);scanf(%f,&p1-maths);printf(请输入第%d个学生的英语成绩:,n+1);scanf(%f,&p1-English);p2-next=NULL;return(head);student *search(student *head)/*查询学生信息*/int number,m;char name10,subname10;student *p;printf(1按学生学号查询t2按学生姓名查询t3按课程名查询n);scanf(%d,&m);switch(m) case 1:printf(请输入学生的学号:); s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号