您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 学生成绩录入查询系统C语言程序
#includestdio.h#includestdlib.h#includeconio.h#defineM50/********************************全局变量***************************/typedefstruct{longid;/*学号*/charname[20];/*姓名*/charsex[10];intmath;/*数学成绩*/intenglish;intc_program;inttotal;}STUDENTS;STUDENTSstu[M];/*定义学生结构体变量*/intnum=-1;/*num+1:当前学生个数*//*////////////////////////函数声明//////////////////////////*//*////////主功能模块/////////*/voidpage_title();/*主菜单*/voidstudent_new();/*录入学生*/voidstudent_edit();/*修改学生信息*/voidstudent_del();/*删除学生信息*/voidscore_search();/*根据学号查询学生信息*/voidid_sort();/*通过学号递增排序输出*/voidscore_sort();/*按成绩递减排序输出*/voidshow(ints);/*显示学生信息*//*////////子功能模块//////////*/intfind(longid);/*通过学号查询数组下标*/voidshow_one(intn);/*显示一个学生信息*/voidinput_one(intn);/*输入一个学生信息*/voidcount(intn);/*计算总成绩*/voidinto_menu();/*从功能模块进入主菜单*/voidleft();/*保存退出*/voidpage_head1();voidpage_head2();/*/////////文件操作////////*/voidload();/*读取文件*/voidsave();/*保存文件*//*////////////////////主函数///////////////////////*/voidmain(){load();while(1){page_title();}}/*////////////////////主菜单///////////////////////////*/voidpage_title(){charc;system(cls);/*清屏*/printf(\n\n学生成绩管理系统\n\n);printf(\t1录入学生成绩记录\n\n);printf(\t2显示学生成绩记录\n\n);printf(\t3修改学生成绩记录\n\n);printf(\t4删除学生成绩记录\n\n);printf(\t5按学号查询学生记录\n\n);printf(\t6按学号显示学生记录\n\n);printf(\t7按总成绩递减输出\n\n);printf(\t8保存\n\n);printf(\t0退出\n\n);printf(***************************************************\n);printf(请用数字键0-8选择操作\n\n);c=getch();system(cls);switch(c){case'1':student_new();break;/*录入学生基本信息*/case'2':show(0);break;/*显示所有记录*/case'3':student_edit();break;/*修改记录*/case'4':student_del();break;/*删除记录*/case'5':score_search();break;/*查询记录*/case'6':id_sort();break;/*按学号排序显示*/case'7':score_sort();break;/*按成绩递减排序显示*/case'8':save();break;/*保存*/case'0':left();/*退出*/}}/*////////////////////录入学生基本信息//////////////*/voidstudent_new(){chars[3];intn=0;printf(\n请输入学生的个数(1-%d):,M);scanf(%s,s);/*输入选择项*/n=atoi(s);/*将输入的字符串转化为整型数*/while(!(n0&&n=M)){printf(\n请重新输入学生个数:);scanf(%s,s);/*输入选择项*/n=atoi(s);/*将输入的字符串转化为整型数*/}printf(\n);page_head1();while(n--){num++;input_one(num);count(num);}}/*////////////////////删除学生基本信息//////////////*/voidstudent_del(){longid;charc;intn;while(1){printf(请输入你要删除学生的学号:);scanf(%ld,&id);printf(\n);n=find(id);if(n!=-1)break;elsesystem(cls);}page_head2();show_one(n);printf(\n请确认删除吗?请输入Y或者N);c=getch();if('Y'==c||'y'==c){stu[n].id=stu[num].id;stu[n].math=stu[num].math;stu[n].english=stu[num].english;stu[n].total=stu[num].total;strcpy(stu[n].name,stu[num].name);strcpy(stu[n].sex,stu[num].sex);num--;}}/*//////////////////////////修改信息////////////////////////*/voidstudent_edit(){longid;intn;while(1){printf(请输入你要修改学生的学号:);scanf(%ld,&id);printf(\n);n=find(id);if(n!=-1)break;elsesystem(cls);}page_head2();show_one(n);printf(\n请输入新的信息:\n);page_head1();scanf(%ld%s%s%d%d%d,&stu[n].id,stu[n].name,stu[n].sex,&stu[n].math,&stu[n].english,&stu[n].c_program);count(n);}/*////////////////////按学号查询成绩//////////////////////*/voidscore_search(){longid;intn;printf(请输入你要查询学生的学号:);scanf(%ld,&id);printf(\n);n=find(id);if(n!=-1){page_head2();show_one(n);}elseprintf(不存在该学号学生信息!!);into_menu();}/*///////////////////按学号排序显示//////////////////////////*/voidid_sort(){inti=0;intn;longmin=stu[0].id;for(i=1;i=num;i++){if(stu[i].idmin)min=stu[i].id;}page_head2();for(i=0;i=num;){n=find(min++);if(n!=-1){i++;show_one(n);}}into_menu();/*进入主菜单*/}/*///////////////////按总成绩冒泡排序显示//////////////////////////*/voidscore_sort(){STUDENTSstu1;inti,j;for(i=0;inum;i++)/*多少趟*/{for(j=0;jnum-i;j++)/*第i趟,比较次数*/{if(stu[j].totalstu[j+1].total){stu1.id=stu[j].id;stu[j].id=stu[j+1].id;stu[j+1].id=stu1.id;stu1.math=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=stu1.math;stu1.english=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=stu1.english;stu1.c_program=stu[j].c_program;stu[j].c_program=stu[j+1].c_program;stu[j+1].c_program=stu1.c_program;stu1.total=stu[j].total;stu[j].total=stu[j+1].total;stu[j+1].total=stu1.total;strcpy(stu1.name,stu[j].name);strcpy(stu[j].name,stu[j+1].name);strcpy(stu[j+1].name,stu1.name);strcpy(stu1.sex,stu[j].sex);strcpy(stu[j].sex,stu[j+1].sex);strcpy(stu[j+1].sex,stu1.sex);}}}show(-1);}/*******************选择排序,记录最大值的下标***************************voidscore_sort(){inti,j,k,max,t;intindex[M];for(j=0;jnum+1;j++){index[j]=j;}for(i=0;inum;i++){max=index[i];k=i;for(j=i+1;jnum+1;j++){t=index[j];if(stu[t].totalstu[max].total){max=t;k=j;}}t=index[k];index[k]=index[i];index[i]=t;}page_head2();for(i=0;inum+1;i++){k=index[i];show_one(k);}into_menu();}*//*////////////////////显示信息///////////////////////////////*/voidshow(ints){inti,j;page_head2();for(i=0;inum+1;i++){if(-1==s)j=num-i;elsej=i;show_one(j);}into_menu();/*进入主菜单*/}/*////////////////////子功能模块///////////////////////////////////////////////////*/intfind(longid){intn;for(n=0;n=num;n++){if(stu[n].id==id){returnn;}}return-1;}voidinput_one(intn){scanf(%ld%s%s%d%d%d,&stu[n].id,stu[n].name,stu[n].sex,&stu[n].math,&stu[n].english,&stu[n].c_program);printf(-------------------------------------
本文标题:学生成绩录入查询系统C语言程序
链接地址:https://www.777doc.com/doc-7293553 .html