**
C语言学生信息管理系统1.0(包正常运行,dev一键运行,接定制)
**
接C语言,c++,各种管理系统定制,价格优惠,代码质量高,包售后,包答疑,服务态度好,代码质量高,绝对让你满意。可加微信咨询:dtfdf333
-------学生信息管理系统-------
0.退出系统
1.录入学生信息
2.查询学生信息
3.删除学生信息
4.修改学生信息
5.添加学生信息
6.按成绩对学生信息进行排序
7.按学号对学生信息进行排序
8.统计学生人数
9.输出所有学生信息
-------学生信息管理系统-------
选择(0—11)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 100000
int s=0;
struct studentt//学生信息
{
char xh[20];//学号
char xm[20];//姓名
int xb;//性别
double yuwen;//语文
double shuxue;//数学
double yingyu;//英语
double av;//平均成绩
double sum;//综合成绩
}student[maxn];
void luru()//录入信息
{
printf("请输入学生人数\n");
int o;//学生人数
scanf("%d",&o);
for(int i=1;i<=o;i++)//输入学生信息
{
s++;
printf("请输入第%d名学生的学号,姓名,性别,语文,数学,英语成绩(1代表男性,0代表女性)\n",i);
scanf("%s%s%d%lf%lf%lf",&student[s].xh,&student[s].xm,&student[s].xb,
&student[s].yuwen,&student[s].shuxue,&student[s].yingyu);
student[s].sum=(student[s].yuwen+student[s].shuxue+student[s].yingyu);
student[s].av=student[s].sum/3;
}
printf("录入学生信息成功\n");
}
void shuchu()//输出信息
{
printf("此时共有%d名学生信息,相关信息如下\n",s);
for(int i=1;i<=s;i++)
{
printf("第%d名学生的学号,姓名,性别,语文成绩,数学成绩,英语成绩,综合成绩,平均成绩(1代表男性,0代表女性)如下\n",i);
printf("%s %s %d %lf %lf %lf %lf %lf\n",student[i].xh,student[i].xm,student[i].xb,
student[i].yuwen,student[i].shuxue,student[i].yingyu,student[i].sum,student[i].av);
}
}
void tianjia()//添加学生信息
{
printf("请输入添加学生人数:\n") ;
int o;
scanf("%d",&o);
for(int i=1;i<=o;i++)
{
s++;
while(1)//学号不能重复
{
printf("请输入第%d名学生的学号\n",i);
scanf("%s",&student[s].xh);
int flag=0;
for(int j=1;j<s;j++)
{
if(strcmp(student[s].xh,student[j].xh)==0)
{
printf("此学号已存在,请再次输入学号\n");
flag=1;
}
}
if(!flag)break;
}
printf("请添加第%d名学生的姓名,性别,语文,数学,英语成绩(1代表男性,0代表女性)\n",i);
scanf("%s%d%lf%lf%lf",&student[s].xm,&student[s].xb,
&student[s].yuwen,&student[s].shuxue,&student[s].yingyu);//学生的其他信息
student[s].sum=(student[s].yuwen+student[s].shuxue+student[s].yingyu);
student[s].av=student[s].sum/3;
printf("此学生信息已添加\n");
}
}
void shanchu()//按学号删除学生信息
{
printf("请输入要删除学生的学号\n");
char ss[20];
scanf("%s",ss);
int pos=0;
for(int i=1;i<=s;i++)
{
if(strcmp(ss,student[i].xh)==0)
{
pos=i;}
}
if(!pos)printf("此学生不存在\n");
else
{
for(int i=pos;i<s;i++)
{
student[i]=student[i+1];
/* student[i].xh=student[i+1].xh;
student[i].xm=student[i+1].xm;
student[i].xb=student[i+1].xb;
student[i].yuwen=student[i+1].yuwen;
student[i].shuxue=student[i+1].shuxue;
student[i].yingyu=student[i+1].yingyu;
student[i].av=student[i+1].av;
student[i].sum=student[i+1].sum;
*/
}
s--;
printf("成功删除此学生信息\n");
}
}
void xiugai()//按学号修改学生信息
{
printf("请输出要修改学生的学号\n");
char ss[20];
scanf("%s",ss);
int pos=0;
for(int i=1;i<=s;i++)
{
if(strcmp(ss,student[i].xh)==0)
{
pos=i;}
}
if(!pos)printf("此学生不存在\n");
else
{
printf("此学生存在\n");
int o;
printf("是否修改此学生的学号,输入(1修改,0不修改)\n");
scanf("%d",&o);
if(o)
{
while(1)
{
printf("请输入这名学生的学号\n");
char uu[20];
scanf("%s",&uu);
int flag=0;
for(int j=1;j<=s;j++)
{
if(strcmp(uu,student[j].xh)==0)
{
printf("此学号已存在,请再次输入学号\n");
flag=1;
}
}
if(!flag)
{
strcpy(student[pos].xh,uu);
break;
}
}
}
printf("是否修改此学生的姓名,输入(1修改,0不修改)\n");
scanf("%d",&o);
if(o)
{
printf("请输入这名学生的姓名\n");
scanf("%s",&student[pos].xm);
}
printf("是否修改此学生的性别,输入(1修改,0不修改)(1代表男性,0代表女性)\n");
scanf("%d",&o);
if(o)
{
printf("请输入这名学生的性别\n");
scanf("%d",&student[pos].xb);
}
printf("是否修改此学生的语文成绩,输入(1修改,0不修改)\n");
scanf("%d",&o);
if(o)
{
printf("请输入这名学生的语文成绩\n");
scanf("%lf",&student[pos].yuwen);
}
printf("是否修改此学生的数学成绩,输入(1修改,0不修改)\n");
scanf("%d",&o);
if(o)
{
printf("请输入这名学生的数学成绩\n");
scanf("%lf",&student[pos].shuxue);
}
printf("是否修改此学生的英语成绩,输入(1修改,0不修改)\n");
scanf("%d",&o);
if(o)
{
printf("请输入这名学生的英语成绩\n");
scanf("%lf",&student[pos].yingyu);
}
student[pos].sum=(student[pos].yuwen+student[pos].shuxue+student[pos].yingyu);
student[pos].av=student[pos].sum/3;
printf("成功修改此学生信息\n");
}
}
void chaxun()//按学号查询学生信息
{
printf("请输出要查询学生的学号\n");
char ss[20];
scanf("%s",ss);
int pos=0;
for(int i=1;i<=s;i++)
{
if(strcmp(ss,student[i].xh)==0)
{
pos=i;}
}
if(!pos)printf("此学生不存在\n");
else
{
printf("学号为%s的学生的学生信息如下\n",ss);
printf("此名学生的学号,姓名,性别,语文成绩,数学成绩,英语成绩,综合成绩,平均成绩(1代表男性,0代表女性)如下\n");
printf("%s %s %d %lf %lf %lf %lf %lf",student[pos].xh,student[pos].xm,student[pos].xb,
student[pos].yuwen,student[pos].shuxue,student[pos].yingyu,student[pos].sum,student[pos].av);
}
}
void paixu1()//按综合成绩对学生信息进行排序
{
for(int i=1;i<=s;i++)
{
int pos=i;
for(int j=i+1;j<=s;j++)
{
if(student[pos].sum>student[j].sum)
pos=j;
}
//printf("pos %d i %d",pos,i);
studentt u;
u=student[i];
student[i]=student[pos];
student[pos]=u;
}
printf("排序后的学生信息为\n");
shuchu();
}
void paixu2()//按学号进行从小到大排序
{
for(int i=1;i<=s;i++)
{
int pos=i;
for(int j=i+1;j<=s;j++)
{
if(strcmp(student[pos].xh,student[j].xh)>0)
pos=j;
}
studentt u;
u=student[i];
student[i]=student[pos];
student[pos]=u;
}
printf("排序后的学生信息为\n");
shuchu();
}
void tongji()//统计此时的学生信息
{
printf("此时共有学生%d人\n",s);
}
void caidan()//菜单
{
while(1)
{
printf("\t\t\t\t\t-------学生信息管理系统-------\t\t\t\n");
printf("\t\t\t\t\t0.退出系统\t\t\t\n");
printf("\t\t\t\t\t1.录入学生信息\t\t\t\n");
printf("\t\t\t\t\t2.查询学生信息\t\t\t\n");
printf("\t\t\t\t\t3.删除学生信息\t\t\t\n");
printf("\t\t\t\t\t4.修改学生信息\t\t\t\n");
printf("\t\t\t\t\t5.添加学生信息\t\t\t\n");
printf("\t\t\t\t\t6.按成绩对学生信息进行排序\t\t\t\n");
printf("\t\t\t\t\t7.按学号对学生信息进行排序\t\t\t\n");
printf("\t\t\t\t\t8.统计学生人数\t\t\t\n");
printf("\t\t\t\t\t9.输出所有学生信息\t\t\t\n");
printf("\t\t\t\t\t-------学生信息管理系统-------\t\t\t\n");
printf("\t\t\t\t\t选择(0---11)\t\t\t\n");
int o;
scanf("%d",&o);
switch(o)
{
case 0:exit(0);
case 1:luru();system("pause");system("cls");break;
case 2:chaxun();system("pause");system("cls");break;
case 3:shanchu();system("pause");system("cls");break;
case 4:xiugai();system("pause");system("cls");break;
case 5:tianjia();system("pause");system("cls");break;
case 6:paixu1();system("pause");system("cls");break;
case 7:paixu2();system("pause");system("cls");break;
case 8:tongji();system("pause");system("cls");break;
case 9:shuchu();system("pause");system("cls");break;
default:printf("\n输入格式错误,请输入0---11\n\n");system("pause");system("cls");break;
}
}
}
int main()//主函数
{
caidan();
}