学生信息管理程序_学生信息管理系统程序
学生信息管理程序由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学生信息管理系统程序”。
/*设计“学生信息管理系统”使其具有学生信息录入功能,修改、删除、显示和查询功能。
(1)包括创建学生个人信息:学生姓名、性别、年龄、学号、专业。
(2)学生信息修改功能:对学生数据库中的信息进行修改,保存。
(3)删除部分学生信息的功能。
(4)显示学生信息
(5)按条件查询符合要求的学生信息。*/ #include #include #include #include typedef struct { char name[20];char sex[10];int age;int studentnum;char profeion[20];bool flag;
//此变量用于确定这个点是否已经有值存在了 }student;student *stu;void LoadInfo();
//此用于初始化载入信息 void ChangeInfo();//此用于更改信息 void DeleteInfo();//此用于删除学生信息
void ShowInfo();
//此处用于显示所有人的信息 void InquireInfo();//此函数用于查询学生信息
bool GetNumOfInfo(int flag,char *name,int stunum,int &num);//此用于查询所输入的是否程序中已经存在void AddInfo();
//此函数用于添加学生信息 static int stu_num;//此为定义的学生人数全局变量 void main(){ int a;int i=1;LoadInfo();while(i){
printf(“***************************n”);
printf(“修改请按1n删除请按2n显示所有请按3n查询请按4n添加请按5an退出请按6n”);
printf(“***************************n”);
scanf(“%d”,&a);getchar();
switch(a)
{
case 1:
{
ChangeInfo();
}break;
case 2:
{
DeleteInfo();
}break;
case 3:
{
ShowInfo();
}break;
case 4:
{
InquireInfo();
}break;
case 5:
{
AddInfo();
}break;
default:return;
} } free(stu);//此处对于对申请的内存空间进行释放 } void LoadInfo(){
printf(“现在创建学生个人信息n”);printf(“请输入学生人数:”);scanf(“%d”,&stu_num);getchar();stu=(student*)malloc(sizeof(student)*stu_num);for(int i=0;i
stu[i].flag=true;
} printf(“**************学生信息创建基本完成*************n”);} void ChangeInfo(){ char stuname[20];int a,num,stunum;
printf(“现在进入更改信息中,请根据需要进行修改n”);while(1){ printf(“请输入要修改的学生信息n姓名输入请按1n学号输入请按2n”);scanf(“%d”,&a);getchar();if(a==1){
printf(“请输入要修改信息的学生姓名:”);
gets(stuname);
bool b=GetNumOfInfo(0,stuname,0,num);
if(b)
{
printf(“现在请重新输入姓名:”);gets(stu[num].name);
printf(“现在请重新输入性别:”);gets(stu[num].sex);
printf(“现在请重新输入年龄:”);scanf(“%d”,&stu[num].age);getchar();
printf(“现在请重新输入学号”);scanf(“%d”,&stu[num].studentnum);getchar();
printf(“现在请重新输入专业:”);gets(stu[num].profeion);break;} else {
:
printf(“抱歉,没有找到您想要的信息,您可能输入错误n**************”);
char m[2];
char Y[2]=“Y”,N[2]=“N”;
printf(“您还想继续更改吗?Y/N********”);
gets(m);
if(!strcmp(m,Y))continue;
else return;
}
}
if(a==2)
{
printf(“请输入要修改信息的学生学号:”);
scanf(“%d”,&stunum);getchar();
bool b=GetNumOfInfo(1,NULL,stunum,num);
if(b)
{
printf(“现在请重新输入姓名:”);gets(stu[num].name);
printf(“现在请重新输入性别:”);gets(stu[num].sex);
printf(“现在请重新输入年龄:”);scanf(“%d”,&stu[num].age);getchar();
printf(“现在请重新输入学号”);scanf(“%d”,&stu[num].studentnum);getchar();
printf(“现在请重新输入专业:”);gets(stu[num].profeion);break;} else {
:
printf(“抱歉,没有找到您想要的信息,您可能输入错误n**************”);
char m[2];
char Y[2]=“Y”,N[2]=“N”;
}
}
} printf(“您还想继续更改吗?Y/N********”);gets(m);if(!strcmp(m,Y))continue;else return;printf(“**************信息更改完毕完毕***************n”);} void DeleteInfo(){ int num,a,stunum;char stuname[20];
printf(“**************现在进入删除信息中,请根据需要进行删除***********n”);while(1){ printf(“请输入要删除的学生信息n姓名输入请按1n学号输入请按2n”);scanf(“%d”,&a);getchar();if(a==1){
printf(“请输入要删除信息的学生姓名:”);
gets(stuname);
bool b=GetNumOfInfo(0,stuname,0,num);
if(b)
{
stu[num].flag=false;
break;
}
else
{
printf(“抱歉,没有找到您想要的信息,您可能输入错误n**************”);
char m[2];
char Y[2]=“Y”,N[2]=“N”;
printf(“您还想继续删除吗?Y/N********”);
gets(m);
if(!strcmp(m,Y))continue;
else return;
}
}
if(a==2)
{
printf(“请输入要删除信息的学生学号:”);
scanf(“%d”,&stunum);getchar();
bool b=GetNumOfInfo(1,NULL,stunum,num);
if(b)
{
stu[num].flag=false;
break;
}
else
{
}
}
} printf(“抱歉,没有找到您想要的信息,您可能输入错误n********”);char m[2];char Y[2]=“Y”,N[2]=“N”;printf(“您还想继续删除吗?Y/N********”);gets(m);if(!strcmp(m,Y))continue;else return;printf(“**************信息删除完毕***************n”);} void ShowInfo(){ printf(“++++++++++++++学生们的信息如下+++++++++++++++n”);for(int i=0;i
if(stu[i].flag==true)
{
}
} printf(“************此学生的信息如下**********n”);printf(“姓名:%sn”,stu[i].name);printf(“性别:%sn”,stu[i].sex);printf(“学号:%dn”,stu[i].studentnum);printf(“年龄:%dn”,stu[i].age);printf(“专业:%sn”,stu[i].profeion);printf(“**************信息显示完毕***************n”);} void InquireInfo(){ int num,a,stunum;char stuname[20],Y;
printf(“现在进入查询信息中,请根据提示进行查询:n”);while(1){
printf(“请输入要查询的学生的信息n姓名输入请按1n学号输入请按2n”);
scanf(“%d”,&a);getchar();
if(a==1)
{
printf(“请输入要查询信息的学生姓名:”);
gets(stuname);
bool b=GetNumOfInfo(0,stuname,0,num);
if(b)
{
printf(“此学生的信息如下:n”);
printf(“姓名:%sn”,stu[num].name);
printf(“性别:%sn”,stu[num].sex);
printf(“学号:%dn”,stu[num].studentnum);
printf(“年龄:%dn”,stu[num].age);
printf(“专业:%sn”,stu[num].profeion);
break;
}
else
{
printf(“抱歉,没有找到您想要的信息,您可能输入错误n**************”);
printf(“您还想继续查询吗?Y/N”);
char m=getchar();
if(m==Y)continue;
else return;
}continue;
}
else if(a==2)
{
printf(“请输入要查询信息的学生学号:”);
scanf(“%d”,&stunum);getchar();
bool b=GetNumOfInfo(1,NULL,stunum,num);
if(b)
{
printf(“此学生的信息如下:n”);
printf(“姓名:%sn”,stu[num].name);
printf(“性别:%sn”,stu[num].sex);
printf(“学号:%dn”,stu[num].studentnum);
printf(“年龄:%dn”,stu[num].age);
printf(“专业:%sn”,stu[num].profeion);
break;
}
else
{
printf(“抱歉,没有找到您想要的信息,n**************”);
char m[2];
char Y[2]=“Y”,N[2]=“N”;
printf(“您还想继续查询吗?Y/N********”);
gets(m);
if(!strcmp(m,Y))continue;
else return;
}
}
else printf(“您输入有错误”);} printf(“**************信息查询完毕***************n”);} void AddInfo(){ int j=0;while(1){
j=0;
for(int i=0;i
{
if(stu[i].flag==true)j++;
}
if(j==stu_num)
{
您可能输入错误
printf(“抱歉,存储区已满n”);return;} student st;printf(“********下面开始添加信息:*********n”);printf(“现在请输入姓名:”);gets(st.name);printf(“现在请输入性别:”);gets(st.sex);printf(“现在请输入年龄:”);scanf(“%d”,&st.age);getchar();printf(“现在请输入学号:”);scanf(“%d”,&st.studentnum);getchar();printf(“现在请输入专业:”);gets(st.profeion);st.flag=true;
printf(“*******输入完毕******n”);
for(i=0;i
{
if(stu[i].flag==false)
{stu[i]=st;
}
}
char m[2];
char Y[2]=“Y”,N[2]=“N”;
printf(“您还想继续输入吗?Y/N********”);
gets(m);
if(!strcmp(m,Y))continue;
else return;} } bool GetNumOfInfo(int flag,char *name,int stunum,int &num){ if(flag==0){
for(int i=0;i
{
if(!strcmp(name,stu[i].name))
{
num=i;
return true;
}
}
return false;} else if(flag==1){
for(int i=0;i
{
if(stunum==stu[i].studentnum)
}
} {
num=i;
return true;} } return false;