您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > C语言综合实验2报告
佛山科学技术学院实验报告实验名称小型学生信息管理系统实验项目编写一学生信息管理系统,用来管理学生基本信息及成绩信息专业班级姓名学号指导教师林冬梅成绩日期一、试验目的本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力。二、实验内容编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图:具体要求为:1.建立学生信息,每个学生的信息应包括:学号、姓名、性别、班级、至少3门课程的成绩;2.数据输入:输入学生的各项信息;3.数据修改:根据输入学生的学号可以选择修改该学生的信息;4.数据处理:可以选择处理方式为:排序、查询、统计。其中:a)排序:按学号排序b)查询:根据学号查询成绩c)统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生;5.数据输出:输出学生的相应结果信息;三、程序组织结构图、函数调用关系图显示主菜单数据输入数据修改数据输出退出数据处理查询排序统计平均分不及格科目main():程序的总体控制if(choice==1):输入数据if(choice==2):修改数据if(choice==3):处理数据switch(choice):数据处理项目的选择;统计平均分、统计不合格学生if(choice==4):输出数据if(choice==4):退出系统四、程序清单#includestdio.hintsum=0;structstudent{intnum;charname[10];charsex[1];intclasses;floatfenshu1;floatfenshu2;floatfenshu3;}stu[50];structstudenttemp;voidmain(){inta=1,choice;do{printf(*****************************************\n);printf(1:输入数据2:修改数据3:处理数据\n);main()if(choice==1)if(choice==2)if(choice==3)if(choice==4)if(choice==5)switch(choice)switch(choice)switch(choice)switch(choice)switch(choice)printf(4:输出数据5:退出系统\n);printf(*****************************************\n);printf(请选择具体的统计内容1~5:);scanf(%d,&choice);if(choice!=1&&choice!=2&&choice!=3&&choice!=4&&choice!=5)printf(输入错误\n);if(choice==5){printf(谢谢使用\n);break;}else{switch(choice){case1:{inta;for(a=0;a50;a++){printf(请输入第%d学生的学号输入0结束:,a+1);scanf(%d,&stu[a].num);if(stu[a].num==0)break;printf(请输入第%d学生的姓名:,a+1);scanf(%s,stu[a].name);printf(请输入第%d学生的性别:,a+1);scanf(%s,stu[a].sex);printf(请输入第%d学生的班级:,a+1);scanf(%d,&stu[a].classes);printf(请输入第%d学生的语文成绩:,a+1);scanf(%f,&stu[a].fenshu1);printf(请输入第%d学生的数学成绩:,a+1);scanf(%f,&stu[a].fenshu2);printf(请输入第%d学生的英语成绩:,a+1);scanf(%f,&stu[a].fenshu3);sum=a+1;}}printf(\n);break;case2:{inta,number1,number2,number3=0,flag=0;printf(请输入需要修改信息的学生的学号:);scanf(%d,&number1);printf(\n);for(a=0;asum;a++){if(number1==stu[a].num){number3++;printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(1.学号2.姓名3.性别4.班级\n);printf(5.语文成绩6.数学成绩7.英语成绩8.退出修改\n);printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(请选择需要进行的操作1~8:);scanf(%d,&number2);switch(number2){case1:printf(请输入该学生的新学号:);scanf(%d,&stu[a].num);break;case2:printf(请输入该学生的新姓名:);scanf(%s,stu[a].name);break;case3:printf(请输入该学生的新性别:);scanf(%s,stu[a].sex);break;case4:printf(请输入该学生的新班级:);scanf(%d,&stu[a].classes);break;case5:printf(请输入该学生的新语文成绩:);scanf(%f,&stu[a].fenshu1);break;case6:printf(请输入该学生的新数学成绩:);scanf(%f,&stu[a].fenshu2);break;case7:printf(请输入该学生的新英语成绩:);scanf(%f,&stu[a].fenshu3);break;case8:break;}printf(\n);printf(修改后该学生的信息为:\n);printf(学号姓名性别班级语文数学英语\n);printf(-----------------------------------------------------------------\n);printf(%-9d%-10s%-9s%-9d%-9.1f%-9.1f%-9.1f\n,stu[a].num,stu[a].name,stu[a].sex,stu[a].classes,stu[a].fenshu1,stu[a].fenshu2,stu[a].fenshu3);flag=1;break;}if(flag=0){printf(无该学号学生记录!\n);break;}}}printf(\n);break;case3:{printf(\n);inta,number1,number2,i,j,index=1;printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(1:按学号排序2:查询\n);printf(3:统计4:返回主菜单\n);printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(请选择具体的处理内容1~3:);scanf(%d,&number1);switch(number1){case1:{printf(排序后结果:\n);printf(学号姓名性别班级语文数学英语\n);printf(-----------------------------------------------------------------\n);for(j=1;j=sum;j++)for(i=0;isum-j;i++)if(stu[i].numstu[i+1].num){temp=stu[i];stu[i]=stu[i+1];stu[i+1]=temp;}for(a=0;asum;a++)printf(%-9d%-9s%-9s%-9d%-9.1f%-9.1f%-9.1f\n,stu[a].num,stu[a].name,stu[a].sex,stu[a].classes,stu[a].fenshu1,stu[a].fenshu2,stu[a].fenshu3);break;}case2:{printf(请输入要查询的学生的学号:);scanf(%d,&number2);printf(\n);for(a=0;asum;a++)if(number2==stu[a].num){printf(学号姓名性别班级语文数学英语\n);printf(-----------------------------------------------------------------\n);printf(%-9d%-9s%-9s%-9d%-9.1f%-9.1f%-9.1f\n,stu[a].num,stu[a].name,stu[a].sex,stu[a].classes,stu[a].fenshu1,stu[a].fenshu2,stu[a].fenshu3);}break;}case3:{intchoice,a;printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(1:统计平均分2:统计不及格学生信息3:返回\n);printf(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(请再选择具体的统计内容1~3:);scanf(%d,&choice);switch(choice){case1:{printf(所有学生的平均成绩是:\n);printf(学号姓名平均\n);printf(------------------------\n);for(a=0;asum;a++)printf(%-9d%-9s%-9.1f%\n,stu[a].num,stu[a].name,((stu[a].fenshu1+stu[a].fenshu2+stu[a].fenshu3)/3));break;}case2:printf(有不及格科目的学生是:\n);printf(学号姓名性别班级语文数学英语\n);printf(-----------------------------------------------------------------\n);for(a=1;a=sum;a++)if(stu[a].fenshu160||stu[a].fenshu260||stu[a].fenshu360)printf(%-9d%-9s%-9s%-9d%-9.1f%-9.1f%-9.1f\n,stu[a].num,stu[a].name,stu[a].sex,stu[a].classes,stu[a].fenshu1,stu[a].fenshu2,stu[a].fenshu3);break;case3:break;}}break;case4:break;}}printf(\n);break;case4:{inta;printf(\n);printf(学号姓名性别班级语文数学英语\n);printf(-----------------------------------------------------------------\n);for(a=0;asum;a++)printf(%-9d%-9s%-9s%-9d%-9.1f%-9.1f%-9.1f\n,stu[a].num,stu[a].name,stu[a].sex,stu[a].classes,stu[a].fenshu1,stu[a].fenshu2,stu[a].fenshu3);}printf(\n);break;}}}while(1);}五、运行结果六、实验总结
本文标题:C语言综合实验2报告
链接地址:https://www.777doc.com/doc-4941422 .html