2021年4月16日更新:C语言课程设计目的、基本要求及实例代码介绍

更新时间为2021年4月16日,15时23分00秒,作者是Waterpaddler 。
这篇文章主要介绍了C语言完成学生管理系统,且不用链表,本文借助实例代码进行了详细介绍,对大家的学习或工作有一定参考借鉴价值,有需要的朋友可以参考
目录
1.课程设计目的
能更深入地领会C语言的相关实现要点,对理解C语言有更大的助力。
2.实现更方便快捷的应用。
2.基本要求
每组要完成1个题目的设计,每人需独立完成该题目的一个功能模块的实现,然后把课程设计报告打印出来并装订好提交。
编制程序要使用标准C语言,源代码书写格式必须采用锯齿型,必须经过上机调试且通过,运行界面要友好,要易于操作。
(3).输出要求:
1)
应用程序正常运行后,要在屏幕上显示一个文字菜单;
2)
当要求用户输入数据时,要给出清晰且明确的提示信息,这些提示信息涵盖输入的数据内容,以及输入的数据格式等 。
为各项操作功能设计一个菜单,应用程序运行后,先将这个菜单显示出来,之后用户通过菜单项选择希望进行的操作项目。
(4).必须实现所要求的全部功能。
课程设计要求独立去完成,不可以进行抄袭。要是发现有抄袭行为,那么成绩都会被记为零分。
3.任务完成情况
能够借助程序达成学生信息的添加功能,实现学生信息的删除功能,达成学生信息的显示功能,完成学生信息的查找功能,以及实现学生信息的修改功能。
2.通过非链表的方式运用结构体的方法编写程序。
4.设计报告4.1需求分析
4.1.1用户需求分析
能够快速找出输入学生的全部信息,能够精准找出某个学生的所有信息,需要准确修改某个学生的成绩。
4.2概要设计
1.增加信息。
2.显示信息。
3.查找信息。
4.删除信息。
5.修改信息。
4.3详细设计
4.3.1程序流程图
4.4详细代码
4.4.1结构体定义
定义了一个结构体变量,结构体中有一个字符数组用来表示姓名,还有一个整型变量 (你提供的内容不完整,请补充完整以便准确改写)
stu_id,用于表示学号,double stu_math,代表高数成绩,double
大学英语成绩,用stu_english表示, } 学生
4.4.2主函数
#include#include #include #include
4.4.3初始化函数
定义了学生数组student all_stu[10],定义了整型变量stu_number并初始化为0,进入主函数main()
4.4.4显示菜单函数
声明一个名为first的无返回值函数,此为一号条件,声明一个名为secend的无返回值函数,此为二号条件,声明一个名为third的无返回值函数,此为三号条件;
你提供的内容似乎不完整且存在乱码等问题,无法准确按照要求进行改写,请补充完整准确的内容。
printf("\t\t=学生成绩管理系统\n");
printf("\t\t*
输入学生成绩,查找学生成绩,显示所有成绩,删除学生成绩,修改学生成绩,退出管理系统,输出“=========================================”
输出制表符制表符“输入你的选项:”,从标准输入读取一个整数存入变量q,根据变量q的值进行分支判断,当q的值为1时
first();
printf(“按任意键回菜单”);
getchar();
system(“cls”);//表示转移号
break; case 2:
secend();
getchar();
printf(“按任意键回菜单”);
getchar();
system(“cls”);
break; 当条件为3时执行third函数,执行getchar函数,输出请按任意键返回主菜单,再次执行getchar函数,执行system(“cls”)函数进行清屏,然后break;
情况4:执行第四个函数;获取一个字符;打印“按任意键返回主菜单”并换行。
获取一个字符,执行清屏操作,跳出循环,当情况为5时
fifth();
getchar();
printf("\n按任意键回主菜单\n");
getchar();
system(“cls”);
break; } }while(q); return 0;
4.4.5显示各个功能函数
4.4.5.1增加信息
void first()
{
thefirst:
system("cls");
打印输出“************输入学生信息**********”
printf("\n\n");
int cw,temp,hh;
char op;
stu_number++;
printf("\n>>>>>>>>请输入姓名: ");
输入一个字符串,存入数组 all_stu 中索引为 stu_number 的元素的 stu_name 成员里 。
printf("\n>>>>>>>>请输入学号: ");
scanf("%d",&temp);
将所有学生信息数组中对应学生编号的学生ID设为临时变量的值 。
getchar();//接收一个空格
打印换行符,输出“>>>>>>请输入高等数学成绩(小于等于100):”
使用scanf函数,读取一个双精度浮点数,并存入all_stu数组中stu_number下标的学生的数学成绩中 。
如果所有学生中编号为stu_number的学生的数学成绩大于100 ,
{
打印提示信息,告知输入有误,提示需输入正确的成绩信息,并提示按(Y)重新输入:
getchar();
cw = getchar();
if (cw =='y'|| cw =='Y')
goto thefirst;
}
输出换行符,打印“请输入大学英语成绩(小于等于100):”
使用scanf函数,以%lf的格式,从标准输入读取数据,存储到all_stu数组中stu_number下标的元素的stu_english成员变量中 。
如果所有学生中,学号为stu_number的学生的英语成绩大于100 ,
{
printf("输入有误,请输入正确的成绩信息,请按(Y)重新输入: ");
getchar();//接收Y
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefirst;
}
thefirstone:
输出换行内容,询问是否继续输入,如果是请按(Y),如果否请按(N):
getchar();
scanf("%c", &op);
if (op == 'y' || op == 'Y')
goto thefirst;
if (op == 'n' || op == 'N')
goto thefirstend;
else
goto thefirstone;
getchar();
thefirstend:;
getchar();//输入任意数结束
}
4.4.5.2查找信息
void fourth()
{
thefourth:
system("cls");
打印换行符,打印多个换行符,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印删除学生成绩,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印星号,打印换行符,打印换行符,打印换行符,打印换行符。
int num,cw,cx,ai,i=0;
char op;
输出换行符,打印“请输入要查找学生的学号: ”
scanf("%d",&num);
for (ai=1;ai<=stu_number;ai++)
{
if (num==all_stu[ai].stu_id)
{
i=1;
break;
}
}
if (i==0)
{
printf("未查找到要删除的学生信息,是否要重新输入,如需要重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefourth;//回到开始
if (cw == 'n' || cw == 'N')
goto thefourthend;//回到结尾
}
else
{
stu_number--;//人数减一
for (;ai
4.4.5.3显示信息
void third() { 进入thethird: 执行system("cls"); }
打印换行,打印星号,打印显示学生信息,打印星号
定义一个整型变量n并赋值为1,输出换行符,输出“>>>姓名”,输出制表符,输出“学号”,输出制表符,输出“高等数学”
输出制表符“大学英语”,//对于(n 从 0 开始;n输出换行符,输出">>"加上所有学生中第n个学生的姓名,输出制表符,输出所有学生中第n个学生的某个数值(原句此处不完整)
输出所有学生的学号,输出所有学生的数学成绩,保留两位小数 。
输出制表符,格式化输出两位小数的全体学生英语成绩,自增n,使用while循环判断条件
> (n<=stu_number); }
4.4.5.4删除信息
void fourth()
{
thefourth:
system("cls");
printf("\n\n\n\n********************删除学生成绩**********************");
int num,cw,cx,ai,i=0;
char op;
printf("\n>>>>>>>>请输入要查找学生的学号: ");
scanf("%d",&num);
for (ai=1;ai<=stu_number;ai++)
{
if (num==all_stu[ai].stu_id)
{
i=1;
break;
}
}
if (i==0)
{
printf("未查找到要删除的学生信息,是否要重新输入,如需要重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefourth;//回到开始
if (cw == 'n' || cw == 'N')
goto thefourthend;//回到结尾
}
else
{
stu_number--;//人数减一
for (;ai
4.4.5.5修改信息
void fifth()//修改成绩
{
thefifth:
system("cls");
打印输出“**************************修改学生成绩*************************”
printf("\n\n");
定义整型变量num、cw、cx、ai、i,初始值为0,还有整型变量cy、temp
char op;
printf("\n>>>>>>>>请输入要查找学生的学号: ");
scanf("%d", &num);
for (ai=1; ai<=stu_number; ai++)
{
if (num ==all_stu[ai].stu_id)
{
i = 1;
break;
}
}
if (i == 0)
{
printf("未查找到要修改的学生信息,重新输入按Y,返回主菜单按N ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifth;
if (cw == 'n' || cw == 'N')
goto thefifthend;
}
else
{
printf("***********************************************************************");
printf("\n*姓名___: ");
printf("%s", all_stu[ai].stu_name);
printf("\n*学号___: ");
printf("%d", all_stu[ai].stu_id);
printf("\n*高数成绩: ");
printf("%.2lf", all_stu[ai].stu_math);
printf("\n*大学英语成绩: ");
printf("%.2lf",all_stu[ai].stu_english);
printf("\n*********************************************************************");
}
getchar();
printf("\n\n是否确认修改此学生成绩信息?(注:修改后将不可还原)如需修改请按Y,如不需修改学生信息请安N返回主菜单: ");
thefifthone:
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
if (cw == 'n' || cw == 'N')
goto thefifthend;
else
goto thefifthone;
thefifthtwo:
system("cls");
printf("\n>>>>>>>>请输入姓名: ");
读取一个字符串,将其存储到 all_stu 数组中索引为 ai 的元素的 stu_name 成员里 。
printf("\n>>>>>>>>请输入学号: ");
scanf("%d",&temp);
all_stu[ai].stu_id = temp;
getchar();
for (cy = 0; cy < ai; cy++)
{
if (all_stu[ai].stu_id == all_stu[cy].stu_id)
{
printf("学号输入错误,如需重新输入请按(Y)退出请按(N)");
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
else
goto thefifthend;
}
}
printf("\n>>>>>>>>请输入第一门成绩(小于100): ");
使用scanf函数,以%lf的格式,读取数据并存储到all_stu数组中索引为ai的元素的stu_math成员中 。
如果所有学生中第ai个学生的数学成绩大于100 ,
{
printf("输入有误,请按(Y)重新输入: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
}
输出换行符,打印提示信息“请输入第二门成绩(小于100): ”
使用scanf函数,以%lf的格式,读取数据存入all_stu数组中ai位置的学生的英语成绩,其中&all_stu[ai].stu_english表示该成绩的存储地址。
如果所有学生中第ai个学生的英语成绩大于100 ,
{
printf("输入有误,请按(Y)重新输入: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
}
printf("\n\n");
输出换行,显示“OK此学生成绩信息已修改完成,感谢您的使用。”
thefifthfanhui:
getchar();
打印换行,输出“成绩信息已修改,是否继续?”,输出“需要请按Y,如不需要请按Y,将返回主菜单: ”
scanf("%c", &op);
if (op == 'y' || op == 'Y')
goto thefifth;
if (op == 'n' || op == 'N')
goto thefifthend;
else
goto thefifthfanhui;
thefifthend:;
}
4.5使用说明
本代码比较简单易懂,蒟蒻也能看懂。
4.6测试结果与分析
主界面如图:
输入信息图示:
查找信息如图:
显示所有信息如图:
删除学生信息:
修改学生信息如图:
4.7参考文献
【1】c语言从入门到精通2020版。
5体会与感想
学习的过程十分漫长,需要依靠自己慢慢摸索,要在这个过程中总结出经验,这才是学习中最重要的事情。
6附录
附录
#include
#include
#include
#include
int sum;
typedef struct//定义了一个结构体变量
{
char stu_name[10]; //表示姓名
int stu_id; //表示学号
double stu_math; //高数成绩
double stu_english; //大学英语成绩
} student;
student all_stu[10];
int stu_number=0;//定义了学生的人数
int main()
{
void first();//一号条件
void secend();//二号条件
void third();//三号条件
void fourth();//四号条件
void fifth();
int q;
do
{
printf("\n\n\n\n");
打印输出“ =====================学生成绩管理系统=================”,换行制表符缩进
打印出“ * *”,且每个“*”之间有多个空格,最后换行
打印输出,制表符,制表符,星号,空格,数字1,句号,输入,学生成绩,句号,星号,换行
打印出,制表符制表符星号空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格空格
打印输出,制表符制表,星号,空格,3. 显示所有成绩,星号,换行符
打印输出,制表符制表,星号,空格,4. 删除学生成绩,星号,换行符
打印输出“ * 5. 修改学生成绩 *” ,其中“ * ”和“ *”之间是“5. 修改学生成绩” 。
打印输出“\t\t* 0. 退出管理系统 *\n”
打印输出“ * 欢迎使用! *”,其中“ * 欢迎使用! *”前有制表符\t\t
打印输出“=======================================================\n”,且以制表符开头
printf("\t\t输入你的选项:");
scanf("%d",&q);
switch(q)
{
case 1:
first();
printf("按任意键回菜单");
getchar();
system("cls");//表示转移号
break;
case 2:
secend();
getchar();
printf("按任意键回菜单");
getchar();
system("cls");
break;
case 3:
third();
getchar();
printf("\n请按任意键返回主菜单\n");
getchar();
system("cls");
break;
case 4:
fourth();
getchar();
printf("\n按任意键返回主菜单\n");
getchar();
system("cls");
break;
case 5:
fifth();
getchar();
printf("\n按任意键回主菜单\n");
getchar();
system("cls");
break;
}
}while(q);
return 0;
}
void first()
{
thefirst:
system("cls");
打印输出,“********************************输入学生信息*********************************”
printf("\n\n");
int cw,temp,hh;
char op;
stu_number++;
printf("\n>>>>>>>>请输入姓名: ");
scanf("%s",all_stu[stu_number].stu_name);
printf("\n>>>>>>>>请输入学号: ");
scanf("%d",&temp);
all_stu[stu_number].stu_id=temp;
getchar();//接收一个空格
输出换行符,显示“请输入高等数学成绩(小于等于100):”
scanf("%lf",&all_stu[stu_number].stu_math);
if (all_stu[stu_number].stu_math> 100)
{
打印提示信息,告知输入有误,提示需输入正确的成绩信息,提示按(Y)重新输入:
getchar();
cw = getchar();
if (cw =='y'|| cw =='Y')
goto thefirst;
}
printf("\n>>>>>>>>请输入大学英语成绩(小于等于100):");
scanf("%lf", &all_stu[stu_number].stu_english);
if (all_stu[stu_number].stu_english> 100)
{
printf("输入有误,请输入正确的成绩信息,请按(Y)重新输入: ");
getchar();//接收Y
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefirst;
}
thefirstone:
printf("\n是否继续输入,如是请按(Y),否请按(N): ");
getchar();
scanf("%c", &op);
if (op == 'y' || op == 'Y')
goto thefirst;
if (op == 'n' || op == 'N')
goto thefirstend;
else
goto thefirstone;
getchar();
thefirstend:;
getchar();//输入任意数结束
}
void secend()
{
thesecend:
system("cls");
打印换行,然后打印“**************************查找学生成绩*************************”
int data,cw,j,flag=0;
char op;
输出换行符,打印“>>>>>>>>请输入要查找学生的学号:”
scanf("%d",&data);
for (j=1;j<=stu_number;j++)
{
if(data==all_stu[j].stu_id)
{
flag=1;
break;
}
}
if (flag==0)
{
printf("未查找到此学号,重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
getchar();
cw=getchar();
if (cw=='y'||cw=='Y')
goto thesecend;
if (cw == 'n' || cw == 'N')
goto thesecendend;
}
else
{
for(j=1;j<=stu_number;j++){
printf("\n***********************************************");
printf("\n*姓名___: ");
printf("%s",all_stu[j].stu_name);
printf("\n*学号___: ");
printf("%d",all_stu[j].stu_id);
printf("\n*高数_: ");
printf("%.2lf", all_stu[j].stu_math);
printf("\n*大学英语_: ");
printf("%.2lf", all_stu[j].stu_english);
printf("\n************************************************");
}
}
thesecendone:
getchar();
printf("\n输入错误,是否继续查阅?\n需要按(Y),如不需要按(N),将返回主界面:");
scanf("%c",&op);
if (op =='y' || op =='Y')
goto thesecend;
if (op =='n' || op =='N')
goto thesecendend;
else
goto thesecendone;
thesecendend:;
}
void third()
{
thethird:
system("cls");
printf("\n\n*********************显示学生信息******************************");
int n=1;
printf("\n\n>>>姓名");
printf("\t学号");
printf("\t高等数学");
printf("\t大学英语");
//for (n=0;n>%s", all_stu[n].stu_name);
输出制表符,后跟变量 all_stu 中索引为 n 的学生的学号,以十进制整数形式显示,中间用逗号隔开。
输出制表符,输出保留两位小数的,全体学生中第n个学生的数学成绩
输出制表符,保留两位小数输出,输出全体学生中第n个学生的英语成绩 。
n++;
} while (n<=stu_number);
}
void fourth()
{
thefourth:
system("cls");
printf("\n\n\n\n********************删除学生成绩**********************");
int num,cw,cx,ai,i=0;
char op;
printf("\n>>>>>>>>请输入要查找学生的学号: ");
scanf("%d",&num);
for (ai=1;ai<=stu_number;ai++)
{
if (num==all_stu[ai].stu_id)
{
i=1;
break;
}
}
if (i==0)
{
printf("未查找到要删除的学生信息,是否要重新输入,如需要重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefourth;//回到开始
if (cw == 'n' || cw == 'N')
goto thefourthend;//回到结尾
}
else
{
stu_number--;//人数减一
for (;ai>>>>>>>请输入要查找学生的学号: ");
scanf("%d", &num);
for (ai=1; ai<=stu_number; ai++)
{
if (num ==all_stu[ai].stu_id)
{
i = 1;
break;
}
}
if (i == 0)
{
printf("未查找到要修改的学生信息,重新输入按Y,返回主菜单按N ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifth;
if (cw == 'n' || cw == 'N')
goto thefifthend;
}
else
{
printf("***************************************************************************");
printf("\n*姓名___: ");
printf("%s", all_stu[ai].stu_name);
printf("\n*学号___: ");
printf("%d", all_stu[ai].stu_id);
printf("\n*高数成绩: ");
printf("%.2lf", all_stu[ai].stu_math);
printf("\n*大学英语成绩: ");
printf("%.2lf",all_stu[ai].stu_english);
printf("\n***************************************************************************");
}
getchar();
printf("\n\n是否确认修改此学生成绩信息?(注:修改后将不可还原)如需修改请按Y,如不需修改学生信息请安N返回主菜单: ");
thefifthone:
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
if (cw == 'n' || cw == 'N')
goto thefifthend;
else
goto thefifthone;
thefifthtwo:
system("cls");
printf("\n>>>>>>>>请输入姓名: ");
scanf("%s", all_stu[ai].stu_name);
printf("\n>>>>>>>>请输入学号: ");
scanf("%d",&temp);
all_stu[ai].stu_id = temp;
getchar();
for (cy = 0; cy < ai; cy++)
{
if (all_stu[ai].stu_id == all_stu[cy].stu_id)
{
printf("学号输入错误,如需重新输入请按(Y)退出请按(N)");
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
else
goto thefifthend;
}
}
printf("\n>>>>>>>>请输入第一门成绩(小于100): ");
scanf("%lf", &all_stu[ai].stu_math);
if (all_stu[ai].stu_math > 100)
{
printf("输入有误,请按(Y)重新输入: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
}
printf("\n>>>>>>>>请输入第二门成绩(小于100): ");
scanf("%lf", &all_stu[ai].stu_english);
if (all_stu[ai].stu_english > 100)
{
printf("输入有误,请按(Y)重新输入: ");
getchar();
cw = getchar();
if (cw == 'y' || cw == 'Y')
goto thefifthtwo;
}
printf("\n\n");
printf("\n OK 此学生成绩信息已修改完成,感谢您的使用。");
thefifthfanhui:
getchar();
打印“成绩信息已修改,是否继续?”,打印“需要请按Y,如不需要请按Y,将返回主菜单: ”
scanf("%c", &op);
if (op == 'y' || op == 'Y')
goto thefifth;
if (op == 'n' || op == 'N')
goto thefifthend;
else
goto thefifthfanhui;
thefifthend:;
}
by:一个刚刚学习c语言的大学生~~
到此,这篇关于C语言不用链表完成学生管理系统(完整代码)的文章就介绍完了 ,更多相关C语言学生管理系统内容 ,请搜索脚本之家以前的文章 ,或继续浏览下面的相关文章 ,希望大家以后多多支持脚本之家!