学生成绩管理系统源代码.docx

上传人:b****8 文档编号:9981713 上传时间:2023-05-22 格式:DOCX 页数:20 大小:17.07KB
下载 相关 举报
学生成绩管理系统源代码.docx_第1页
第1页 / 共20页
学生成绩管理系统源代码.docx_第2页
第2页 / 共20页
学生成绩管理系统源代码.docx_第3页
第3页 / 共20页
学生成绩管理系统源代码.docx_第4页
第4页 / 共20页
学生成绩管理系统源代码.docx_第5页
第5页 / 共20页
学生成绩管理系统源代码.docx_第6页
第6页 / 共20页
学生成绩管理系统源代码.docx_第7页
第7页 / 共20页
学生成绩管理系统源代码.docx_第8页
第8页 / 共20页
学生成绩管理系统源代码.docx_第9页
第9页 / 共20页
学生成绩管理系统源代码.docx_第10页
第10页 / 共20页
学生成绩管理系统源代码.docx_第11页
第11页 / 共20页
学生成绩管理系统源代码.docx_第12页
第12页 / 共20页
学生成绩管理系统源代码.docx_第13页
第13页 / 共20页
学生成绩管理系统源代码.docx_第14页
第14页 / 共20页
学生成绩管理系统源代码.docx_第15页
第15页 / 共20页
学生成绩管理系统源代码.docx_第16页
第16页 / 共20页
学生成绩管理系统源代码.docx_第17页
第17页 / 共20页
学生成绩管理系统源代码.docx_第18页
第18页 / 共20页
学生成绩管理系统源代码.docx_第19页
第19页 / 共20页
学生成绩管理系统源代码.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统源代码.docx

