c语言学生成绩管理系统源代码doc资料.docx
《c语言学生成绩管理系统源代码doc资料.docx》由会员分享,可在线阅读,更多相关《c语言学生成绩管理系统源代码doc资料.docx(13页珍藏版)》请在冰豆网上搜索。
![c语言学生成绩管理系统源代码doc资料.docx](https://file1.bdocx.com/fileroot1/2023-7/2/c151c441-0233-481b-b07a-388e87d15c12/c151c441-0233-481b-b07a-388e87d15c121.gif)
c语言学生成绩管理系统源代码doc资料
#include
#include
#include
typedefstructstu
{
charsz_Name[20];
charsz_ID[11];
charsz_Class[10];
floatr_Score[3];
}student;
#defineSTU_MAXSIZE60
inti_stuSize;
studentstu[STU_MAXSIZE];
/*==========显示主菜单=============*/
voidDis_Main_Menu()
{
printf("\n学生成绩管理系统\n");
printf("-----------------------\n");
printf("1:
新录入书生成绩\n");
printf("2:
修改学生成绩\n");
printf("3:
学生成绩查寻\n");
printf("4:
平均成绩和排序\n");
printf("5:
显示班级成绩单\n");
printf("6:
追加学生成绩\n");
printf("0:
推出\n");
printf("-----------------------\n");
}
/*=============录入学生成绩============*/
voidInput_Stu_Information(studentstu[])
{
inti;
printf("请依次输入学生成绩信息(姓名学号班级数学语文化学):
\n");
for(i=0;i{
printf("Student%d:
",i+1);
scanf("%s%s%s",stu[i].sz_Name,stu[i].sz_ID,stu[i].sz_Class);
scanf("%f%f%f",&stu[i].r_Score[0],&stu[i].r_Score[1],&stu[i].r_Score[2]);
}
}
/*==============将信息存入scorefile.dat文件===========*/
voidSave_File(studentstu[])
{
FILE*fp;
inti;
if((fp=fopen("c:
\\scorefile.dat","wb"))==NULL)
{
printf("Save_File函数打开文件c:
\\scorefile.dat!
失败,按任意键退出!
\n");
exit
(1);
}
for(i=0;iif(fwrite(&stu[i],sizeof(student),1,fp)!
=1)
{
printf("Writerfileerror!
\n");
exit
(1);
}
fclose(fp);
}
/*===============主菜单第一项:
新录入成绩==========*/
intInput_Data()
{
printf("\n请输入学生实际人数:
");
scanf("%d",&i_stuSize);
Input_Stu_Information(stu);
Save_File(stu);
return(i_stuSize);
}
/*=================学生成绩查询菜单=============*/
voidDis_Search_Menu()
{
printf("\n学生成绩查询\n");
printf("\n-------------------\n");
printf("\n1:
按学号查询\n");
printf("\n2:
按科目查询\n");
printf("\n0:
退出\n");
printf("\n-------------------\n");
}
/*===============按学号查询===========*/
intSearch_ID(charsz_ID[11])
{
inti;
for(i=0;i{
if(!
strcmp(sz_ID,stu[i].sz_ID))
{
printf("姓名\t学号\t班级\t数学\t\t语文\t\t化学\n");
printf("--------------------------------------\n");
printf("%S\t%s\t%s",stu[i].sz_Name,stu[i].sz_ID,stu[i].sz_Class);
printf("\t%-8.1f\t%-8.1f\t%-8.1f\n",stu[i].r_Score[0],stu[i].r_Score[1],
stu[i].r_Score[2]);
break;
}
}
if(i==i_stuSize)printf("学号输入有误!
没有该学生!
\n");
return(i);
}
/*=============按科目查询==========*/
voidSearch_Course(intcourse)
{
inti;
switch(course)
{
case1:
printf("\n姓名\t学号\t班级\t数学\n");break;
case2:
printf("\n姓名\t学号\t班级\t语文\n");break;
case3:
printf("\n姓名\t学号\t班级\t化学\n");break;
default:
printf("\n课程号错误!
\n");return;
}
printf("-------------------------------\n");
for(i=0;i{
printf("%s\t%s\t%s",stu[i].sz_Name,stu[i].sz_ID,stu[i].sz_Class);
printf("\t%-8.1f\n",stu[i].r_Score[course-1]);
}
printf("---------------------------------------\n");
}
/*=================主页第二项:
修改学生成绩==============*/
voidModify_Data()
{
inti=0;
chars_ID[11];
FILE*fp;
if((fp=fopen("c:
\\scorefile.dat","wb"))==NULL)
{
printf("Modify_Data函数打开文件c:
\\scorefile.dat!
失败,按任意键退出!
");
return;
}
printf("请输入要修改的学生学号:
");
scanf("%s",s_ID);
i=Search_ID(s_ID);
printf("请按【数学语文化学】顺序输入成绩:
");
scanf("%f%f%f",&stu[i].r_Score[0],&stu[i].r_Score[1],&stu[i].r_Score[2]);
fwrite(&stu[i],sizeof(student),i_stuSize,fp);
fclose(fp);
}
/*=============主菜单第三项:
学生成绩查询============*/
voidSearch_Data()
{
intSelect,flag=1;
intcourse;
chars_id[11];
while(flag)
{
Dis_Search_Menu();
printf("请输入所选查询功能号:
");
scanf("%d",&Select);
switch(Select)
{
case1:
printf("请输入查询学号:
");
scanf("%s",s_id);
Search_ID(s_id);
break;
case2:
printf("请输入查询科目号:
1数学,2语文3化学\n");
scanf("%d",&course);
Search_Course(course);
break;
default:
printf("输入有错误,重新选择!
\n");
break;
}
if(Select==0)
flag=0;
else
flag=1;
}
}
/*===============成绩排序==============*/
voidSort(floataverage[STU_MAXSIZE])
{
inti,j,k;
studentstemp;
floatave;
for(i=0;i{
k=i;
for(j=i;jif(average[j]if(k!
=i)
{
stemp=stu[i];
stu[i]=stu[k];
stu[k]=stemp;
ave=average[i];
average[i]=average[k];
average[k]=ave;
}
}
}
/*===============主菜单第四项:
计算平均成绩和排序=========*/
voidAverage_Sort()
{
inti;
floatsum,average[STU_MAXSIZE];
for(i=0;i{
sum=stu[i].r_Score[0]+stu[i].r_Score[1]+stu[i].r_Score[2];
average[i]=sum/3;
}
Sort(average);
printf("\n\t\t\t按平均成绩升序先是成绩\n");
printf("\t\t\t=========================\n");
printf("姓名\t学号\t班级\t数学\t\t语文\t\t化学\t\t平均成绩\n");
printf("--------------------------------\n");
for(i=0;i{
printf("%s\t%s\t%s",stu[i].sz_Name,stu[i].sz_ID,stu[i].sz_Class);
printf("\t%-8.1f\t%-8.1f\t%-8.1f",stu[i].r_Score[0],stu[i].r_Score[1],stu[i].r_Score[2]);
printf("\t%-8.1f\n",average[i]);
}
printf("--------------------------------------------\n");
}
/*=================主菜单第五项:
显示班级成绩单========*/
voidDisplay_Data()
{
charsz_Class[10];
inti=0;
printf("情输入班级名称:
");
scanf("%s",sz_Class);
printf("\n\t\t\t%s班成绩单\n",sz_Class);
printf("\t\t\t===============\n");
printf("姓名\t学号\t数学\t\t语文\t\t化学\n");
printf("-----------------------------------------\n");
for(;i{
if(!
strcmp(sz_Class,stu[i].sz_Class))
{
printf("%s\t%s",stu[i].sz_Name,stu[i].sz_ID);
printf("\t%-8.1f\t%-8.1f\t%-8.1f\n",stu[i].r_Score[0],stu[i].r_Score[1],stu[i].r_Score[2]);
}
}
printf("---------------------------------------\n");
}
/*===================主菜单第六项:
追加学生成绩====================*/
voidInsert_Data()
{
studentst;
FILE*fp;
printf("轻按下列顺序输入要插入学生的成绩(姓名学号班级数学语文化学):
\n");
scanf("%s%s%s",st.sz_Name,st.sz_ID,st.sz_Class);
scanf("%f%f%f",&st.r_Score[0],&st.r_Score[1],&st.r_Score[2]);
if((fp=fopen("c:
\\scorefile.dat","ab"))==NULL)
{
printf("Insert_stu函数打开文件scorefile.dat!
失败,按任意键退出!
");
return;
}
fwrite(&st,sizeof(student),1,fp);
fclose(fp);
}
/*==============初始化数组函数==========*/
intInit_Arr()
{
FILE*fp;
inti=0;
if((fp=fopen("c:
\\scorefile.dat","rb"))==NULL)
{
printf("Init_Arr函数打开文件c:
\\scorefile.dat!
失败,按任意键退出!
");
return(0);
}
while(!
feof(fp))
{
fread(&stu[i],sizeof(student),1,fp);
i++;
}
i_stuSize=i-1;
fclose(fp);
return
(1);
}
/*==========主程序=======*/
voidmain()
{
intiSelectNum,flag=1;
while(flag)
{
Dis_Main_Menu();
printf("情输入所选功能号0-6:
");
scanf("%d",&iSelectNum);
附件
(一):
switch(iSelectNum)
{
开了连锁店,最大的好处是让别人记住你。
“漂亮女生”一律采用湖蓝底色的装修风格,简洁、时尚、醒目。
“品牌效应”是商家梦寐以求的制胜法宝。
case1:
Input_Data();
break;
case2:
1.www。
cer。
net/artide/2004021313098897。
shtml。
if(Init_Arr())Modify_Data();
4、宏观营销环境分析break;
2、你大部分的零用钱用于何处?
case3:
标题:
上海发出通知为大学生就业—鼓励自主创业,灵活就业2004年3月17日if(Init_Arr())Search_Data();
而手工艺制品是一种价格适中,不仅能锻炼同学们的动手能力,同时在制作过程中也能体会一下我国传统工艺的文化。
无论是送给朋友还是亲人都能让人体会到一份浓厚的情谊。
它的价值是不用金钱去估价而是用你一颗真诚而又温暖的心去体会的。
更能让学生家长所接受。
break;
case4:
但这些困难并非能够否定我们创业项目的可行性。
盖茨是由一个普通退学学生变成了世界首富,李嘉诚是由一个穷人变成了华人富豪第一人,他们的成功表述一个简单的道理:
如果你有能力,你可以从身无分文变成超级富豪;如果你无能,你也可以从超级富豪变成穷光蛋。
if(Init_Arr())Average_Sort();
break;
case5:
if(Init_Arr())Display_Data();
break;
case6:
if(Init_Arr())Insert_Data();
体现市民生活质量状况的指标---恩格尔系数,上海也从1995年的53.4%下降到了2003年的37.2%,虽然与恩格尔系数多在20%以下的发达国家相比仍有差距,但按照联合国粮农组织的划分,表明上海消费已开始进入富裕状态(联合国粮农组织曾依据恩格尔系数,将恩格尔系数在40%-50%定为小康水平的消费,20%-40%定为富裕状态的消费)。
break;
default:
printf("输入有误,重新输入!
\n");
break;
}
if(iSelectNum==0)
根本不知道□flag=0;
else
flag=1;
}
}