课程设计报告

发布 2022-10-01 06:18:28 阅读 1365

学生成绩管理系统用vc6.0环境开发。

本系统应具有以下功能:

1、数据输入。

数据可以通过2种方式输入:

1)数据文件导入学生相关信息和各科成绩:如果存在数据文件,则从“学籍管理系统”所输出的学生相关信息和各科成绩导入学生相关信息和各科成绩;

2)通过键盘输入学生相关信息和各科成绩:如果不存在数据文件,可通过键盘输入,输入完毕后,存盘产生数据文件;输入时,如输入的编号已存在,应出现出错信息……

2、数据添加、修改、删除功能。

1)添加:按照输入例子添加学生相关信息和各科成绩(添加学生信息,当输入学号为0时,将结束操作;若学号重复,请重新输入学号)

2)修改:可修改指定的学生相关信息和各科成绩(可以选择:按姓名修改或者按学号修改)

3)删除:可删除指定的学生相关信息和各科成绩(可以选择:按姓名删除或者按学号删除)

3.数据的计算。

1)计算出每个学生的总分及平均成绩,根据平均成绩计算5分制成绩,计算结果可输出到文件。

2)计算出每门课程(语文,数学,英语)的总分及平均成绩。

4.数据查询(若所查学生不存在,则按回车键返回上级菜单)

1)可按学生的姓名或者按学号查询;

2)可查询有不及格成绩的学生名单,名单中包含学号、姓名、课程名等相关信息及成绩,查询结果可输出到文件。

5. 浏览:(1)可浏览输入后的数据。

2) 可浏览查询后的数据。

3) 可浏览按学号或者按姓名排序后的数据。

6. 文件操作:可打开、保存、关闭数据文件。

7. 保存信息。

本系统需要处理的数据主要有:编号、姓名、……相关数据的类型及说明如下:

按系统分析的功能要求将系统划分为以下几个主要功能模块:

1、数据输入。

数据可以通过2种方式输入:

1)数据文件导入学生相关信息和各科成绩:如果存在数据文件,则从“学籍管理系统”所输出的学生相关信息和各科成绩导入学生相关信息和各科成绩;

2)通过键盘输入学生相关信息和各科成绩:如果不存在数据文件,可通过键盘输入,输入完毕后,存盘产生数据文件;输入时,如输入的编号已存在,应出现出错信息……

2、数据添加、修改、删除功能。

1)添加:按照输入例子添加学生相关信息和各科成绩(添加学生信息,当输入学号为0时,将结束操作;若学号重复,请重新输入学号)

2)修改:可修改指定的学生相关信息和各科成绩(可以选择:按姓名修改或者按学号修改)

3)删除:可删除指定的学生相关信息和各科成绩(可以选择:按姓名删除或者按学号删除)

3.数据的计算。

1)计算出每个学生的总分及平均成绩,根据平均成绩计算5分制成绩,计算结果可输出到文件。

2)计算出每门课程(语文,数学,英语)的总分及平均成绩。

4.数据查询(若所查学生不存在,则按回车键返回上级菜单)

1)可按学生的姓名或者按学号查询;

2)可查询有不及格成绩的学生名单,名单中包含学号、姓名、课程名等相关信息及成绩,查询结果可输出到文件。

5. 浏览:(1)可浏览输入后的数据。

2) 可浏览查询后的数据。

3) 可浏览按学号或者按姓名排序后的数据。

6. 文件操作:可打开、保存、关闭数据文件。

7. 保存信息。

1、菜单设计。

主菜单:通过 printf函数显示每个菜单的信息,再通过switch函数选择0-12的菜单。输入选项**即可进入相应的菜单。

子菜单(二级菜单)

通过 printf函数显示每个二级菜单的信息,再通过switch函数选择的菜单实现相对应的功能模块。

2、输入界面的设计。

