成都工业学院 学生成绩管理系统 专周报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成都工业学院

课程设计报告

课程名称 C语言课程设计

课题名称成绩管理系统

专业软件工程(2)班

班级 1506032班

学号 150603236 姓名陈光超

指导教师杨明广

2016年2月26日

一.题目要求

1.问题描述:

对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放.

2.要求:

(1)一个文件按以班为单位存储学生记录.

(2)将允许的操作分为8种,

1, 录入学生成绩

2, 查看学生成绩

3, 修改学生成绩

4, 删除学生成绩

5, 学生成绩排序

6, 写入五个默认成绩

7, 查看本程序开发说明

0, 退出管理系统

3.计算学生的总成绩.

4.按学号,各科成绩,总分排序输出学生成绩表

.

二.设计目的

根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.

三.总体设计

根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.

四.程序总结

满足专周程序设计要求,程序抗干扰性强。

程序版本1-20添加功能,以及相应模块。

程序版本21-29修复BUG,以及界面UI调节。

五.详细设计

1.主函数(以及其它界面UI函数):

主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择.其他界面UI函数和主函数类似。

流程图:

显示一系列功能模块

N

输入n,判断n是否是0-7

Y

根据n的值调用各功能模块函数

2.录入功能int entry();

单独输入各项信息,有益于提示用户操作情况。

将输入的信息存储在全局变量中,有益于对数据进行操作。

3.查询模块int check(int);

传入查询参数,根据参数返回学生序号

4.删除模块int del(int);

先调用查询模块返回学生序号,根据序号删除学生,并返回删除执行情况

5.修改模块(集成于void change_ui();)

先调用查询模块返回学生序号,再根据序号执行删除功能,最后执行录入功能

6.排序功能void sort(float *,int,int);

对某一科逐个排序,同时对学生信息排序,排序完成,重新写入文件。

7.输出功能int pscore(int);

传入学生序号,根据序号输出学生信息。

六.程序原代码

注释:源代码下载地址/mywork/

/********************************/

/***成绩管理系统,软件版本29 ***/

/******* 班上学号150603236 *****/

/*** 此版本修复各种BUG ***/

/********************************/

#include

#include

#include

int pscore(int);//成绩输出功能

void menu();//主界面菜单

void entry_ui();//录入界面

int entry();//录入功能

void check_ui();//查看界面

int check(int);//查看功能

void change_ui();//修改成绩界面

void del_ui();//删除界面

int del(int);//删除功能

void sort_ui();//排序界面

void sort(fl oat *,int,int);//排序功能(仅数据)

void defs();//写入程序自带成绩,五个成绩

void dscreen();//清屏函数,清空缓存区,再输出当前学生数

int dask();//是否执行操作判断

void about();//关于本程序

struct student

{

char name[20];

int id;

fl oat chinese;

fl oat math;

fl oat english;

fl oat sum;

fl oat average;

}P[101];

fl oat sa[101];//临时储存浮点型数据(排序使用)

void main()

{

whil e(1)

{

menu();

}

}

void menu()//菜单界面

{

dscreen();

printf("**************************\n");

printf("*** 学生成绩管理系统***\n");

printf("*** 1,录入学生成绩***\n");

printf("*** 2,查看学生成绩***\n");

printf("*** 3,修改学生成绩***\n");

printf("*** 4,删除学生成绩***\n");

printf("*** 5,学生成绩排序***\n");

printf("*** 6,写入五个默认成绩***\n");

printf("***7,查看本程序开发说明***\n");

printf("*** 0,退出管理系统***\n");

printf("**************************\n");

int n;

scanf("%d",&n);

fflush(stdin);

switch(n)

{

case 0:exit(0);break;

case 1:entry_ui();break;

case 2:check_ui();break;

case 3:change_ui();break;

case 4:del_ui();break;

case 5:sort_ui();break;

case 6:defs();break;

case 7:about();break;

default:

printf("提示(主界面):输入错误,按任意键继续。\n");

fflush(stdin);

getchar();

}

}

void entry_ui()//成绩录入界面

{

whil e(1)

{

相关文档
最新文档