好文档 - 专业文书写作范文服务资料分享网站

C语言学生成绩管理系统设计报告

天下 分享 时间: 加入收藏 我要投稿 点赞

计算机科学与技术学院

课程设计报告

2015— 20叵学年第二学期

课程名称 C 语言程序设计 题 目 学生成绩管理系统

学生姓名 XXX _______________ 学 号 XXX _______________ 专业班级 XXX _______________ 指导教师 XXX _______________ 合作者

XXX _______________ 2016年

6 月 30 日

学生成绩管理系统

本程序可实现对学生语数外三门课程成绩的录入与保存。

1、

设计目的

本程序旨在训练读者的基本编程能力, 了解管理信息系统幵发流程, 语言的各种语法、编写流程、以及能够熟练运用各种算法、以及各种函数的使用。

2、

功能描述

本程序可实现的功能:

(1) 录入学生的成绩 (2) 输出学生的成绩

熟悉C

3) 添加学生的成绩信息 4) 5)

删除指定学生的成绩信息

按照要求对学生成绩信息进行排序

6) 根据学号查询指定学生的成绩

将学生的成绩信息以文件形式保存

7)

3

总体设计

、 具体实现 3.1

main

()函数:程序首先调用 menu ()函数,显示出系统主菜单,然

k值赋予k,接着进入switch — case

后将menu()函数返回的从用户读取的选项

语句进入对应选项函数,若输入错误没有该选项则给出提示( default )以上过 程为一个死循环,直到用户输入 0 为止。

menu ()函数:在屏幕上打印选项名称,然后用一个

int类型的变量接受

从用户输入的选项,最后将其 return 至主函数。

score *creatlink ()函数:创建链表主要实现流程如下:

print() 函数:先令P=head,使p指向第一个节点,当 head二! NULL时说明 没

有到链表尾端,那么就输出 p 所指向的结构数据,然后让 p 指向下一个节点, 直到发现p==NULL为止。而当head==NULL说明链表中不存在数据,直接停止输 出。

score *add ()函数,添加新的学生信息, 具体实现路程如流程图所示 (图 片制

作时没有加 Y/N 判断,在判断图框中均为向左为真,向右为假) :

score *search ()函数:用来查询学生成绩,传递给函数指向链表的头 指针,查询

时,如果找到与输入相匹配的学号则打印此学生,反之则输出“没 有任何学生资料! ”:

score *sortdata() 函数:该函数有学号、姓名、单科成绩排序(冒泡排序 法),实

行过程如图:

save ()函数:用来保存数据,首先从用户输入取得要保存的文件名,然

后定义一个指向文件的指针,以读写方式打开文件。将写生信息依次存入文件。

score *load() 函数:用于读取数据,通过“ r+ ”方式打开文件并判断是否 打开

成功。具体实现如下:

score *statistics() 函数:它能实现程序的统计,通过 switch-case 语句 选择

统计方式,通过循环计算总分或者平均分并打印出来,流程都是通过循环, 让指针逐个遍历整个链表,读取相应的数据并实现统计

3.2 数据结构设计

数据结构:定义了一个包含学生成绩信息的结构体( struct scorenode {}),学生信息包括学号(n umber)、姓名(name[10])、语文、数学、英语 成绩( chinese 、 mathmatic 、 english )、以及指向下一个结构体的链表指针

(struct scorenode *next) 。 3.3 函数功能描述

main ()函数:主函数功能主要是让程序选择将要进行的操作,通过

menu

)函数返回的选项进入其他函数执行。

int menu (int k )函数:此函数显示主菜单内容,需要一个 int 类型变量

作为输入要执行的选项并返回给 main ()函数。

score *creatlink() 函数:此函数用于创建链表,为了节省内存空间,我 们采用

C语言学生成绩管理系统设计报告

计算机科学与技术学院课程设计报告2015—20叵学年第二学期课程名称C语言程序设计题目学生成绩管理系统学生姓名XXX_______________学号XXX_______________专业班级XXX_______________指导教师XXX______________
推荐度:
点击下载文档文档为doc格式
2rsw86forh7l7tx29ybm0wacw0f2i000gbc
领取福利

微信扫码领取福利

微信扫码分享