C语言版简单成绩查询系统源代码.docx
《C语言版简单成绩查询系统源代码.docx》由会员分享,可在线阅读,更多相关《C语言版简单成绩查询系统源代码.docx(17页珍藏版)》请在冰豆网上搜索。
![C语言版简单成绩查询系统源代码.docx](https://file1.bdocx.com/fileroot1/2022-12/14/e6f5267b-6d8d-494b-a182-95c6bb9f83b8/e6f5267b-6d8d-494b-a182-95c6bb9f83b81.gif)
C语言版简单成绩查询系统源代码
//
//main.c
//xueshengchengji
//
//Createdbylxbon13-9-16.
//Copyright(c)2013年__MyCompanyName__.Allrightsreserved.
//
#include
#include"stdlib.h"
#include"string.h"
structStudent{
charname[20];
charxuehao[20];
intshuxue;
intyingyu;
intCyuyan;
};
voidmenu(void);//老师登陆后操作界面
voidmenu1(void);//老师登陆
voidmenu2(void);//输入成绩界面
voidmenu3(void);//学生凭密码登陆界面
voidmenu4(void);//学生登陆操作业面
voidmenu5(void);//老师修改学生成绩
voidmenu6(void);//老师查找平均成绩
voidmenu7(int*a,int*b);//查看分数段内的人数
voidmenu8(void);//查询不及格的人数
voidmenu9(void);//打印全体学生成绩
voidmenu10(void);//老师查看单独学生成绩
voidmenu11(void);//老师修改密码
voidmenu12(void);//通过学号查找成绩
voidmenu13(void);//学生修改密码
voidread(void);
voidwrite(void);
staticstructStudentstu[100];
staticintrenshu=0;
staticcharpassword1[]="123456";
staticcharpassword2[]="654321";
FILE*p=NULL;
FILE*p1=NULL;
FILE*p2=NULL;
FILE*p3=NULL;
intmain(intargc,constchar*argv[])
{
read();
printf("*********************************主菜单*****************************************\n");
printf("1教师登陆\t\t\t\t\t2学生登陆\n");
printf("\n");
printf("\n");
printf("*******************************************************************************\n");
printf("请选择服务项目:
");
inta;
scanf("%d",&a);
switch(a){
case1:
menu1();//laoshidenglu
break;
case2:
menu3();
break;
default:
break;
}
return0;
}
voidmenu1()//老师登陆
{chara[20];
printf("请输入您的个人密码:
");
scanf("%s",a);
if(strcmp(a,password1)==0){
printf("密码输入正确!
");
menu();
}
else{
printf("您输入的密码错误!
");
menu1();
}
}
voidmenu()//老师登陆后操作界面
{
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,保存并安全退出");
printf("\n");
inta;
scanf("%d",&a);
if(a==1){
menu2();
}
elseif(a==2){
menu5();
}
elseif(a==3){
menu6();
}
elseif(a==4){
intj,k;
printf("请输入一个分数段的起始分数");
scanf("%d",&j);
printf("请再输入一个分数段的结束分数");
scanf("%d",&k);
menu7(&j,&k);
}
elseif(a==5){
menu8();
}
elseif(a==6){
menu9();
}
elseif(a==7){
menu10();
}
elseif(a==8){
printf("请输入旧密码");
charb[20];
scanf("%s",&b);
if(strcmp(b,password1)==0){
menu11();
}
else{
printf("密码错误");
menu();
}
}
elseif(a==9){
write();
printf("您已经安全退出。
");
exit(0);
}
}
voidmenu2()//输入成绩界面
{
inti;
i=renshu;
charb[20];
printf("请输入姓名:
");
scanf("%s",stu[i].name);
printf("输入学号:
");
scanf("%s",&b);
for(inti=0;iif(strcmp(b,stu[i].xuehao)==0){
printf("您输入的学号已经存在,请重新输入\n");
menu2();
}
}
strcpy(stu[i].xuehao,b);
printf("数学成绩:
");
scanf("%d",&stu[i].shuxue);
printf("英语成绩:
");
scanf("%d",&stu[i].yingyu);
printf("C语言成绩:
");
scanf("%d",&stu[i].Cyuyan);
printf("继续请按1,其他请按2\n");
inta;
scanf("%d",&a);
if(a==1){
renshu++;
menu2();
}
else{
printf("输入完毕,正在退出。
。
。
\n");
renshu++;
menu();
}
}
voidmenu3()//学生凭密码登陆界面
{
chara[20];
printf("请输入您的个人密码:
");
scanf("%s",a);
if(strcmp(a,password2)==0){
printf("密码输入正确!
\n");
menu4();
}
else{
printf("您输入的密码错误!
");
menu3();
}
}
voidmenu4()//学生选择页面
{
printf("请选择操作:
\n");
printf("1,查询成绩\n");
printf("2,修改密码\n");
printf("3,保存并退出\n");
inta;
scanf("%d",&a);
if(a==1){
menu12();
}
elseif(a==2){
printf("请输入旧密码:
");
charb[20];
scanf("%s",b);
if(strcmp(b,password2)==0){
menu13();
}
else{
printf("密码错误\n");
menu4();
}
}
elseif(a==3){
write();
exit(0);
}
}
voidmenu5()
{
printf("请输入您要修改的学生的学号");
printf("注意学号必须是比0大的整数:
\n");
chara[20];
intc=0;
scanf("%s",a);
for(intj=0;j<100;j++){
if(strcmp(a,stu[j].xuehao)==0){
printf("请输入数学成绩");
scanf("%d",&stu[j].shuxue);
printf("请输入英语成绩");
scanf("%d",&stu[j].yingyu);
printf("请输入C语言成绩");
scanf("%d",&stu[j].Cyuyan);
c=1;
break;
}
}
if(c==0){
printf("输入的学号有误,请重新输入:
");
menu5();
}
printf("修改完毕请选择操作:
1继续按2键退到操作系统");
intb;
scanf("%d",&b);
if(b==1){
menu5();
}
elseif(b==2){
menu();
}
}
voidmenu6()
{
floatsum1=0;
floatsum2=0;
floatsum3=0;
for(intj=0;jsum1+=stu[j].shuxue;
sum2+=stu[j].yingyu;
sum3+=stu[j].Cyuyan;
}
printf("英语的总体平均成绩为:
");
printf("%.2f",sum1/(renshu));
printf("\n");
printf("数学的总体平均成绩为:
");
printf("%.2f",sum2/(renshu));
printf("\n");
printf("C语言的总体平均成绩为:
");
printf("%.2f",sum3/(renshu));
printf("\n");
printf("查看完毕.");
menu();
}
voidmenu7(int*a,int*b)
{
intl=0;
intm=0;
intc=0;
for(inti=0;iif(stu[i].shuxue>=*a&&stu[i].shuxue<=*b){
l++;
}
}
for(inti=0;iif(stu[i].yingyu>=*a&&stu[i].yingyu<=*b){
m++;
}
}
for(inti=0;iif(stu[i].Cyuyan>=*a&&stu[i].Cyuyan<=*b){
c++;
}
}
printf("数学成绩在这个分数段的人数是%d人\n",l);
printf("英语成绩在这个分数段的人数是%d人\n",m);
printf("C语言成绩在这个分数段的人数是%d人\n",c);
printf("Searchingmissionisover...\n");
menu();
}
voidmenu8()
{
inta=0;
intb=0;
intc=0;
for(inti=0;iif(stu[i].shuxue<60){
a++;
}
if(stu[i].yingyu<60){
b++;
}
if(stu[i].Cyuyan<60){
c++;
}
}
printf("数学不及格的人数为:
%d\n",a);
printf("英语不及格的人数为:
%d\n",b);
printf("C语言不及格的人数为:
%d\n",c);
menu();
}
voidmenu9()
{
for(inti=0;iprintf("姓名:
%s\n",stu[i].name);
printf("学号:
%s\n",stu[i].xuehao);
printf("数学分数:
%d\n",stu[i].shuxue);
printf("英语分数:
%d\n",stu[i].yingyu);
printf("C语言分数:
%d\n",stu[i].Cyuyan);
}
menu();
}
voidmenu10()
{
chara[20];
printf("请输入学号:
");
scanf("%s",a);
inti;
intc=0;
for(i=0;iif(strcmp(a,stu[i].xuehao)==0){
printf("您要查找学生姓名是:
%s\n",stu[i].name);
printf("数学成绩是:
%d\n",stu[i].shuxue);
printf("英语成绩是:
%d\n",stu[i].yingyu);
printf("C语言成绩是:
%d\n",stu[i].Cyuyan);
c=1;
}
}
if(c==1){
printf("是否继续查找?
1是2退到主页面");
intl=0;
scanf("%d",&l);
if(l==1){
menu10();
}
else{
menu();
}
}
if(c==0){
printf("对不起,没有该学号对应的学生!
按1重新输入,其他数字键退出");
intb;
scanf("%d",&b);
if(b==1){
menu10();
}
else{
menu();
}
}
}
voidmenu11(){
printf("请输入新的密码:
(注意密码必须是整数)");
charb[20];
scanf("%s",&b);
printf("请在输入一次新密码:
");
charc[20];
scanf("%s",&c);
if(strcmp(b,c)==0){
printf("修改密码成功!
\n");
strcpy(password1,b);
menu();
}
elseif(strcmp(b,c)!
=0){
printf("两次输入的密码不一样,请重新输入.\n");
menu11();
}
}
voidmenu12()//学生查询成绩
{
chara[20];
printf("请输入学号:
");
scanf("%s",a);
intc=0;
for(inti=0;iif(strcmp(a,stu[i].xuehao)==0){
printf("您要查找的姓名是:
%s\n",stu[i].name);
printf("数学成绩是:
%d\n",stu[i].shuxue);
printf("英语成绩是:
%d\n",stu[i].yingyu);
printf("C语言成绩是:
%d\n",stu[i].Cyuyan);
c=1;
}
}
if(c==0){
printf("notfound");
menu4();
}
printf("请选择操作1继续,2键退出");
intb;
scanf("%d",&b);
if(b==1){
menu12();
}
elseif(b==2){
menu4();
}
}
voidmenu13()//学生修改密码
{
printf("请输入新的密码:
(注意密码必须是整数)");
charb[20];
scanf("%s",&b);
printf("请在输入一次新密码:
");
charc[20];
scanf("%s",&c);
if(strcmp(b,c)==0){
printf("修改密码成功!
\n");
strcpy(password2,b);
menu4();
}
elseif(strcmp(b,c)!
=0){
printf("两次输入的密码不一样,请重新输入.\n");
menu13();
}
}
voidwrite()
{
p=fopen("/Users/ldci/Desktop/chengjiguanli2","w");
if(p==NULL){
exit
(1);
}
//fscanf(p,"%d",renshu);
fwrite(&stu,sizeof(stu[100]),100,p);
fclose(p);
p1=fopen("/Users/ldci/Desktop/chengjiguanli1","w");
if(p1==NULL){
exit
(1);
}
fwrite(&renshu,sizeof(int),1,p1);
//fwrite(&stu,sizeof(stu[100]),100,p);
fclose(p1);
p2=fopen("/Users/ldci/Desktop/password1","w");
if(p2==NULL){
exit
(1);
}
fwrite(password1,sizeof(char),20,p2);
fclose(p2);
p3=fopen("/Users/ldci/Desktop/password2","w");
if(p3==NULL){
exit
(1);
}
fwrite(password2,sizeof(char),20,p3);
fclose(p3);
}
voidread()
{
p=fopen("/Users/ldci/Desktop/chengjiguanli2","r");
if(p==NULL){
return;
}
fread(&stu,sizeof(stu[100]),100,p);
p1=fopen("/Users/ldci/Desktop/chengjiguanli1","r");
if(p1==NULL){
return;
}
fread(&renshu,sizeof(int),1,p1);
p2=fopen("/Users/ldci/Desktop/password1","r");
if(p2==NULL){
return;
}
fread(password1,sizeof(char),20,p2);
p3=fopen("/Users/ldci/Desktop/password2","r");
if(p3==NULL){
return;
}
fread(password2,sizeof(char),20,p3);
}