完整版C语言毕业课程设计 学生成绩管理系统.docx

上传人:b****3 文档编号:635451 上传时间:2022-10-11 格式:DOCX 页数:13 大小:25.13KB
下载 相关 举报
完整版C语言毕业课程设计 学生成绩管理系统.docx_第1页
第1页 / 共13页
完整版C语言毕业课程设计 学生成绩管理系统.docx_第2页
第2页 / 共13页
完整版C语言毕业课程设计 学生成绩管理系统.docx_第3页
第3页 / 共13页
完整版C语言毕业课程设计 学生成绩管理系统.docx_第4页
第4页 / 共13页
完整版C语言毕业课程设计 学生成绩管理系统.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

完整版C语言毕业课程设计 学生成绩管理系统.docx

《完整版C语言毕业课程设计 学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《完整版C语言毕业课程设计 学生成绩管理系统.docx(13页珍藏版)》请在冰豆网上搜索。

完整版C语言毕业课程设计 学生成绩管理系统.docx

完整版C语言毕业课程设计学生成绩管理系统

课程设计报告

课程名称C语言课程设计

课题名称成绩管理系统

专业

班级

学号

姓名

指导教师

20``年``月``日

湖南工程学院

课程设计任务书

课程名称C语言课程设计

课题成绩管理系统

专业班级

学生姓名

学号

指导老师

任务书下达日期0000年0月0日

任务完成日期0000年0月00日

C语言课程设计任务书

设计课题1:

成绩管理系统

问题描述:

成绩管理系统主要管理学生考试成绩的基本信息。

在系统中,每个学生是一条记录,包括姓名、学号、所选课程,而每个学生对应课程有相应成绩。

系统要对一个有N个学生的班级所选课程成绩统一进行管理。

包括了学生成绩的录入、显示、修改、排序、保存等操作。

1、功能设计要求:

1)本系统采用两个结构体数组进行数据存储。

学生结构体应该包括学生的基本信息(学号、姓名、所选课程),课程结构包括各项课程的基本信息(所选的各门课程对应的成绩)

2)设计主菜单界面,确定函数个数。

设计菜单应包含以下功能:

Ø录入信息(学生基本信息录入、课程成绩基本信息录入)

Ø显示(显示学生基本情况和所选课程成绩)

Ø修改信息(学生基本信息修改、成绩基本信息修改)

Ø成绩统计(各科成绩最高分,平均分)

Ø退出系统

3)要求:

建立两个结构体数组(或链表、文件),包括至少3门课程成绩和5个学生的必要信息,能对数据进行补充、修改。

执行一个具体的功能之后,程序将重新显示菜单。

3、要求:

1)用C语言实现系统;

2)函数功能要划分好(结构化程序设计);

3)界面友好(良好的人机交互),加必要的注释;

4)提供程序测试方案。

目录

一、系统介绍1

二、总体设计1

2.1程序模块1

2.2.函数分析1

2.3.总体结构2

三.主要模块的实现3

四.程序调试6

五.总结与体会13

六.源程序清单14

一、系统介绍

成绩管理系统主要管理学生考试成绩的基本信息。

在系统中,每个学生是一条记录,包括姓名、学号、所选课程,而每个学生对应课程有相应成绩。

系统要对一个有N个学生的班级所选课程成绩统一进行管理。

包括了学生成绩的录入、显示、修改、排序、保存等操作。

二、总体设计

2.1程序模块

主界面void)

通过对函数的调用实现录入、显示、修改、排序、保存等功能,有机的联系了所有的模块,是整个系统正常完整的运行。

主页面函数void()