通过printf函数显示添加学生信息的输入例子,按照顺序添加学生信息,当输入学号为0 的学生信息就停止输入。每添加一次学生的信息,通过printf("是否继续输入?(yes/no)")询问是否继续添加。

当输入的学号或者姓名和之前输入的信息有重复时,显示“学号(姓名)重复,请重新输入学号(姓名)”,并通过按enter键退出输入模块。

3、信息显示界面的设计。

输出学生的学号,姓名,各科成绩。主要通过printf函数输出int input()函数中添加的学生的信息。

根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)

1、主函数main()

主函数主要作用是控制调用其它函数协调工作。其流程图如下:

2.保存信息s**e函数。

本函数用于学生信息的存储,完成保存输入学生的学号,姓名,各科成绩后的全部信息。通过fopen,fprintf, fclose函数实现信息的逐一保存。

3.输入学生信息――int input()函数。

本函数用于添加学生的学号,姓名,各科成绩等信息。给出添加学生信息的输入例子,按照顺序添加学生信息,当输入学号为0 的学生信息就停止输入。每添加一次学生的信息,通过printf("是否继续输入?

(yes/no)")询问是否继续添加。当输入的学号或者姓名和之前输入的信息有重复时,显示“学号(姓名)重复,请重新输入学号(姓名)”,并通过按enter键退出输入模块。

4.输出学生信息函数--void output()

本函数用于输出学生的学号,姓名,各科成绩。主要通过printf函数输出int input()函数中添加的学生的信息。

5.求出语文,数学,英语总分,平均成绩函数--void g**erage()

本函数用于求出语文,数学,英语总分,平均成绩。通过 for(i=0; i<=sum; i++)

ctotal=ctotal+stu[i].schinese;循环计算出学生总的语文成绩。再通过c**e=ctotal/sum;求出学生语文的平均成绩。

通过 for(i=0; i<=sum; i++)

mtotal=mtotal+stu[i].smath;循环计算出学生总的数学成绩。再通过m**e=mtotal/sum;求出学生数学的平均成绩。

通过 for(i=0; i<=sum; i++)

etotal=etotal+stu[i].senglish;循环计算出学生总的英语成绩。再通过e**e=etotal/sum;求出学生英语的平均成绩。

6按学号排序函数--int sort_by_num()

本函数在二级菜单中发挥作用,按学号排序。先通过调用void range();函数,把学号为0 的学生的信息去掉。然后通过冒泡排序法排序。

学号,语文,数学,英语成绩分别用t,m,n,l进行交换排列顺序,姓名则通过strcpy交换排列顺序。

7按姓名排序函数--int sort_by_name()

本函数在二级菜单中发挥作用,按姓名排序函数。。先通过调用void range();函数,把学号为0 的学生的信息去掉。然后通过冒泡排序法排序。

学号,语文,数学,英语成绩分别用t,m,n,l进行交换排列顺序,姓名则通过strcpy交换排列顺序。

8排序函数--int sort_message()

本函数通过调用int sort_by_num(),int sort_by_name()函数发挥作用。通过在二级菜单中选择1或2实现。 按学号或者按姓名排序。

9.求出每个学生的总分,平均分和 5分制成绩函数--void meigezopi()

本函数实现求出每个学生的总分,平均分和 5分制成绩的功能。通过for(i=0; i<=sum; i++)stu[i].sum=stu[i].

schinese+stu[i].smath+stu[i].senglish;求出每个学生的总分。

再用stu[i].**er=1.0*stu[i].

sum/3.0;求出每个学生的。

平均分。然后通过switch(index)和case求出每个学生的5分制成绩。最后通过fopen,fprintf, fclose函数实现信息的逐一保存。

10.求出有挂科记录的学生的名单-- void search_unpass()

本函数实现求出有挂科记录的学生的名单。通过if(stu[i].schinese

语文:%lf",stu[i].schinese); if(stu[i].

smath

smath) if(stu[i].senglish

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...