课程设计C语言学生成绩管理系统设计

上传人:博****1 文档编号:420097417 上传时间:2023-10-05 格式:DOC 页数:55 大小:304.52KB
返回 下载 相关 举报
课程设计C语言学生成绩管理系统设计_第1页
第1页 / 共55页
课程设计C语言学生成绩管理系统设计_第2页
第2页 / 共55页
课程设计C语言学生成绩管理系统设计_第3页
第3页 / 共55页
课程设计C语言学生成绩管理系统设计_第4页
第4页 / 共55页
课程设计C语言学生成绩管理系统设计_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《课程设计C语言学生成绩管理系统设计》由会员分享,可在线阅读,更多相关《课程设计C语言学生成绩管理系统设计(55页珍藏版)》请在金锄头文库上搜索。

1、C语言课程设计报告学生成绩管理系统C语言课程设计说明书4第一章:设计任务分析51.1 课程设计意义:51.2 课程设计目的:51.3 课程设计所培养的能力51.4 学生成绩管理系统设计要求61.5 学生成绩管理系统实现的功能6第二章:技术文档72.1 程序的总体设计72.2 主要数据72.2.1 库文件72.2.2 调用函数及函数文件82.2.3 结构体数组及宏定义82.3模块设计及具体的算法分析92.3.1输入模块92.3.2 删除多余数据模块112.3.3 搜索模块122.3.4 插入成绩152.3.5显示函数162.3.6 数据保存函数162.3.7 成绩排序162.3.8统计分数172

2、.3.9 主函数17第三章:用户文档18第四章:源程序代码清单19Main.c文件19Common.c文件21Deleteitem.c文件21Find.c文件22Input.c文件26Insert.c文件28Output.c文件29Paint.c文件31Save.c文件32Sort.c文件33Stat.c文件38Common.h文件44Deleteitem.h文件45Find.h文件46Input.h文件46Inset.h文件47Output.h文件47Paint.h文件48Save.h文件48Sort.h文件49Stat.h文件49第五章:测试数据和测试过程记录。50第六章:遇到的问题及解决

3、方法分析。52C语言课程设计说明书专业:电子科学与技术班级:学生姓名:指导教师:设计题目:学生成绩管理系统设计条件:自主设计设计内容:学生成绩管理下达日期:完成日期:第一章:设计任务分析1.1 课程设计意义: C语言是电子科学与技术专业的重要专业基础课。在很多后续课程中,都要使用到C语言。学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。1.2 课程设计目的:掌握和利用C语言进行程序设计的能力。用C语言合理地开发简洁有效的程序代码来

4、实现该设计。提高用程序设计解决实际问题的能力。理解和运用结构化程序设计的思想和方法。通过提出算法、指定输入输出来设计一个解决方案。掌握开发一个小型实用系统的基本方法。学会调试一个较长程序的基本方法。测试程序是否工作且满足设计指标并评价其效率。掌握书写程序设计开发文档的能力(书写课程设计报告)。1.3 课程设计所培养的能力A、分析问题。各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。B、提出算法执行特定任务。模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。C、把一个算

5、法变为用C语言编写的结构化程序。D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。G、调试程序、测试数据过程成功。1.4 学生成绩管理系统设计要求用C语言实现系统。利用结构体数组实现学生成绩的数据结构设计。系统具有增加、查询、排序等基本功能。系统的各个功能模块要求用函数的形式实现。将学生成绩信息存在文件中。完成设计任务并书写课程设计报告。1.5 学生成绩管理系

6、统实现的功能(1)每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。(2)添加功能:可以一次完成若干条记录的输入。(3)显示功能:完成全部学生记录的显示。(4)查找功能:完成按姓名、学号查找学生记录,并显示。(5)排序功能:按学生学号或平均成绩进行排序。(6)保存功能:将学生记录存在自定义文件名的文件中。(7)退出功能:退出系统(8)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!第二章:技术文档学生管理系统2.1 程序的总体设计输入成绩插入成绩删除成绩查询成绩成绩排序统计输出保存文件退出系统2.2 主要数据2.2.1 库文件#include #includ

7、e #include 2.2.2 调用函数及函数文件#include common.h#include input.h#include output.h#include sort.h#include find.h#include insert.h#include deleteitem.h#include stat.h#include save.h#include paint.hvoid delete_item(STUDENT *data, int *len) /用以删除错误或多余成绩void find(STUDENT *data, int len) /用于以姓名或学号搜索成绩void inpu

8、t(STUDENT *data, int *len) /输出函数void insert(STUDENT *data, int *len) /插入新的成绩void output(STUDENT *data, int len) /输出成绩void paint() /显示界面函数void save(STUDENT *data, int len) /保存文件函数void sort(STUDENT *data, int len) /成绩排序总函数void sort_number(STUDENT *data, int len) /以下为成绩排序的子函数void sort_chinese(STUDENT *

9、data, int len) /包括各科成绩、平均分及总分void sort_math(STUDENT *data, int len)void sort_english(STUDENT *data, int len)void sort_average(STUDENT *data, int len)void sort_total(STUDENT *data, int len)void stat(STUDENT *data, int len) /统计输出2.2.3 结构体数组及宏定义#define MAXN 35#define MAX_NAME 256typedef struct student

10、/学生信息int no; /定义学生学号char nameMAX_NAME; /学生姓名数组double Chinese; /以下分别定义语文、数学、英语、平均分、总分double math;double English;double mark_ave;double mark_tot; STUDENT; /定义结构体类型名2.3模块设计及具体的算法分析2.3.1输入模块用于成绩首次输入,需按固定格式输入但输入各科成绩中有超过100或小于0的的即为错误返回,无需再次输入学号,从课程姓名处开始输入在储存各科成绩的同时,计算总分于平均分但输入结束时,输入-1可返回主界面 主界面 输入1 按格式输入成

11、绩 判断是否有打渔100或小于0的数有则返回重新输入无则数据输入成功,接着输入下组数据输入完成后,输入-1返回主界面【程序代码】int no;putchar(n);printf(%sn, 请输入新的记录,成绩输入完成请输入-1.);printf(%sn, 格式:n学号n);printf(%sn, 姓名 语文 数学 英语);putchar(n);printf(如:n);printf(1n);printf(黄纬宏 99 99 99n);scanf(%d, &no);while(no != -1)data*len.no = no;scanf(%s %lf %lf %lf, data*len.name

12、, &data*len.Chinese, &data*len.math,&data*len.English);if(data*len.Chinese100|data*len.math100|data*len.English100|data*len.Chinese0|data*len.math0|data*len.English0) /判断成绩是否有大于100或小于0的,有则说明数据有误,需重新输入printf(输入错误,按回车重新输入,不用输入学号!);getchar(); getchar();continue;data*len.mark_ave=(data*len.Chinese+data*len.math+data*len.English)/3.0;/计算平均值和总分data*len.mark_tot=data*len.Chinese+data*len.math+data*len.English;(*len)+;scanf(%d, &no);2.3.2 删除多余数据模块直接输入-1可返回主界面从头开始顺序查找学号,若未找到则返回输出未找到需要删除的学生删除数据后将后面的数据依次重新排序 输入3输入-1?主界面 是未找到需要删除的学生是否有这个学号? 输入学号否对学号所对应成绩进行替换否没有任何记录是否还有数据?是否是【程序代码】

展开阅读全文
相关资源
相关搜索

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

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