学生信息c.docx
《学生信息c.docx》由会员分享,可在线阅读,更多相关《学生信息c.docx(42页珍藏版)》请在冰点文库上搜索。
学生信息c
#include
#include
#include
#include
#defineJ48888888
#defineM255
#definenull0
#defineOPprintf("***")
#defineUPprintf("___")
#defineTPprintf("+++")
inth,m,N=4;
charc;longinta;
#defineForfor(h=0;hstructstudent
{longintnum;
charname[20];
charsex[3];
ints1;
ints2;
ints3;
ints4;
intzcj;
};
structstudentstu[M]={{20100201,"xu","n",90,85,66,40,20},
{20100202,"yan","m",56,95,64,68,230},
{20100208,"jie","n",78,66,72,77,60},
{20100212,"shi","m",92,38,30,55,100},
};
structstudent*pp=stu;
structstudento,q;
//子函数的定义
voidchazhao();
voidfanhui();
voidchakan();
voidcunru();
voidxiugai();
voidshanchu();
voidtongji();
voidpaixu();
voidttjj();
voidcharu();
voidtj(intcc);
voidstep1();
voidstep2();
voidcharu()
{charx[20],z[3];
inti,j,aa,bb,cc,dd;
printf("\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(i=0;i{
for(j=1;j{
if(stu[j-1].num>stu[j].num)
{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
printf("\n");
printf("请输入要插入学生学号:
");
scanf("%ld",&a);
for(h=0;h{if(stu[h].num==a)
{
printf("该学号已存在!
\n");
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),charu();break;
case'N':
case'n':
fanhui();break;}
}
}
elseif((stu[h].numa))
{for(;h{stu[h+3]=stu[h+1];
}
stu[h+1].num=a;
c=getchar();
printf("请输入学生姓名:
");
gets(x);
strcpy(stu[h+1].name,x);
printf("请输入学生性别:
");
gets(z);
strcpy(stu[h+1].sex,z);
printf("请输入高数成绩:
");
scanf("%d",&aa);
stu[h+1].s1=aa;
printf("请输入英语成绩:
");
scanf("%d",&bb);
stu[h+1].s2=bb;
printf("请输入C++成绩:
");
scanf("%d",&cc);
stu[h+1].s3=cc;
printf("请输入电工成绩:
");
scanf("%d",&dd);
stu[h+1].s4=dd;
N++;
for(i=0;i{
for(j=1;j{
if(stu[j-1].num>stu[j].num)
{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}printf("\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),charu();break;
case'N':
case'n':
fanhui();break;}
}
}
else;
}
}
voidpaixu()
{
printf("\n");printf("\n");
For;printf("\t**");For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;For;OP;printf("**\n");
For;printf("\t\t*****按1键排序总分信息*****\n");
For;printf("\t\t*****按2键排序高数信息*****\n");
For;printf("\t\t*****按3键排序英语信息*****\n");
For;printf("\t\t*****按4键排序C++信息*****\n");
For;printf("\t\t*****按5键排序电工信息*****\n");
For;printf("\t\t*****按6键排序学号信息*****\n");
For;printf("\t\t*****按0键退出排序*****\n");
For;printf("\t\t请输入功能键\n");
printf("\t\t");scanf("%d",&m);
system("cls");
switch(m)
{
case0:
system("cls"),fanhui();break;
case1:
{
inti,j;
printf("\n");
printf("\t排序前:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
for(i=0;i{
for(j=1;j{
if(stu[j-1].zcj{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
printf("\n");
printf("\t排序后:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),paixu();break;
case'N':
case'n':
fanhui();break;}
}};break;
case2:
{
inti,j;
printf("\n");
printf("\t排序前:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
for(i=0;i{
for(j=1;j{
if(stu[j-1].s1{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
printf("\n");
printf("\t排序后:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),paixu();break;
case'N':
case'n':
fanhui();break;}
}};break;
case3:
{
inti,j;
printf("\n");
printf("\t排序前:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
for(i=0;i{
for(j=1;j{
if(stu[j-1].s2{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
printf("\n");
printf("\t排序后:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),paixu();break;
case'N':
case'n':
fanhui();break;}
}};break;
case4:
{
inti,j;
printf("\n");
printf("\t排序前:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
for(i=0;i{
for(j=1;j{
if(stu[j-1].s3{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
printf("\n");
printf("\t排序后:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),paixu();break;
case'N':
case'n':
fanhui();break;}
}};break;
case5:
{
inti,j;
printf("\n");
printf("\t排序前:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
for(i=0;i{
for(j=1;j{
if(stu[j-1].s4{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
printf("\n");
printf("\t排序后:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),paixu();break;
case'N':
case'n':
fanhui();break;}
}};break;
case6:
{
inti,j;
printf("\n");
printf("\t排序前:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
for(i=0;i{
for(j=1;j{
if(stu[j-1].num>stu[j].num)
{
q=stu[j-1];
stu[j-1]=stu[j];
stu[j]=q;
}
}
}
printf("\n");
printf("\t排序后:
\n");
printf("\t学生学号学生姓名性别高数英语C++电工总分\n");
for(h=0;hprintf("\t%ld%6s%6s%6d%6d%6d%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].s2,stu[h].s3,stu[h].s4,stu[h].zcj);
{printf("\t继续按Y返回按N\n");
printf("\t");c=getchar();
switch((c=getchar()))
{case'y':
case'Y':
system("cls"),paixu();break;
case'N':
case'n':
fanhui();break;}
}};break;
}
}
//***************分科统计**********************
voidtj(intcc)
{
switch(cc)
{case1:
{intgg=0,i=0,j=0;
floatii=0;
printf("\n");
for(h=0;h{gg+=stu[h].s1;}
ii=(float)gg/N;
printf("\t高数的平均成绩为:
%2.1f\n",ii);
printf("\n");
printf("\t高数的平均成绩以上的同学为:
\n");
printf("\n");
printf("\t学生学号学生姓名性别高数总分\n");
for(h=0;hif((float)stu[h].s1>ii)
{printf("\t%ld%6s%6s%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].zcj);
i++;}
printf("\t共有%d人\n",i);
printf("\n");
printf("\t高数的及格成绩以上的同学为:
\n");
printf("\n");
printf("\t学生学号学生姓名性别高数总分\n");
for(h=0;hif(stu[h].s1>60)
{printf("\t%ld%6s%6s%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s1,stu[h].zcj);
j++;}
printf("\t共有%d人\n",j);
};break;
case2:
{intgg=0,i=0,j=0;
floatii=0;
printf("\n");
for(h=0;h{gg+=stu[h].s2;}
ii=(float)gg/N;
printf("\t英语的平均成绩为:
%2.1f\n",ii);
printf("\n");
printf("\t英语的平均成绩以上的同学为:
\n");
printf("\n");
printf("\t学生学号学生姓名性别英语总分\n");
for(h=0;hif((float)stu[h].s2>ii)
{printf("\t%ld%6s%6s%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s2,stu[h].zcj);
i++;}
printf("\t共有%d人\n",i);
printf("\n");
printf("\t英语的及格成绩以上的同学为:
\n");
printf("\n");
printf("\t学生学号学生姓名性别英语总分\n");
for(h=0;hif(stu[h].s2>60)
{printf("\t%ld%6s%6s%6d%6d\n",stu[h].num,stu[h].name,stu[h].sex,stu[h].s2,stu[h].zcj);
j++;}
printf("\t共有%d人\n",j);
};break;
case3:
{intgg=0,i=0,j=0;
floatii=0;
printf("\n");
for(h=0;h{gg+=stu[h].s3;