当前位置:首页 > c语言课程设计学生成绩管理系统
目录
题目要求
设计目的
总体设计
详细设计
调试与测试
源程序
总结
——学生成绩管理程序
·················· 2 ·················· 2 ·················· 3 ·················· 3 ················· 12 ·················· 14 ·················· 30
学生成绩管理程序
···· ··
一. 题目要求
1. 问题描述:
对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放.
2. 要求:
(1)一个文件按以班为单位存储学生记录.
(2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出
3. 计算学生的总成绩.
4. 按学号排序输出全班学生成绩表 .
二. 设计目的
根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.
三. 总体设计
根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.
学生成绩管理系统 数据输入
数据显示 数据修改 数据删除 数据查找 四. 详细设计
1. 主函数:
主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择.
流程图:
显示一系列功能模块
N 输入n,判断n是否是A--F
Y
根据n的值调用各功能模块函数 [程序]:
增加学生记录 5.统计信息 |\\n\
printf(\查询学生记录 6.打开文件 |\\n\ printf(\修改学生记录 7.保存文件 |\\n\ printf(\学生纪录排序 8.显示记录 |\\n\ printf(\退出系统 |\\n\ printf(\
printf(\请选择(0-8):\ c=getchar(); getchar();
return (c-'0'); }
2. 输入模块:
[分析]:
单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理.
如果要存放若干学生信息就用结构体数组:
void addrecord(student stud[]) {
int i=0,j,num; char str[5]; if(numstus!=0) {
printf(\已有记录存在是否覆盖?(y/n)\\n\ gets(str);
if(str[0]=='Y'||str[0]=='y') i=0;
else i=numstus; }
printf(\请输入增加的学生信息条目数:\ scanf(\ if(i==0)
numstus=num;
else numstus+=num; if(numstus>lens) {
lens+=50;
pointer=(student *)realloc(pointer,lens*LEN); }
printf(\请输入学生信息:\\n\ for(;i getchar(); printf(\请输入学号:\ gets(pointer[i].number); printf(\请输入姓名:\ gets(pointer[i].name); printf(\请输入性别(男/女 1/0):\ gets(pointer[i].sex); if(pointer[i].sex[0]=='0') strcpy(pointer[i].sex,\女\ else strcpy(pointer[i].sex,\男\ printf(\请输入各科成绩:(按“语文,数学,英语,历史,政治”的顺序):\ stud[i].score=0; for(j=0;j scanf(\计算总分*/
共分享92篇相关文档