教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

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

来源:网络收集 时间:2025-09-17
导读: 计算机系课JAVA大作业报告纸 目录 ——学生成绩管理程序 题目要求 ··················· 2 设计目的 ··················· 2 总体设计 ··················· 3 详细设计 ·············

计算机系课JAVA大作业报告纸

目录

——学生成绩管理程序

题目要求 ··················· 2

设计目的 ··················· 2

总体设计 ··················· 3

详细设计 ··················· 3

调试与测试 ················· 12

源程序 ··················· 14

总结 ··················· 30

学生成绩管理程序

第 - 1 - 页 共 30 页

计算机系课JAVA大作业报告纸

一. 题目要求

1. 问题描述:

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

2. 要求:

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

(2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出

3. 计算学生的总成绩.

4. 按学号排序输出全班学生成绩表 .

二. 设计目的

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

三. 总体设计

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

第 - 2 - 页 共 30 页

计算机系课JAVA大作业报告纸

学生成绩管理系统 数据输入

数据显示 数据修改 数据删除 数据查找 四. 详细设计

1. 主函数:

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

流程图:

显示一系列功能模块

N 输入n,判断n是否是A--F

Y

根据n的值调用各功能模块函数 [程序]:

//#include \int menu_select() {

char c;

printf(\

printf(\增加学生记录 5.统计信息 |\\n\ printf(\查询学生记录 6.打开文件 |\\n\ printf(\修改学生记录 7.保存文件 |\\n\ printf(\学生纪录排序 8.显示记录 |\\n\ printf(\退出系统 |\\n\ printf(\

printf(\请选择(0-8):\ c=getchar(); getchar();

return (c-'0'); }

2. 输入模块:

第 - 3 - 页 共 30 页

计算机系课JAVA大作业报告纸

[分析]:

单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理.

如果要存放若干学生信息就用结构体数组:

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(\请输入各科成绩:(按“语文,数学,英语,历史,政治”的顺序):\

第 - 4 - 页 共 30 页

计算机系课JAVA大作业报告纸

stud[i].score=0;

for(j=0;j

scanf(\计算总分*/ stud[i].score+=stud[i].subject[j]; }

stud[i].average=stud[i].score/numsubs; /*计算平均分*/ }

count(stud); /*附名次*/ display(stud,0,numstus-1); getchar(); }

int numstus; int lens;

student *pointer; void main() {

int i=1; char str[2]; lens=100;

pointer=(student *)malloc(lens*LEN); /*分配内存*/ numstus=0;

welcome(); /*欢迎界面*/ while(i>0) {

i=menu_select(); /*控制菜单*/ switch(i) {

case 1:addrecord(pointer);break; /*增加学生信息*/ case 2:findrecord(pointer);break; /*查询学生信息*/ case 3:amendrecord(pointer);break; /*修改学生信息*/ case 4:sort(pointer);break; /*学生信息排序*/ case 5:statistic(pointer);break; /*统计信息*/ case 6:openfile(pointer);break; /*打开文件*/ case 7:writetotext(pointer);break; /*保存文件*/

case 8:display(pointer,0,numstus-1);break; /*显示记录*/ case 0:

if(numstus!=0) printf(\是否保存当前记录?(y/n)\ gets(str);

if(str[0]=='y'||str[0]=='Y') writetotext(pointer); i=-1;break; /*退出系统*/

default:printf(\请输入数字0~8:\\n\输入错误*/ }

第 - 5 - 页 共 30 页

…… 此处隐藏:987字,全部文档内容请下载后查看。喜欢就下载吧 ……
c语言课程设计学生成绩管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/446908.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)