学生成绩管理系统数据结构程序设计实验报告

上传人:ji****72 文档编号:39727943 上传时间:2018-05-19 格式:DOC 页数:12 大小:79.50KB
返回 下载 相关 举报
学生成绩管理系统数据结构程序设计实验报告_第1页
第1页 / 共12页
学生成绩管理系统数据结构程序设计实验报告_第2页
第2页 / 共12页
学生成绩管理系统数据结构程序设计实验报告_第3页
第3页 / 共12页
学生成绩管理系统数据结构程序设计实验报告_第4页
第4页 / 共12页
学生成绩管理系统数据结构程序设计实验报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《学生成绩管理系统数据结构程序设计实验报告》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据结构程序设计实验报告(12页珍藏版)》请在金锄头文库上搜索。

1、实实 验验 报报 告告课程名称课程名称 数据结构综合设计实验 实验项目实验项目 学生成绩管理系统 系系 别别_ _ _ _计算机学院计算机学院 _ _ _专专 业业_ _ 网络工程网络工程 _ _班级班级/ /学号学号_ _网工网工 1202/2012011411_1202/2012011411_学生姓名学生姓名 _ _王宇涵王宇涵_实验日期实验日期 _2014 年 6 月 6 日 成成 绩绩 _指导教师指导教师 黄改娟 田英爱 数据结构综合实验设计数据结构综合实验设计学生成绩管理系统学生成绩管理系统1.需求分析需求分析系统主要管理学生信息及成绩信息排序等事项。根据需要可以查询学生的信息。主要

2、功能系统主要管理学生信息及成绩信息排序等事项。根据需要可以查询学生的信息。主要功能包括如下。包括如下。(1)使用中文菜单,界面升级和用户输入要人性化。使用中文菜单,界面升级和用户输入要人性化。(2)将学生信息保存到文本文档中,具体对学生信息进行插入删除查询操作时,将保存在将学生信息保存到文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后在对该数据结构进文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后在对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。行操作,所有操作完成,或者

3、在相应的命令后,再将学生信息保存到文本文档中。(3)具有数据输入功能,输入的数据能最终保存在文件中。具有数据输入功能,输入的数据能最终保存在文件中。(4)具有数据删除功能,能最终从文件中删除。具有数据删除功能,能最终从文件中删除。(5)排序功能,根据自己设计的数据结构,升级排序算法。排序功能,根据自己设计的数据结构,升级排序算法。(6)具有多种查询及输出功能。具有多种查询及输出功能。(7)其他功能。其他功能。(8)学生信息的修改。学生信息的修改。2.设计方案设计方案总体功能结构总体功能结构输入学生成绩输入学生成绩输出学生成绩输出学生成绩查询学生成绩查询学生成绩插入学生成绩插入学生成绩按总分排名

4、按总分排名主界面主界面 删除学生信息删除学生信息退出系统退出系统3 函数函数Struct Student/结构体结构体Int term;/学期学期Int num;/学号学号Char name12;姓名姓名Float mrak1;成绩成绩Float mark2;Float mark3;Float sum;/总分总分Float average;/平均分平均分;void input(list *head) 输入函数输入函数void output(list *h) 输出函数输出函数void sortsum(list *head) 总成绩排名总成绩排名void sortnum(list *head)按学

5、号排名按学号排名void find (list *h)查找主函数查找主函数list *del (list *h)删除函数删除函数list *insert(list *h)插入函数插入函数4 程序代码程序代码#include #include #include #define MAXLEN 100#define Null 0/*/int count = 0;/*/typedef struct node int num; / 学号学号 char nameMAXLEN; / 姓名姓名/*/char sex2; /性别性别/char sex;/*/float sum; /总分总分float ave;

