不用结构体,函数,和指针写一个学生管理系统
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT 20
#define MAX_STUDENT_NAMELONG 50
int main(int argc, const char *argv[])
{
int a;//a为业务序号
char student_name[MAX_STUDENT][MAX_STUDENT_NAMELONG];
// int student_scores[MAX_STUDENT][10];
char student_scores[MAX_STUDENT][10];
char arr[20];
char brr[20];
int count=0;//用于记录学生的个数以及学生编号
int serial;//查询所用编号
int count1=5;//记录密码输入错误的次数
int qa;//客户输入的密码
while(1)
{
printf("\n<<<<<<<<<<学生管理系统>>>>>>>>>>\n");
printf("序号 1 为增加学生的信息\n");
printf("序号 2 为删除学生的信息\n");
printf("序号 3 为修改学生的信息\n");
printf("序号 4 为查询学生的信息\n");
printf("序号 5 为查看所有学生的信息\n");
printf("序号 6 为退出系统\n");
printf("请输入你所要办理业务的序号:\t");
scanf("%d",&a);//输入信息
getchar();//吸收输入本身自带的垃圾字符,以免干扰后续
switch(a)
{
case 1:
{
if(count>=20)
{
printf("名额已满/n");
break;
}
printf("请输入学生姓名\n(英文或拼音)");
scanf("%s",student_name[count]);
// printf("%s",student_name[count]);
// gets(student_name[count]);
// puts(student_name[count]);
printf("请输入学生成绩\n(数字,暂时不可有小数点)");
scanf("%s",student_scores[count]);
// printf("%s",student_scores[count]);
// gets(student_scores[count]);
// puts(student_scores[count]);
/* for(int i=0;i<10;i++)
{
scanf("%d",&student_scores[count][i]);
printf("%d",student_scores[count][i]);
break;
}
*/
count++;
};
break;
case 2://删除学生信息
{
printf("请输入修改权限密码:\t");
for(int k=0;k<count1;k++)
{
scanf("%d",&qa);
if(qa==123)
{
//执行删除程序
printf("请输入学生姓名");
scanf("%s",arr);
for(int i=0;i<count+1;i++)
{
if(strcmp(student_name[i],arr)==0)
{
serial=i;//查找学生信息
// printf("%s\n",student_name[i]);
// printf("%s\n",student_scores[i]);
for(int k=0;k<MAX_STUDENT;k++)
{
strcpy( student_name[i],student_name[i+1]);
strcpy(student_scores[i],student_scores[i+1]);
}
}
}
break;
}
else if (count<=0)
{
break;
}
else
{
printf("你输入的密码有误,请从新输入:\t");
count1--;
}
}
};
break;
case 3://修改学生信息
{
printf("请输入修改权限密码:\t");
for(int k=0;k<count1;k++)
{
scanf("%d",&qa);
if(qa==123)
{
//执行修改程序
printf("请输入学生姓名");
scanf("%s",arr);
for(int i=0;i<count+1;i++)
{
if(strcmp(student_name[i],arr)==0)
{
serial=i;//查找学生信息
printf("%s\n",student_name[i]);
printf("%s\n",student_scores[i]);
printf("请输入修改后的信息:\t");
scanf("%s\n",brr);//brr用于转储修改后的信息
strcpy(student_scores[i],brr);
}
}
break;
}
else if (count<=0)
{
break;
}
else
{
printf("你输入的密码有误,请从新输入:\t");
count1--;
}
}
};
break;
case 4://查询学生信息
{
printf("请输入学生姓名");
scanf("%s",arr);
for(int i=0;i<count;i++)
{
if(strcmp(student_name[i],arr)==0)
{
serial=i;//查找学生信息
printf("%s\n",student_name[i]);
printf("%s\n",student_scores[i]);
break;
}
}
};
break;
case 5://查询所有信息
{
for(serial=0;serial<=count;serial++)
{
if(serial<=count&&serial>=0&&serial%1==0)
{
// puts(student_name[serial]);
// puts(student_scores[serial]);
printf("学生姓名:%s\t",student_name[serial]);
printf("学生成绩:%s\n",student_scores[serial]);
/* for(int i=0;i<10;i++)
{
printf("%d\t",student_scores[serial][i]);
break;}
*/
}
else
{
printf("你输入的序号无信息");
}
}
};
break;
case 6:
{
break;
};
break;
default:
{
printf("你输入的序号有误,请从新输入\n");
};
break;
}
}
return 0;
}
系统简陋,可根据需求添加一定量的二维数组,修改为储存多种信息的系统
仅供参考,几乎无实际应用意义。