C 编写的学生成绩管理系统Word文档下载推荐.docx

上传人:b****1 文档编号:15211676 上传时间:2022-10-28 格式:DOCX 页数:11 大小:289.16KB
下载 相关 举报
C 编写的学生成绩管理系统Word文档下载推荐.docx_第1页
第1页 / 共11页
C 编写的学生成绩管理系统Word文档下载推荐.docx_第2页
第2页 / 共11页
C 编写的学生成绩管理系统Word文档下载推荐.docx_第3页
第3页 / 共11页
C 编写的学生成绩管理系统Word文档下载推荐.docx_第4页
第4页 / 共11页
C 编写的学生成绩管理系统Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C 编写的学生成绩管理系统Word文档下载推荐.docx

《C 编写的学生成绩管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C 编写的学生成绩管理系统Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

C 编写的学生成绩管理系统Word文档下载推荐.docx

综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。

任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。

5、未尽事宜,请参考该课程的实验大纲和教学大纲。

《C程序设计》课程综合性实验报告

开课实验室:

年月日

实验题目

《学生成绩管理系统的设计》

一、实验目的

通过该实验把C语言中基本知识(如:

顺序结构、选择结构、循环结构、数组、函数、指针、链表等)得到综合应用.完成学生成绩管理系统基本功能设计,提高学生的编程能力和分析问题、解决问题的能力。

二、设备与环境

PC兼容机、Windows操作系统、Vc++软件等。

三、实验内容

1、实验内容

对学生基本信息,包括学号、姓名、至少三门课成绩。

1学生基本信息录入;

2学生基本信息的输出;

3按学号查询学生信息;

4按学号修改某学生信息并输出;

5求每个人平均成绩;

6删除某学生信息;

7添加某学生信息

8输出平均分大于80分的同学信息;

9根据平均成绩综合排名;

(此功能用链表处理的同学可不做)

2、实验要求

a、用结构体数组或链表存储学生信息

b、基本功能用函数实现;

c、至少完成实验内容中4个功能,学生可以自己增加或减少题目功能;

d、程序能正确执行、输入与输出有必要的提示信息、界面美观;

e、用菜单调用加分。

用链表加分。

f、按指定时间交综合性实验实验报告(打印稿),把综合性实验实验报告和C程序(电子版)发到服务器上(不传电子版没成绩)。

四、实验结果及分析

程序用链表来做的,因为完成功能有学生信息录入,成绩输出,修改学生信息,

按学号查询,删除学生信息,添加信息,输出大于80分的学生,计算平均值等。

使用了函数调用,指针,等应用。

包涵大部分所学知识。

程序运行如下

启动:

菜单界面如下

界面美观只是一个基本功能,为了让使用者更方便使用。

用的printf做的界面,用到了getchar选择子程序,和goto语句返回,

做了一个简单的菜单程序,程序的关键在于选择调用部分这里用到了几个

特别的函数就是包括在main函数的清屏,这个功能会在下面提到。

功能一键入:

输入学生信息

此处可以添加班级人数,按班级人数添加学生信息,输入成绩和学号还有名字,

都是通过链表做的所以一次成型,这里用的链表就是

&

p—>

xh,&p—>

xm,&

p->

gs,&p->

yy,&

p-〉wl依次为学生信息输入为学号姓名

高数,英语,物理,然后按顺序一次存放在每个人的信息中保存,然后

通过p-〉next=xshead—>

next;

xshead-〉next=p;

继续进行下个学生成绩的

录入工作。

此处注意的是每个函数的长度和类型不能输入错误,还有就是不能过多输入,

因为超过了一名同学的信息会进入第二个同学的信息中。

这是用这种方式

输入的一个比较麻烦的地方,可以改成一次录入或者按提示输入的方法,

具体就是把每个链表的指针分别放在不同的scanf语句里再加上printf

提醒输入就是printf(“输入学生学号:

”);

scanf(“%d"

,&

p-〉xh);

这样依次输入。

功能二:

输出学生信息

此处直接计算了学生三科成绩的平均分,虽然计算平均成绩是一个子程序,

但是菜单不会调用,因为程序本身不用输出.这里按照链表的格式输出的

xh,p-〉xm,p—>