6、/平均分平均分int computer; /计算机成绩计算机成绩int english; /英语成绩英语成绩int math; /数学成绩数学成绩int chinese; /语文分数语文分数struct node *next; / 指针域指针域list;/*/void input(list *head) /输入函数输入函数/*/list *p,*r;int i,n; / n 为学生人数为学生人数 /*p=(list *)malloc(sizeof(list);p-next=Null;*/r=head; printf(“请输入学生人数请输入学生人数.n“); scanf(“%d“,for(i=1

7、;inum); printf(“请输入学生性别:请输入学生性别:n“); scanf(“%s“,printf(“请输入学生姓名:请输入学生姓名:n“); scanf(“%s“, printf(“请输入语文成绩:请输入语文成绩:n“); scanf(“%d“, printf(“请输入英语成绩:请输入英语成绩:n“); scanf(“%d“, printf(“请输入数学成绩:请输入数学成绩:n“); scanf(“%d“, printf(“请输入计算机成绩:请输入计算机成绩:n“); scanf(“%d“, (p-sum)=(p-chinese)+(p-computer)+(p-math)+(p-

8、english);(p-ave)=(p-sum)/4;p-next=Null; r-next=p; r=r-next;/*/count +;/*/ void output(list *h) /输出函数输出函数 /*/if (h = NULL)printf(“记录为空!记录为空!“);/*/list *p; printf(“学号学号t 姓名姓名t 性别性别t 语文成绩语文成绩t 数学成绩数学成绩t 英语成绩英语成绩t 计算机成绩计算机成绩t 平均分平均分t 总总成绩成绩tn“); p=h-next; while (p!=NULL) printf(“%dnt%st%st%dt%dt%dt%dt%5

9、.1ft%5.1fn“,p-num,p-name,p-sex,p-chinese,p-math,p-english,p-computer,p-ave,p-sum);p=p-next;void sortsum(list *head) /总成绩排序总成绩排序/ struct node temp;/ const int n=20;/ int i,j,k;/ printf(“按照总成绩排序按照总成绩排序:t“);/ for(i=0;i 0)p=head;for(j=0; jnext-sum p-next-next-sum) temp = p-next ;p-next = p-next-next;tem

10、p-next = p-next-next;p-next-next = temp;p = p-next;i-;/*/void sortnum(list *head)int i=count, j, k;printf(“按照学号排序按照学号排序:n“);if (count=0 | count=1)return;list *p, *temp;while(i 0)p=head;for(j=0; jnext-num p-next-next-num) temp = p-next ;p-next = p-next-next;temp-next = p-next-next;p-next-next = temp;

11、p = p-next;i-;/*/*int sortnum(node *list) /学号排序学号排序struct node temp;const int n=20;int i,j,k;printf(“按照总成绩排序按照总成绩排序:t“);for(i=0;inext; printf(“请输入要查找的学生学号:请输入要查找的学生学号:n“); scanf(“%d“, while (p if(p) printf(“学号学号t 姓名姓名t 性别性别t 语文成绩语文成绩t 数学成绩数学成绩t 英语成绩英语成绩t 计算机成绩计算机成绩t 平均成平均成绩绩t 总成绩总成绩n“); printf(“%dt%

12、st%st%dt%dt%dt%d%5.1ft%5.1fn“,p-num,p-name,p-sex,p-chinese,p-math,p-english,p-computer,p-ave,p-sum); else printf(“目标没找到目标没找到n“);list *del (list *h) /删除函数删除函数 int k; / 要删除的学生学号要删除的学生学号 list *p,*q; q=h; p=h-next; printf(“请输入待删除的学生学号:请输入待删除的学生学号:n“); scanf(“%d“, while (p p=p-next; if(p) q-next=p-next;

13、free(p); count -; else printf(“没有此学生的记录,无法删除!没有此学生的记录,无法删除!n“); return (h);list *insert(list *h) /插入函数插入函数 list *p,*q,*r,*head; head=h; r=h; p=h-next; / 下面构造一个学生的信息下面构造一个学生的信息 q=(list *)malloc(sizeof(list); printf(“请输入待插入学生的学号:请输入待插入学生的学号:n“); scanf(“%d“, printf(“请输入待插入学生性别:请输入待插入学生性别:n“); scanf(“%s“,printf(“请输入待插入学生的姓名:请输入待插入学生的姓名:n“); scanf(“%s“, printf(“请输入待插入的语文成绩:请输入待插入的语文成绩:n“); scanf(“%d“, printf(“请输入待插入的英语成绩:请输入待插入的英语成绩:n“); scanf(“%d“, printf(“请输入待插入的数学成绩:请输入待插入的数学成绩:n“); scanf(“%d“, pri

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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