1.思维导图
2.学生系统
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct student
{
char name[32];
int id;
double score;
};
int count=0,i=0;
struct student stu[1000];
void input()
{
int n;
printf("请输入你要录入的学生个数:");
scanf("%d",&n);
struct student s[1000];
for(i=0;i<n;i++)
{
printf("请输入第%d个学生的姓名:",i+1);
scanf("%s",s[i].name);
printf("请输入第%d个学生的学号:",i+1);
scanf("%d",&s[i].id);
printf("请输入第%d个学生的成绩:",i+1);
scanf("%lf",&s[i].score);
stu[count++]=s[i];
}
}
void delete()
{
int flag;
printf("请输入你要删除的学生位置:");
scanf("%d",&flag);
if(flag<1||flag>count)
printf("学号不存在\n");
else
{
for(i=flag-1;i<count;i++)
stu[i]=stu[i+1];
count--;
}
}
void revise()
{
int flag;
printf("请输入你要修改的学生位置:");
scanf("%d",&flag);
if(flag<1||flag>count)
printf("学号不存在\n");
else
{
printf("请输入新的学生姓名:");
scanf("%s",stu[flag-1].name);
printf("请输入新的学生学号:");
scanf("%d",&stu[flag-1].id);
printf("请输入新的学生成绩:");
scanf("%lf",&stu[flag-1].score);
}
}
void seek()
{
int flag;
printf("请输入你要查找的学生位置:");
scanf("%d",&flag);
if(flag<1||flag>count)
printf("学号不存在\n");
else
{
printf("你要查找的学生信息如下:\n");
printf("姓名:%s,学号:%d,成绩:%lf\n",stu[flag-1].name,stu[flag-1].id,stu[flag-1].score);
}
}
void output()
{
printf("所有学生信息如下:\n");
for(i=0;i<count;i++)
printf("姓名:%s,学号:%d,成绩:%lf\n",stu[i].name,stu[i].id,stu[i].score);
}
int main(int argc, const char *argv[])
{
int choice;
while(1)
{
printf("1.录入学生信息\n");
printf("2.删除学生信息\n");
printf("3.修改学生信息\n");
printf("4.查找学生信息\n");
printf("5.退出学生系统\n");
printf("请输入你的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:
{
input();
output();
}
break;
case 2:
{
delete();
output();
}
break;
case 3:
{
revise();
output();
}
break;
case 4:
{
seek();
}
break;
case 5:
return 0;
break;
default:printf("error\n");break;
}
}
return 0;
}