资源描述
. .
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"string.h"
#include"windows.h"
//登陆界面函数
void load();
void background1();
void choice1();
void fanhui1();
void denglu();
void zhuce();
int chazhao();
//目录界面函数
void mulu();
void background();
void choice();
void add();
void xiugai();
void shanchu();
void del();
void chaxun();
void paixu();
void tongji();
void output();
void finish();
void fanhui2();
void shuchu();
int zongren();
int chr();
int enr();
int mar();
void back();
float chinese();
float english();
float math();
float zongmax();
//登陆界面构造体
struct self
{
char a[10];
char b[10];
int flg;
}s[100]={{"admin","admin",1},{"1","1",1}};
//目录界面构造体
struct student
{
char num[10];
char name[10];
float chinese;
float english;
float math;
float sum;
int a;
}stu[5]={{"1100","小明",12,18,20,50,1},{"1101","小样",20,80,60,160,1}};
//登陆界面
void main()
{
load();
}
void load()
{
background1();
choice1();
}
void background1()
{
puts(" ");
puts(" ");
printf(" ********************************************\n");
printf(" 欢迎登录学生管理系统 ");
puts(" ");
printf(" ********************************************\n");
printf(" 1.登录 2.注册 \n ");
printf(" 请选择:");
}
void choice1()
{
int a;
scanf("%d",&a);
fflush(stdin);
switch(a)
{
case 1:denglu();break;
case 2:zhuce();break;
default:fanhui1();break;
}
}
void fanhui1()
{
printf(" 输入错误!\n");
printf(" 请重新输入!\n");
system("cls");
load();
}
void denglu()
{
struct self s2;
char c;
int i=0;
int j=0;
printf("请输入用户名:\n");
scanf("%s",s2.a);
fflush(stdin);
puts(" ");
printf("请输入密码:");
c=getch();
while(c!=13)
{
printf("*");
s2.b[i]=c;
i++;
while((c=getch())==8)
{
if(i==0)
continue;
putchar('\b');
putchar(' ');
putchar('\b');
s2.b[--i]=0;
}
}
s2.b[i]=0;
s2.flg=1;
puts(" ");
puts(s2.b);
for(i=0;i<100;i++)
{
if(!strcmp(s[i].a,s2.a)&&!strcmp(s[i].b,s2.b))
{
printf("成功!");
system("cls");
printf("\n\n\n\n\n\n\n\n\n\t\t\t欢迎进入学生管理系统\n\n\n");
Sleep(2000);
system("cls");
mulu();
}
else
{
j++;
}
}
if(j==100)
{
fanhui1();
}
}
void zhuce()
{
struct self s3;
char c,d;
int i,j;
i=0;
printf("请输入XX:");
gets(s3.a);
puts(s3.a);
printf("请输入密码:");
c=getch();
while(c!=13)
{
printf("*");
s3.b[i]=c;
i++;
while((c=getch())==8)
{
if(i==0)
continue;
putchar('\b');
putchar(' ');
putchar('\b');
s3.b[--i]=0;
}
}
s3.b[i]=0;
s3.flg=1;
printf("确定'y' 取消'n'");
scanf("%c",&d);
fflush(stdin);
if(d=='y'||d=='Y')
{
j=chazhao();
s[j]=s3;
printf("注册成功!");
shuchu();
system("cls");
fanhui1();
}
else
{
fanhui1();
}
}
int chazhao()
{
int a,i;
for(i=0;i<100;i++)
{
if(s[i].flg==0)
{
a=i;
break;
}
}
return i;
}
//目录界面
void mulu()
{
background();
choice();
}
void background()
{
printf("*****************************************\n");
printf("/////////////////////^_^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \n");
printf("******************************************\n");
puts(" ");
printf("欢迎进入学生成绩管理系统");
puts(" ");
printf("****************************************\n");
printf(" 请输入业务:\n");
puts(" ");
printf("1. 查看所有记录显示\n");
printf("2. 添加学生成绩\n");
printf("3. 修改学生成绩\n");
printf("4. 删除学生成绩\n");
printf("5. 清空记录\n");
printf("6. 按要求查询学生成绩\n");
printf("7. 按要求排序\n");
printf("8. 按要求统计成绩\n");
printf("9. 退出\n");
printf("请选择:");
}
void choice()
{
int a;
scanf("%d",&a);
fflush(stdin);
printf("%d\n",a);
switch(a)
{
case 1: output();break;
case 2: add();break;
case 3: xiugai();break;
case 4: shanchu();break;
case 5:del();break;
case 6: chaxun();break;
case 7: paixu();break;
case 8: tongji();break;
case 9:finish();break;
default:system("cls");mulu();break;
}
}
void add()
{
system("cls");
int i;
char c,a;
shuchu();
printf("1 输入 2 返回主界面\n");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
for(i=0;i<5;i++)
{
if(stu[i].a==0)
break;
}
printf("请输入学号:");
scanf("%s",stu[i].num);
fflush(stdin);
printf("\n请输入XX:");
scanf("%s",stu[i].name);
fflush(stdin);
printf("\n请输入语文成绩:");
scanf("%f",&stu[i].chinese);
fflush(stdin);
printf("\n请输入英语成绩:");
scanf("%f",&stu[i].english);
fflush(stdin);
printf("\n请输入数学成绩:");
scanf("%f",&stu[i].math);
fflush(stdin);
stu[i].a=1;
stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;
shuchu();
printf("y返回主界面");
scanf("%c",&c);
if(c=='Y'||c=='y')
{
system("cls");
mulu();
}
else
{
add();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
system("cls");
add();
}
}
void xiugai()
{
char a;
system("cls");
shuchu();
printf("1 修改 2 返回主界面");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
char b[10];
char c;
int i;
int j=0;
printf("请输入需要修改的人的XX或者学号:");
gets(b);
fflush(stdin);
puts(" ");
puts(b);
for(i=0;i<5;i++)
{
if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b))
{
printf("\n请输入需要修改的学号:");
scanf("%s",stu[i].num);
fflush(stdin);
printf("\n请输入需要修改的XX:");
scanf("%s",stu[i].name);
fflush(stdin);
printf("\n请输入需要修改的语文成绩:");
scanf("%f",&stu[i].chinese);
fflush(stdin);
printf("\n请输入需要修改的英语成绩:");
scanf("%f",&stu[i].english);
fflush(stdin);
printf("\n请输入需要修改的数学成绩成绩:");
scanf("%f",&stu[i].math);
fflush(stdin);
stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;
break;
}
else
{
j++;
}
}
if(j==5)
{
printf("输入错误,请重新输入!");
system("cls");
xiugai();
}
system("cls");
shuchu();
printf("y返回主界面");
scanf("%c",&c);
if(c=='Y'||c=='y')
{
system("cls");
mulu();
}
else
{
xiugai();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
system("cls");
xiugai();
}
}
void shanchu()
{
char a;
int j=0;
char c;
system("cls");
shuchu();
printf("1 删除 2返回主界面:");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
int i;
char b[10];
printf("请输入需要删除的人的学号或者XX:");
gets(b);
fflush(stdin);
for(i=0;i<5;i++)
{
if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b))
{
stu[i].a=0;
printf("删除成功!");
break;
}
else
{
j++;
}
}
if(j==5)
{
printf("输入错误,请重新输入!");
shanchu();
}
printf("是否返回主界面:(y是)");
scanf("%c",&c);
if(c=='y'||c=='Y')
{
system("cls");
mulu();
}
else
{
shanchu();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
shanchu();
}
}
void del()
{
char a;
system("cls");
shuchu();
printf("1 清空 2 返回主界面");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
char c;
printf("确定?(y确定)");
scanf("%c",&c);
fflush(stdin);
if(a=='Y'||a=='y')
{
int i;
for(i=0;i<5;i++)
{
stu[i].a=0;
}
system("cls");
del();
}
else
{
del();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
del();
}
}
void chaxun()
{
char a;
int j=0;
system("cls");
printf("1 查询 2 返回主界面");
printf("请选择;");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
char b[10];
char c;
int i;
printf("请输入需要查询的人的学号或者XX:");
gets(b);
for(i=0;i<5;i++)
{
if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b))
{
printf("\n学号:%-6s",stu[i].num);
printf("\nXX:%-6s",stu[i].name);
printf("\n语文成绩:%-6.2f",stu[i].chinese);
printf("\n英语成绩:%-6.2f",stu[i].english);
printf("\n数学成绩:%-6.2f",stu[i].math);
printf("\n总成绩:%-6.2f",stu[i].sum);
break;
}
else
{
j++;
}
}
if(j==5)
{
printf("输入错误,请重新输入!");
chaxun();
}
printf("是否返回主页面:(y是)");
scanf("%c",&c);
fflush(stdin);
if(c=='y'||c=='Y')
{
system("cls");
mulu();
}
else
{
printf("继续查找!");
chaxun();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
chaxun();
}
}
void paixu()
{
char a;
char c;
system("cls");
shuchu();
printf("1 排序 2返回主界面");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
int i,j;
int aa;
struct student s;
printf("1 降序排列 2 升序排列");
printf("请选择:");
scanf("%d",&aa);
fflush(stdin);
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
if(aa==1)
{
if(strcmp(stu[j].num,stu[j+1].num)<0)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
if(aa==2)
{
if(strcmp(stu[j].num,stu[j+1].num)>0)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
}
}
if(aa!=1&&aa!=2)
{
printf("输入错误,请重新输入!");
system("cls");
paixu();
}
shuchu();
printf("是否返回主界面:(y是)");
scanf("%c",&c);
fflush(stdin);
if(c=='Y'||c=='y')
{
system("cls");
mulu();
}
else
{
printf("继续!");
paixu();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
paixu();
}
}
void tongji()
{
system("cls");
char a;
printf("1 统计 2 返回主界面");
scanf("%d",&a);
fflush(stdin);
if(a==1)
{
char c;
printf("请输入统计条件:\n");
printf(" 1.参加考试的学生人数\n");
printf(" 2.语文最高分\n");
printf(" 3语文及格的人数\n");
printf(" 4.语文及格率\n");
printf(" 5.英语最高分\n");
printf(" 6.英语及格的人数\n");
printf(" 7.英语及格率\n");
printf(" 8.数学最高分\n");
printf(" 9.数学及格人数\n");
printf(" 10.数学及格率\n");
printf(" 11.总成绩最高\n");
printf("请选择:");
scanf("%d",&c);
fflush(stdin);
if(c==1)
{
int j;
j=zongren();
printf("参加考试的人数是:%d",j);
back();
}
else if(c==2)
{
float a;
a=chinese();
printf("语文最高分为:%.2f",a);
back();
}
else if(c==3)
{
int a;
a=chr();
printf("语文及格的人数为:%d",a);
back();
}
else if(c==4)
{
int a,b;
a=zongren();
b=chr();
printf("语文的及格率为:%d",b/a);
back();
}
else if(c==5)
{
float a;
a=english();
printf("英语的最高分为%.2f:",a);
back();
}
else if(c==6)
{
int a;
a=enr();
printf("英语及格的人数为:%d",a);
back();
}
else if(c==7)
{
int a,b;
a=zongren();
b=enr();
printf("英语的及格率为:%.2f",b/a);
back();
}
else if(c==8)
{
float a;
a=math();
printf("数学的最高分为%.2f:",a);
back();
}
else if(c==9)
{
int a;
a=mar();
printf("数学及格的人数为:%d",a);
back();
}
else if(c==10)
{
int a,b;
a=zongren();
b=enr();
printf("数学的及格率为:%.2f",b/a);
back();
}
else if(c==11)
{
float a;
a=zongmax();
printf("总分最高为:.2f",a);
back();
}
else
{
printf("输入错误,请重新输入!");
system("cls");
tongji();
}
}
else if(a==2)
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
tongji();
}
}
int zongren()
{
int i,a=0;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
a++;
}
}
return a;
}
float chinese()
{
float max;
int i;
max=stu[0].chinese;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(max<stu[i].chinese)
{
max=stu[i].chinese;
}
}
}
return max;
}
float english()
{
float max;
int i;
max=stu[0].english;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(max<stu[i].english)
{
max=stu[i].english;
}
}
}
return max;
}
float math()
{
float max;
int i;
max=stu[0].math;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(max<stu[i].math)
{
max=stu[i].math;
}
}
}
return max;
}
float zongmax()
{
float max;
int i;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(max<stu[i].sum)
{
max=stu[i].sum;
}
}
}
return max;
}
int chr()
{
int i,a=0;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(stu[i].chinese>=60)
{
a++;
}
}
}
return a;
}
int enr()
{
int i,a=0;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(stu[i].english>=60)
{
a++;
}
}
}
return a;
}
int mar()
{
int i,a=0;
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
if(stu[i].math>=60)
{
a++;
}
}
}
return a;
}
/*void fanhui2()
{
char c;
printf("是否返回主界面:");
scanf("%c",&c);
if(c=='Y'||c=='y')
{
}
}*/
void shuchu()
{
int i;
printf("学号 ");
printf(" XX ");
printf(" 语文 ");
printf(" 英语 ");
printf(" 数学 ");
printf(" 总分 ");
puts(" ");
for(i=0;i<5;i++)
{
if(stu[i].a==1)
{
printf("%-6s",stu[i].num);
printf("%-6s",stu[i].name);
printf("%-6.2f",stu[i].chinese);
printf("%-6.2f",stu[i].english);
printf("%-6.2f",stu[i].math);
printf("%-6.2f",stu[i].sum);
puts(" ");
}
}
}
void output()
{
char c='a';
system("cls");
shuchu();
printf("是否返回主界面:(y是)");
scanf("%c",&c);
if(c=='y'||c=='Y')
{
system("cls");
mulu();
}
else
{
printf("输入错误,请重新输入!");
output();
}
}
void back()
{
char d;
printf("\n返回任意系统:任意键 返回主界面:y键");
printf("请选择:");
scanf("%c",&d);
fflush(stdin);
if(d=='Y'||d=='y')
{
system("cls");
mulu();
}
else
{
printf("继续");
tongji();
}
}
void finish()
{
exit(0);
}
. .word.zl.
展开阅读全文