gs,p->

yy,p-〉wl,p->

pj就是一次输出链表的数据,和输

入雷同,然后也是使用p=p—〉next;

跳到下一组数据上继续输出地址中的

数据。

功能三:

添加学生信息

此处设置时候是直接引用的键入学生信息的那个程序实现的,但是可能造成的

结果就是添加的学生在第一或者最后位置,不能进行位置排列。

功能四:

删除学生信息

删除这个程序目前还有使用问题,还没解决,有一定几率可以使用。

因为

可能出现程序卡死,所以还没发现问题在报告出来之前如果有问题就这部

分就不再修改。

功能五:

修改学生信息

修改学生信息本身没有问题,因为直接引用的文档里的程序。

修改的查询用到的是链表的学号部分,这里使用的是按照学号查询,但是

可以添加别的查找方法,比如按照名字,都可以做到的,主要在

structxsnode*p=xshead-〉next;

这情况下做的,因为要查找要先找到

表头才可以。

功能六:

查询学生信息

这个也没什么好说的,就是一个查询程序,调用的表头的第一个数据来实现

的.这和修改信息一样的,就是查找部分而已.

功能七:

输出平均分大于80分的学生信息

其实这个程序的用途不是很大,只是多了一个功能而已.

特有功能:

清屏

好处是可以使屏幕更加清洁干爽,使用的主要是一个goto函数,虽然这个

函数尽量不使用,但是这里稍微使用下可以达到更好的效果,那个system

(“cls”)部分是引用的别的程序,不过这个程序感觉很好。

case'

1'

:

create(xshead);

getchar();

break;

case’2’:

average(xshead);

output(xshead);

getchar();

break;

case’3'

tianjia(xshead);

case'

4'

shanchu(xshead);

case’5’:

xiugai(xshead);

case’6’:

average(xshead);

xuehao(xshead);

7'

pingjun80(xshead);

case’8'

gotoend;

注意后面的getchar()很重要,如果没有在清屏的时候就会出现把子

子程序的显示也消除了,所以都在最末添加了这句相当于回车确认。

总结:

这次实验目的是为了学会程序设计的基本思路,了解基本理念的一次实验。

在做这个实验的时候不但学会了链表的处理,和目录的调用,还学会了一些原来

不是特别熟悉的程序的功能的实现,比如在别的程序上学到的清屏操作,和程序

返回的原理等等,主要还是在链表上的学习,因为这个功能是C语言的一个特色

功能,具有很实用的意义,而且在以后的学习中要经常用到。

实际上大体程序还

是以老师的程序为主,但是在分析和了解之后也感受到一个程序的顺序性和调理

性,怎么说呢p=(structxsnode*)malloc(sizeof(structxsnode));

这几句的实

际效果还是不是特别清楚但是只是知道是malloc的函数原型其作用是在动态存储

区中分配一个连续的空间,但是如果自己来定义这个函数可能就不知道这句话怎

么写才能完整表达。

scanf(”%d%s%d%d%d”,&

xh,&

p—〉xm,&p—〉gs,&p->

p-〉wl);

这个其实可以改成一个多提示的输入,提高输入的精确度,但是这里有点遗憾的

是没时间改这个部分了,因为其他地方错改进太多,导致这里有点不那么完美而已

但是菜单这部分和子函数部分还是很了解的,毕竟很多都是自己改的,虽然函数

很多沿用老是的程序,但是具体还是有很多修改的,然后就是对界面的美化和控制

改进,这里花了一点时间让界面更加友好,虽然都是printf的命令,但是也可以

控制输出漂亮的效果,控制上可以用了getchar的选择命令的方式,效果不错,

实验了几种方法,都成功了如果再用上接口程序那效果就更好了,总的说这个实验

花了大概一天的时间来改进,其中修改错误不少,出现了最头疼的LNK2001这些错

误但是改进之后还是觉得整体运行不错,和同学一起解决问题才是最大的意义所在

就是这样。

评定项目

A

B

C

D

算法正确

界面美观,布局合理

程序结构合理

操作熟练

语法、语义正确

解析完整

实验结果正确

文字流畅

报告规范

题解正确

教师评价

其他:

评价教师签名:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1