#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;