发布时间 : 星期四 文章(桂电)学生成绩管理系统(论文加源代码) 数据结构与算法课设(C语言)更新完毕开始阅读c3cf3d1743323968011c9265
char sign_main; //定义sign_main接收用户对是否离开程序的选择
char sign_input; //定义sign_main接收用户对是否继续输入的选择
int i; //定义i,j作为控制循环的变量
while (1) //形成一个死循环 {
system(\设置输出显示颜色
/*输出主选菜单*/
printf(\欢迎使用班级成绩管理系统============================\\n\\n\
printf(\请选择您要使用的功能==============================\\n\\n\
printf(\◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆-\\n\ printf(\★※★\\t\\t 1:班级成绩录入 ★※★\\n\\n\ printf(\★※★\\t\\t 2:班级成绩显示 ★※★\\n\\n\ printf(\★※★\\t\\t 3:班级成绩统计 ★※★\\n\\n\ printf(\★※★\\t\\t 4:班级成绩查询 ★※★\\n\\n\ printf(\★※★\\t\\t 5:班级成绩修改 ★※★\\n\\n\ printf(\★※★\\t\\t 6:班级成绩表 ★※★\\n\\n\ printf(\★※★\\t\\t 7:班级成绩存档 ★※★\\n\\n\ printf(\★※★\\t\\t 8:班级成绩读入 ★※★\\n\\n\ printf(\★※★\\t\\t 0:退出 ★※★\\n\\n\ printf(\◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆-\
printf(\=====\
/*输入对菜单的选择*/ do {
flag_main = 0;
printf(\请您选择需要的操作(0-6):\ fflush(stdin);
a = scanf(\ if (a<2 || judge != '\\n') {
printf(\您的选择有误,请重新输入!\\n\ flag_main--; }
}while (flag_main < 0); printf(\
system(\令屏幕暂停待输入任意键后恢复运行 system(\清屏
system(\设置输出显示颜色
switch (choice) //把用户对主菜单的选择作为switch结构的判断条件 {
case (1):
printf(\请录入学生信息:\\n\
i=0; //循环前对i清零 do {
16
if (count+i == 50) {
break; }
input_num(stu, count, i); //输入学号 input_name(stu, count, i); //输入姓名
input_score(stu, count, i); //录入成绩及总成绩平均成绩 i++; //每录入一个学员信息i加1
printf(\还需要继续录入吗?(Y/N)\产生是否继续录入的条件*/
fflush(stdin);
sign_input = getchar();
}while(sign_input == 'y' || sign_input== 'Y' ); //判断
count=count+i; //计算出本次录入后总的已录入成员个数
printf(\ break; case (2):
/* printf(\显示班级成绩信息:\\n\
printf(\---------\
printf(\学号\\t\\t姓名\\t\\t数据库\\t算法\\tC语言\\t总成绩\\t平均成绩\/*格式化输出提示信息*/
printf(\学生信息表\\n\
printf(\
printf(\┏━━━━━━┳━━━━━━━━┳━━━┳━━━┳━━━┳━━━┳━━━━━┓\\n\
printf(\┃学号 ┃ 姓名 ┃数据库┃ 算法 ┃ C语言┃总成绩┃ 平均成绩 ┃\\n\
printf(\┣━━━━━━╋━━━━━━━━╋━━━╋━━━╋━━━╋━━━╋━━━━━┫\\n\
for (i = 0; i < count; i++) /*循环输出学员信息*/ {
output_stu(stu, count, i); //输出单个学员信息 }
printf(\┗━━━━━━┻━━━━━━━━┻━━━┻━━━┻━━━┻━━━┻━━━━━┛\\n\ break; case (3):
while (stat_choice != 4) /*循环统计直到用户选择退出结束*/ {
printf(\数据库\\n\ printf(\算法\\n\ printf(\语言\\n\ printf(\平均成绩\\n\ printf(\结束统计\\n\
printf(\请选择成绩统计的项目\
17
fflush(stdin);
flag_stat = scanf(\接收用户选择并返回值给flag_stat*/
if (flag_stat == 2 && a == '\\n') /*如果成功接收用户选择则根据选择进行统计若选择有误提示重新输入*/ {
if (stat_choice == 0) /*根据选择0进行统计*/ {
desc_stu(stu, count, stat_choice); stat_stu(stu, count, stat_choice); }
else if (stat_choice == 1) /*根据选择1进行统计*/ {
desc_stu(stu, count, stat_choice); stat_stu(stu, count, stat_choice); }
else if (stat_choice == 2) /*根据选择2进行统计*/ {
desc_stu(stu, count, stat_choice); stat_stu(stu, count, stat_choice); }
else if (stat_choice == 3) /*根据选择3进行统计*/ {
desc_stu(stu, count, stat_choice); stat_stu(stu, count, stat_choice); }
else if (stat_choice == 4) /*选择4则break循环退出*/ {
break; }
else /*其它错误选择提示重新输入*/ {
printf(\您的输入有误,请重新输入!\ } }
else /*若没成功接收用户选择则提示重新输入*/
{
printf(\您的输入有误,请重新输入!\ } }
stat_choice =getchar(); //每次循环结束stat_choice归0
printf(\ break;
case (4):
flag_find = find_stu(stu, count); //实现用户的查找功能
/*根据查找函数的返回值为用户显示查找的信息*/
if (flag_find > 0) /*返回值大于0,用户选择的是姓名查找方式*/ {
printf(\学号\\t\\t姓名\\t\\t数据库\\t算法\\tC语言\\t总成绩\\t平均成绩\\n\
output_stu(stu, count, flag_find-1);
18
printf(\-----------\ }
else if (flag_find == 0) /*查找失败返回失败信息*/ {
printf(\对不起没有找到您的成绩!\\n\ }
else /*返回值大于0,用户选择的是学号查找方式*/ {
printf(\学号\\t\\t姓名\\t\\t数据库\\t算法\\tC语言\\t总成绩\\t平均成绩\\n\
output_stu(stu, count, -flag_find-1);
printf(\-----------\ }
break; case (5):
flag_find = find_stu(stu, count); //实现用户的查找功能
/*根据查找函数的返回值为用户显示查找的信息*/
if (flag_find > 0) /*返回值大于0,用户选择的是姓名查找方式*/ {
printf(\学号\\t\\t姓名\\t\\t数据库\\t算法\\tC语言\\t总成绩\\t平均成绩\\n\
output_stu(stu, count, flag_find-1);
printf(\-----------\ }
else if (flag_find == 0) /*查找失败返回失败信息*/ {
printf(\对不起没有找到您的成绩!\\n\ }
else /*返回值大于0,用户选择的是学号查找方式*/ {
printf(\学号\\t\\t姓名\\t\\t数据库\\t算法\\tC语言\\t总成绩\\t平均成绩\\n\
output_stu(stu, count, -flag_find-1);
printf(\-----------\ }
if (flag_find != 0) /*查找成功的情况下用户可选择修改或删除操作*/ {
fflush(stdin);
man_choice = getchar(); /*接收用户选择是否进行下一步操作*/
while (man_choice) /*判断用户的选择*/ {
printf(\修改\\n\ printf(\删除\\n\ printf(\退出\\n\
printf(\请选择您的操作\
19