#include "stdio.h"
struct STUDENT ?
{ ???
????int no; ???
????char name[64]; ???
char sex; ???
????float score; ?
}data[1024];
int Menu(void);
int Add(void);
int Del(void);
int Change(void);
int Find(void);
int Quit(void);
int main()
{
????int no;
????while(1){
????????no= Menu();
????????switch(no)
????????{
????????????case 1:Add();break;
????????????case 2:Del();break;
????????????case 3:Change();break;
????????????case 4:Find();break;
????????????case 5:Quit();return 0;
????????}
????}
}
/*
菜单
参数:无
返回:输入的菜单选项
*/
int Menu(void)
{
????int no;
p1:
????printf("****************学生管理系统****************\n");
????printf("**************** 1 添加学生***************** ??\n");
????printf("**************** 2 删除学生***************** ????\n");
????printf("**************** 3 修改学生***************** ????\n");
????printf("**************** 4 查找学生***************** ????\n");
????printf("**************** ?5 ?退出 ??*********************\n ");
????printf("请输入选项:");
????
????scanf("%d",&no);
????if(no >= 1 && no <= 5)
????????return no;
????printf("输入有误,重新输入\n");
????goto p1;
}
int Add(void)
{
int a=0;
????printf("添加学生操作……\n");
????
????for(int i=0;i<1024;i++)
????{
????if(data[i].no==0)
????{
p2:
???? printf("请输入学生的学号:\n");
???? scanf("%d",&data[i].no);
???? if(data[i].no<=0)
???? {
???? ????printf("学号错误,请重新输入\n");
data[i].no=0;
goto p2;
}
if(i>0)
{
for(int j=0;j<i;j++)
{
if(data[j].no==data[i].no)
{
printf("学号已存在,请重新输入学号\n");
goto p2;
}
}
}
????}
????printf("请输入学生的姓名:");
????scanf("%s",data[i].name);
????getchar();
?? printf("请输入学生的性别:");
?? scanf("%c",&data[i].sex);
?? printf("请输入学生的分数:");
?? scanf("%f",&data[i].score);
?? break;
?? }
}
int Del(void)
{
int a = 0;
????printf("删除学生操作……\n");
????printf("请输入要删除的学号:");
????scanf("%d",&a);
????for(int i=0;i<1024;i++)
????{
???? if(a == data[i].no)
???? data[i].no=0;
???? printf("删除成功\n");
break;
????}
????
}
int Change(void)
{
????printf("修改学生操作……\n");
????int no;
????int a=0;
????printf("请输入要修改的学号:");
????scanf("%d",&a);
????for(int i=0;i<1024;i++)
????{
???? if(a == data[i].no)
???? {
printf("%d\n",data[i].no);
printf("%s\n",data[i].name);
printf("%c\n",data[i].sex);
printf("%f\n",data[i].score);
? printf("1 学号 \n");
printf("2 姓名 \n");
printf("3 性别 \n");
printf("4 分数 \n");
printf("请选择要修改的内容:");
scanf("%d",&a);
switch(a)
{
case 1:scanf("%d",&data[i].no);
printf("修改成功\n");break;
case 2:scanf("%s",data[i].name);
printf("修改成功\n");break;
case 3:scanf("%c",&data[i].sex);
printf("修改成功\n");break;
case 4:scanf("%f",&data[i].score);
printf("修改成功\n");break;
}
???? }
????}
???
???
}
int Find(void)
{
int a = 0;
????printf("查找学生操作……\n");
printf("请输入查找的学号:");
scanf("%d",&a);
for(int i=0;i<1024;i++)
{
if(a == data[i].no)
{
printf("查找成功、信息如下\n");
printf("学号:%d\n",data[i].no);
printf("姓名:%s\n",data[i].name);
printf("性别:%c\n",data[i].sex);
printf("分数:%f\n",data[i].score);
}
}
}
int Quit(void)
{
return 0;