《学生成绩管理系统源代码.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码.docx(20页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统源代码.docx

学生成绩管理系统源代码

#include

#include

#include

#include

structstudent

{

charno[9];

charname[20];

intscore[4];

floataver;

floatsum;

};

 

voidmenu()//菜单

{

printf("\t\t学生成绩管理系统\n");

printf("\t\t*******************菜单*******************\n");

printf("\t\t*1录入成绩2删除成绩*\n");

printf("\t\t*3查询成绩4修改成绩*\n");

printf("\t\t*5插入成绩6具体查看*\n");

printf("\t\t*7成绩排序8保存成绩*\n");

printf("\t\t*9显示成绩0退出系统*\n");

printf("\t\t******************************************\n");

printf("\n");

}

 

voidinput(structstudent*stu,int*n)//录入成绩

{

inti=*n;

intk=1;

inta,b;

system("cls");

printf("\t\t\t\t录入成绩\n");

while(k)

{

printf("\t\t请输入学号:

");

scanf("%s",stu[i].no);

printf("\t\t请输入XX:

");

scanf("%s",stu[i].name);

printf("\t\t请输入语文成绩:

");

scanf("%d",&stu[i].score[0]);

printf("\t\t请输入数学成绩:

");

scanf("%d",&stu[i].score[1]);

printf("\t\t请输入英语成绩:

");

scanf("%d",&stu[i].score[2]);

printf("\t\t请输入C语言成绩:

");

scanf("%d",&stu[i].score[3]);

printf("\t\t继续录入请输入1,终止录入请输入0:

");

scanf("%d",&k);

i++;

(*n)++;

}

for(a=0;a

{//sumaver归零

stu[a].sum=0;

stu[a].aver=0;

}

for(a=0;a

for(b=0;b<4;b++)

stu[a].sum+=stu[a].score[b];

for(a=0;a

stu[a].aver=stu[a].sum/4;

system("pause");

}

voiddele(structstudent*stu,int*n)//删除成绩

{

system("cls");

inti;

charnumber[9],name[9];

printf("\t\t请输入您要删除该同学的学号:

");

scanf("%s",number);

printf("\t\t请输入您要删除该同学的XX:

");

scanf("%s",name);

for(i=0;i<*n;i++)

{

if(strcmp(stu[i].no,number)==0&&strcmp(stu[i].name,name)==0)

{

for(;i<(*n-1);i++)

stu[i]=stu[i+1];

(*n)--;

}

break;

}

printf("\t\t删除成功!

");

}

voidsearch(structstudent*stu,intn)//查询成绩

{

system("cls");

inti,a=1;

charnumber[9];

charname[20];

while(a)

{

printf("\t\t请输入您的学号:

");

scanf("%s",&number);

printf("\t\t请输入您的XX:

");

scanf("%s",&name);

for(i=0;i

{

if(strcmp(stu[i].no,number)==0&&strcmp(stu[i].name,name)==0)

{

printf("\t-----------------------------成绩单-------------------------------\n");

printf("\n");

printf("\t|学号||语文|数学|英语|C语言|总分|平均分|\n");

printf("\t|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|\n",

stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

a=0;

 

}

else

{

printf("\t\t输入有误,请重新输入!

\n");

}

break;

}

}

system("pause");

}

 

voidmodify(structstudent*stu,intn)//修改成绩

{

system("cls");

charnumber[9],name[9];

inta,i,m=1,b;

printf("\t根据学号来修改成绩请输入1,根据XX来修改成绩请输入0。

\n");

scanf("%d",&a);

do

{

if(a==1)

{

printf("\t\t请输入您要修改同学的学号:

");

scanf("%s",number);

for(i=0;i

{

if(strcmp(stu[i].no,number)==0)

{

printf("\n");

printf("\t-----------------------------成绩单-------------------------------\n");

printf("\n");

printf("\t|学号||语文|数学|英语|C语言|总分|平均分|\n");

printf("\t|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|\n",

stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

printf("\t\t请输入新的学号:

");

scanf("%s",stu[i].no);

printf("\t\t请输入新的XX:

");

scanf("%s",stu[i].name);

printf("\t\t请输入新的语文成绩:

");

scanf("%d",&stu[i].score[0]);

printf("\t\t请输入新的数学成绩:

");

scanf("%d",&stu[i].score[1]);

printf("\t\t请输入新的英语成绩:

");

scanf("%d",&stu[i].score[2]);

printf("\t\t请输入新的C语言成绩:

");

scanf("%d",&stu[i].score[3]);

m--;

b=i;

}

}

}

if(a==0)

{

printf("\t\t请输入您要修改同学的XX:

");

scanf("%s",name);

for(i=0;i

{

if(strcmp(stu[i].name,name)==0)

{

printf("\n");

printf("\t-----------------------------成绩单-------------------------------\n");

printf("\n");

printf("\t|学号||语文|数学|英语|C语言|总分|平均分|\n");

printf("\t|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|\n",

stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

printf("\t\t请输入新的学号:

");

scanf("%s",stu[i].no);

printf("\t\t请输入新的XX:

");

scanf("%s",stu[i].name);

printf("\t\t请输入新的语文成绩:

");

scanf("%d",&stu[i].score[0]);

printf("\t\t请输入新的数学成绩:

");

scanf("%d",&stu[i].score[1]);

printf("\t\t请输入新的英语成绩:

");

scanf("%d",&stu[i].score[2]);

printf("\t\t请输入新的C语言成绩:

");

scanf("%d",&stu[i].score[3]);

m--;

b=i;

}

}

}

 

}while(m);

printf("\t\t该同学修改后的成绩为:

\n");

printf("\t-----------------------------成绩单-------------------------------\n");

printf("\n");

printf("\t|学号||语文|数学|英语|C语言|总分|平均分|\n");

printf("\t|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|\n",

stu[b].no,stu[b].name,stu[b].score[0],stu[b].score[1],stu[b].score[2],stu[b].score[3],stu[b].sum,stu[b].aver);

system("pause");

}

 

voidinsert(structstudent*stu,int*n)//插入成员

{

/*system("cls");

inti,j,a;

printf("插入学生成绩!

");

printf("");

scanf("%d",&a);

do

{

if(a==1)

{

(*n)++;

}

}*/

 

}

 

voidcount(structstudent*stu,intn)//成绩详情

{

system("cls");

inta=0,b=0,c=0,d=0;

inti;

for(i=0;i

{

if(stu[i].score[0]<60)

a++;

}

for(i=0;i

{

if(stu[i].score[1]<60)

b++;

}

for(i=0;i

{

if(stu[i].score[2]<60)

c++;

}

for(i=0;i

{

if(stu[i].score[3]<60)

a++;

}

for(i=0;i

{

if(stu[i].score[1]<60)

d++;

}

printf("\t\t语文不及格人数为:

%d个\n",a);

printf("\t\t数学不及格人数为:

%d个\n",b);

printf("\t\t英语不及格人数为:

%d个\n",c);

printf("\t\tC语言不及格人数为:

%d个\n",d);

system("pause");

}

 

voidsort(structstudent*stu,intn)//成绩排序

{

system("cls");

inta,i,j;

structstudentk;

printf("按学号排序请输入1、按总分高低排序请输入0:

");

scanf("%d",&a);

if(a==1)

{

for(i=0;i

for(j=0;j

{

if(strcmp(stu[j].no,stu[j+1].no)>0)

{

k=stu[j];

stu[j]=stu[j+1];

stu[j+1]=k;

}

}

printf("\t\t140705班学生成绩\n");

printf("-----------------------------成绩单-------------------------------\n");

printf("\n");

printf("|学号||语文|数学|英语|C语言|总分|平均分|\n");

for(i=0;i

{

printf("|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|\n",

stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

}

printf("\n");

printf("------------------------------------------------------------------\n");

system("pause");

return;

}

if(a==0)

{

for(i=0;i

for(j=0;j

{

if(stu[j].sum

{

k=stu[j];

stu[j]=stu[j+1];

stu[j+1]=k;

}

}

printf("140705班学生成绩\n");

printf("-----------------------------------成绩单-----------------------------------\n");

printf("\n");

printf("|学号||语文|数学|英语|C语言|总分|平均分|名次|\n");

for(i=0;i

{

printf("|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|第%d名|\n",

stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver,i+1);

}

printf("\n");

printf("----------------------------------------------------------------------------\n");

system("pause");

return;

}

}

 

voidsave(student*stu,intn)

{

 

intsavingflag=1;

FILE*fp;

inti;

fp=fopen("c:

\\student","wb");//打开文件

if(fp==NULL)

{

printf("\n==========>打开错误!

\n");

getchar();

return;

}

printf("-----------%d----------",n);

system("pause");

for(i=0;i

{

if(fwrite(&stu[i],sizeof(structstudent),1,fp)==1)

{}

else

break;

}

if(n>0)

{

getchar;

printf("\n\n\n=================>已保存的学生信息的总数为:

%d\n",n);

getchar();

savingflag=0;

}

else

{

system("cls");

printf("当前无保存的学生信息!

\n");

getchar();

}

fclose(fp);

system("pause");

}

 

voiddisplay(structstudent*stu,intn)//显示成绩

{

system("cls");

inti;

printf("\t\t140705班学生成绩");

printf("\n");

if(n==0)

{

printf("\t\t------>无成绩!

\n");

system("pause");

return;

}

printf("\t-----------------------------成绩单-------------------------------\n");

printf("\n");

printf("\t|学号||语文|数学|英语|C语言|总分|平均分|\n");

for(i=0;i

{

printf("\t|%-5s|%-6s|%-4d|%-4d|%-4d|%-4d|%-3.1f|%-5.1f|\n",

stu[i].no,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

}

printf("\n");

printf("\t------------------------------------------------------------------\n");

system("pause");

return;

}

voidf(structstudent*stu,intn)

{

intselect;//选择变量

while

(1)

{

inta;

system("cls");

menu();

printf("\t\t请输入你的选择(0~9):

");

scanf("%d",&select);

a=select;

switch(a)

{

case1:

input(stu,&n);break;

case2:

dele(stu,&n);break;

case3:

search(stu,n);break;

case4:

modify(stu,n);break;

case5:

insert(stu,&n);break;

case6:

count(stu,n);break;

case7:

sort(stu,n);break;

case8:

save(stu,n);break;

case9:

display(stu,n);break;

case0:

exit

(1);break;

default:

printf("输入有误!

");break;

}

}

}

voidread(structstudent*stu,int*n)

{

FILE*fp;//文件指针

inti=0;

fp=fopen("c:

\\student","ab+");

if(fp==NULL)

{

printf("\n=====>cannotopenfile!

\n");

exit(0);

}

while(!

feof(fp))

{

if(fread(stu+i,sizeof(structstudent),1,fp)==1)//一次从文件读取一条学生成绩记录

{i++;}

}

*n=i;

fclose(fp);//关闭文件

}

 

voidmain()//登录界面

{

system("cls");

structstudentstu[100];

structstudent*p;

intn=0;

system("color0B");

chara[10]="140705",b[10]="123456";

charc[10],d[10];

inth=5;

read(stu,&n);

printf("\t\t***********欢迎进入学生成绩管理系统!

***********\n");

printf("\n");

printf("\n");

printf("\t\t\t\t用户登录\n");

printf("\t\t请输入用户名:

");

scanf("%s",c);

p

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2