{

inti,k=0;

charusername[15],pwd[6];

system("colorED");

printf("\n\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t★★★★★★★★★\n");

printf("\t★★★★欢迎使用学生成绩管理系统★★★★★\n");

printf("\t★★★★★★★★★\n");

printf("\t★★★★★★★★★\n");

printf("\t★★★★XXXXX★★★★★\n");

printf("\t★★★★★★★★★\n");

printf("\t★★★★XXXXXX★★★★★\n");

printf("\t★★★★★★★★★\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\n\t\t\t请按回车键继续!

\n");

getchar();

system("cls");

;

printf("\n\n");

printf("\t\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t\n");

printf("\t1.显示成绩\n");

printf("\t\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t\n");

printf("\t2.录入成绩\n");

printf("\t\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t\n");

printf("\t3.删除记录\n");

printf("\t\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t\n");

printf("\t4.排序\n");

printf("\t\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t\n");

printf("\t0.退出程序\n");

printf("\t\n");

printf("\t★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("\t\n");

while((n!

='1')&&(n!

='2')&&(n!

='3')&&(n!

='4')&&(n!

='0'))

{

printf("\n请选择:

");

fflush(stdin);函数清空

scanf("%c",&n);

switch(n)

{

case'1':

display();

break;

case'2':

if(count<10)

input();

else

{

printf("记录数已满\n");

Sleep(2000);

system("cls");

");

}

}

}

voiddisplay()显示全部成绩函数

{

inti;

charc;

system("cls");

switch(sort_type)

{

case0:

printf("\t\t未排序:

\n\n");

break;

case1:

printf("\t\t按学号排序:

\n\n");

break;

case2:

printf("\t\t按成绩1排序:

\n\n");

break;

case3:

printf("\t\t按成绩2排序:

\n\n");

break;

case4:

printf("\t\t按成绩3排序:

\n\n");

break;

case5:

printf("\t\t按平均成绩排序:

\n\n");

break;

}

printf("\t学号\t姓名\t英语\t数学\t物理\t平均成绩\n");

for(i=0;i

{

printf("\t%d\t%s\t%5.2f\t%5.2f\t%5.2f\t%5.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg);

}

printf("\n\n按任意键返回\n");

c=getch();

system("cls");

");

scanf("%d",&stu[count].num);

numcheck=1;

if(stu[count].num<0)

printf("请输入正整数:

\n");

for(i=0;i

{

if(stu[count].num==stu[i].num)

{

numcheck=0;

printf("学号重复,重新输入:

\n");

}

}

}while(!

numcheck);

printf("姓名:

\n");

fflush(stdin);

gets(stu[count].name);

for(i=0;i<3;i++)

{

printf("第%d门课成绩:

\n",i+1);

scanf("%f",&stu[count].score[i]);

}

stu[count].avg=(stu[count].score[0]+stu[count].score[1]+stu[count].score[2])3;

printf("是否继续输入(yn):

\n");

do

{

c=getchar();

if(c=='y'||c=='Y')

{

count++;

if(count<10)

input();

else

{

printf("记录数已满\n");

Sleep(2000);

system("cls");

");

scanf("%d",&del_num);

waiting();等待函数

for(i=0;i

{

if(stu[i].num==del_num)匹配输出

{

match=1;

for(j=i;j

stu[j]=stu[j+1];

}

}

if(!

match)

printf("没有要找的学号.\n");

printf("是否继续删除?

(yn)");

fflush(stdin);

do

{

c=getchar();

if(c=='y'||c=='Y')

{

count--;

del();删除记录

}

elseif(c=='n'||c=='N')

{

count--;

system("cls");

");

printf("\t1.按学号排序\n");

printf("\t2.按成绩1排序\n");

printf("\t3.按成绩2排序\n");

printf("\t4.按成绩3排序\n");

printf("\t5.按平均成绩排序\n");

do

{

scanf("%d",&choice);

}while((choice!

=1)&&(choice!

=2)&&(choice!

=3)&&(choice!

=4)&&(choice!

=5));

switch(choice)

{

case1:

按学号

{

for(i=0;i

{

for(j=0;j

{

if(stu[j].num>stu[j+1].num)

{

temp=stu[j];

stu[j]=stu[j+1];

stu[j+1]=temp;

}

}

}

sort_type=1;

break;

}

case2:

{

for(i=0;i

{

for(j=0;j

{

if(stu[j].score[0]

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1