- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计基础》课程报告—成绩管理系统汇
成都东软学院
数据结构项目报告
课 程: 数据结构
项目名称: 学生成绩管理系统(链表版)
专业班级: 网络工程一班
学 号:16
姓 名: 第一组
指导教师:
2015 年月
目录
1 项目概述 1
1.1内容 1
1.2功能 1
1.3意义 1
2 项目实施 2
2.1主要功能模块说明 2
3项目总结 3
3.1结论 3
1 项目概述
1.1内容
对学生信息(包括学号、数学、英语、计算机、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录。
信息内容包含:学生的学号、姓名、成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言(链表)编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。
1.2功能
(1)主菜单界面设计。通过提示用户输入一个数字选项,调用相应的
功能函数。
(2)学生成绩显示:完成班级全部学生成绩的显示。
(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;。
(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩。
(5)学生成绩信息的查询;要求系统能按学号和按姓名两种查询方式定位,显示符合条件的记录,若查询不到应给出相应的提示信息。
(6)学生成绩信息的删除;要求可按指定的学号和指定的姓名两种定位方式删除学生的成绩记录。
(7)要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计中应有一定的提示信息。
(8)成绩排序:按学生平均成绩和单科成绩进行排序。
(9)成绩统计:统计并以表格的形式显示所有课程的平均分。
1.3意义
1.在编辑应用程序过程中,逐步加深对C语言链表编程的理解,掌握结构化数据结构的基本思路和方法。
2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固,为以后的学习奠定基础。 3.增强学生我们利用自己所学知识解决实际问题的能力。
4.掌握书写程序设计说明文档的能力。
5.增强了团队合作能力,培养了我们的团队意识。
2 项目实施
2.1主要功能模块说明
主要模块功能说明:
1 输入功能:输入学生姓名学号及成绩。
2 查看功能:输出姓名学号及各科成绩。
3 查询功能:通过学号查询学生姓名及各科成绩。
4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。
5 修改功能:通过输入学号修改指定学生的错误信息。
6添加功能:添加学生信息。
7删除功能:通过输入学号输入指定学生信息。
8保存功能:将学生信息保存。
9 退出系统。
主要函数的函数原型
void Menu();
int main();
LinkList Input();
void Display(LinkList L);
void Insert(LinkList L);
void Delete(LinkList L);
void Search(LinkList L);
void Max(LinkList L);
void Average(LinkList L);
void Sort(LinkList L);
void tuichu();3项目总结
3.1心得
源代码:
#include stdlib.h
#include stdio.h
#include string.h
#includewindows.h
//单链表的定义
//数据元素的类型
typedef struct LNode
{
//声明结点的类型和指向结点的指针类型//
int stuid;
char name[20];
float english;
float math;
float database;
float sum;
float average;
struct LNode *next; //指示结点地址的指针//
} LNode,*LinkList;
//函数1.输入学生信息,逆向建立单链表
LinkList Input()
{
int i,n;
LinkList L,p;
L=(LinkList)malloc(sizeof(LNode));
L-next=NULL; //建立一带头结点的空单链表//
//单链表初始化结束
printf(\t请输入要输入的学生个数:);
文档评论(0)