成绩管理课程设计报告

上传人:汽*** 文档编号:485390634 上传时间:2023-04-11 格式:DOC 页数:16 大小:417.50KB
返回 下载 相关 举报
成绩管理课程设计报告_第1页
第1页 / 共16页
成绩管理课程设计报告_第2页
第2页 / 共16页
成绩管理课程设计报告_第3页
第3页 / 共16页
成绩管理课程设计报告_第4页
第4页 / 共16页
成绩管理课程设计报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《成绩管理课程设计报告》由会员分享,可在线阅读,更多相关《成绩管理课程设计报告(16页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告课程设计题目:成绩管理 学生姓名: xx 专 业:xxx班 级:xxx指导教师: xx 20xx年x月x日东华理工大学课程设计评分表学生姓名: xx 班级: xxxx 学号:xxxxx课程设计题目:成绩管理项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练

2、完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日实验题目:成绩管理一、 实验目的1.掌握线性表的创建及基本操作;2.掌握基本排序3.复习文件相关的操作(1)用顺序结构表示成绩单,完成任务(1)(6),成绩为及格;(2)用链表表示成绩单,完成任务(1)(6),且软件容错能力强,成绩为中等。二、 实验内容 问题描述:给出n个学生的考试成绩表,成绩表包括学

3、生的学号、姓名、考试成绩(高等数学、英语、物理),设计一个简单的成绩管理程序。基本要求:(1)建立成绩表,能够插入、删除、修改学生的成绩记录;(2)按任一单科成绩排序;(3) 计算每名学生的平均成绩;(4) 统计任一单科成绩不及格的学生人数, 输出不及格人数及不及格的学生名单(5) 根据平均成绩将成绩表按由高到低的次序排列,统计每名学生在考试中获得的名次,分数相同的为同一名次,按名次输出成绩表。(6) 成绩表保存在文件中, 可以从文件读取数据。三、 实验设计1. 定义单链表存储结构 typedef struct Student char ID12; char name20; int c1; i

4、nt c2; int c3; Student *next;Student;2. 建立成绩表及其涉及的相关函数Student *AppendNode(Student *head);/增加void DisLink(Student *head);/显示Student *InsertNode(Student *head);/插入Student *DelNode(Student *head);/删除Student *alter(Student *head);/修改 Student *Start(Student *head);/初始赋值Student *Com(Student *head);/排序Stud

5、ent *ReadData(Student *head);/读取数据void SaveData(Student *head);/存储数据Void mathcount(student *head);/统计高数不及格人数3. 具体程序代码#include#include#includetypedef struct Student char ID12; char name20; int c1; int c2; int c3; Student *next;Student;Student *AppendNode(Student *head);/增加void DisLink(Student *head);

6、/显示Student *InsertNode(Student *head);/插入Student *DelNode(Student *head);/删除Student *alter(Student *head);/修改 Student *Start(Student *head);/初始赋值Student *Com(Student *head);/冒泡排序Student *ReadData(Student *head);/读取数据void SaveData(Student *head);/存储数据void mathcount(Student *head);/统计高数不及格人数int main()

7、 int a; Student *head=NULL; int k=1; head=ReadData(head);/先读文件 if (head=NULL)/如果不存在的话创建数据 head=Start(head); while(k) DisLink(head);/数据多的话不必每次都显示 printf(1 增加数据n); printf(2 插入数据n); printf(3 修改数据n); printf(4 删除排序n); printf(5 排序数据n); printf(6 显示数据n); printf(7 统计高数不及格人数n); printf(8 退出n); printf(选择:); sca

8、nf( %d,&a); switch(a) case 1: head=AppendNode(head); break; case 2: head=InsertNode(head); break; case 3: head=alter(head); break; case 4: head=DelNode(head); break; case 5: head=Com(head); break; case 6: break; case 7: mathcount(head); break; case 8: k=0; break; default: printf(请输入有效选择!n); SaveData

9、(head); return 0;Student *Start(Student *head) Student *p=NULL; Student *pr=head; p=(Student *)malloc(sizeof(Student); head=p; pr=p; strcpy(pr-ID,08002813); strcpy(pr-name,Bener); pr-c1=98; pr-c2=99; pr-c3=95; p=(Student *)malloc(sizeof(Student); pr-next=p; pr=pr-next; strcpy(pr-ID,08001303); strcpy

10、(pr-name,大雄); pr-c1=67; pr-c2=73; pr-c3=59; p=(Student *)malloc(sizeof(Student); pr-next=p; pr=pr-next; strcpy(pr-ID,09001823); strcpy(pr-name,胖虎); pr-c1=64; pr-c2=69; pr-c3=75; p=(Student *)malloc(sizeof(Student); pr-next=p; pr=pr-next; strcpy(pr-ID,08002818); strcpy(pr-name,静香); pr-c1=95; pr-c2=91

11、; pr-c3=89;p=(Student *)malloc(sizeof(Student); pr-next=p; pr=pr-next; strcpy(pr-ID,09004813); strcpy(pr-name,康夫); pr-c1=46; pr-c2=75; pr-c3=88;pr-next=NULL; return head;void DisLink(Student *head) Student *p=head; int j=1; printf(序号 学号 名字 高数 英语 物理 平均分n); while(p!=NULL)printf(%3d%10s%10s%6d%6d%6d%8.

12、2fn,j,p-ID,p-name,p-c1,p-c2,p-c3,(p-c1+p-c2+p-c3)/3.0); p=p-next; j+; Student *AppendNode(Student *head) Student *p=NULL; Student *pr=head; char ID12; char name20; int c1; int c2; int c3; p=(Student *)malloc(sizeof(Student); if(p=NULL) printf(No enough memory to alloc); exit(0); else if(head=NULL) head=p; else while(pr-next!=NULL) pr=pr-next; pr-next=p; pr=p; printf(请输入学号:); scanf( %s,&ID); printf(请输入名字:); scanf( %s,&name); printf(请依次输入高数,英语,物理成绩:); scanf( %d%d%d,&c1,&c2,&c3); strcpy(pr-ID,ID); strcpy(pr-name,name); pr-c1=c1; pr-c2=c2; pr-c3=c3; pr-next=NULL; return head;void D

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

最新文档


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

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