资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
本文格式为Word版,下载可任意编辑,页眉双击删除即可。【C语言综合实验2报告】-网 试验报告 试验名称 小型学生信息管理系统 试验项目 编写一学生信息管理系统,用来管理学生基本信息及成果信息 专业班级 姓名 学号 指导教师 成果 日期 一、 试验目的 本试验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该试验,将课本上的理论学问和实际有机地结合起来,锻炼学生分析、解决较冗杂问题的能力,提高学生编写综合系统程序的能力。 二、 试验内容 编写一个学生信息管理系统,主要用来管理学生基本信息及成果信息。系统功能模块如下列图: 显 示 主菜单 数据 输入 数据 修改 数据 输出 退出 数据 处理 查询 排序 统计 平均分 不及格科 目 具体要求为:1. 建立学生信息,每个学生的信息应包括:学号、姓名、性别、班级、至少3门课程的成果; 2. 数据输入:输入学生的各项信息; 3. 数据修改:依据输入学生的学号可以选择修改该学生的信息; 4. 数据处理:可以选择处理方式为:排序、查询、统计。其中:a) 排序:按学号排序 b) 查询:依据学号查询成果 c) 统计:可以选择统计各学生的平均成果或统计全部存在不及格科目的学生; 5. 数据输出:输出学生的相应结果信息; 三、 程序组织结构图、函数调用关系图 main( ) if(choice=4) if(choice=3) if(choice=2) if(choice=1) if(choice=5) switch(choice) switch(choice) switch(choice) switch(choice) switch(choice) main():程序的总体操纵 if(choice=1):输入数据 if(choice=2):修改数据 if(choice=3):处理数据 switch(choice):数据处理项目的选择; 统计平均分、统计不合格学生 if(choice=4):输出数据 if(choice=4):退出系统 四、 程序清单 ; struct student int num; char name10; char sex1; int classes; float fenshu1; float fenshu2; float fenshu3; stu50; struct student temp; void main() int a=1,choice; do printf(“*n“); printf(“ 1:输入数据 2:修改数据 3:处理数据n“); printf(“ 4:输出数据 5:退出系统n“); printf(“*n“); printf(“请选择具体的统计内容15:“); scanf(“%d“,choice); if(choice!=1choice!=2choice!=3choice!=4choice!=5) printf(“输入错误n“); if(choice=5) printf(“感谢使用n“);break; else switch(choice) case 1: int a; for(a=0;a50;a+) printf(“请输入第%d学生的学号输入0结束:“,a+1); scanf(“%d“,stua.num); if(stua.num=0) break; printf(“请输入第%d学生的姓名:“,a+1); scanf(“%s“,stua.name); printf(“请输入第%d学生的性别:“,a+1); scanf(“%s“,stua.sex); printf(“请输入第%d学生的班级:“,a+1); scanf(“%d“,stua.classes); printf(“请输入第%d学生的语文成果:“,a+1); scanf(“%f“,stua.fenshu1); printf(“请输入第%d学生的数学成果:“,a+1); scanf(“%f“,stua.fenshu2); printf(“请输入第%d学生的英语成果:“,a+1); scanf(“%f“,stua.fenshu3); sum=a+1; printf(“n“); break; case 2: int a,number1,number2,number3=0,flag=0; printf(“请输入需要修改信息的学生的学号:“); scanf(“%d“,number1); printf(“n“); for(a=0;asum;a+) if(number1=stua.num) number3+; printf(“n“); printf(“1.学号 2.姓名 3.性别 4.班级n“); printf(“5.语文成果 6.数学成果 7.英语成果 8.退出修改n“); printf(“n“); printf(“请选择需要进行的操作18:“); scanf(“%d“,number2); switch(number2) case 1:printf(“请输入该学生的新学号:“); scanf(“%d“,stua.num); break; case 2:printf(“请输入该学生的新姓名:“); scanf(“%s“,stua.name); break; case 3:printf(“请输入该学生的新性别:“); scanf(“%s“,stua.sex); break; case 4:printf(“请输入该学生的新班级:“); scanf(“%d“,stua.classes); break; case 5:printf(“请输入该学生的新语文成果:“); scanf(“%f“,stua.fenshu1); break; case 6:printf(“请输入该学生的新数学成果:“); scanf(“%f“,stua.fenshu2); break; case 7:printf(“请输入该学生的新英语成果:“); scanf(“%f“,stua.fenshu3); break; case 8:break; printf(“n“); printf(“修改后该学生的信息为:n“); printf(“学号 姓名 性别 班级 语文 数学 英语n“); printf(“-n“); printf(“%-9d%-10s%-9s%-9d%-9.1f%-9.1f%-9.1fn“,stua.num,stua.name,stua.sex, stua.classes,stua.fenshu1,stua.fenshu2,stua.fenshu3); flag=1; break; if(flag=0) printf(“无该学号学生记录!n“); break; printf(“n“); break; case 3: printf(“n“); int a,number1,number2,i,j,index=1; printf(“n“); printf(“1:按学号排序 2:查询n“); printf(“3:统计 4:返回主菜单n“); printf(“n“); printf(“请选择具体的处理内容13:“); scanf(“%d“,number1); switch(number1) case 1: printf(“排序后结果:n“); printf(“学号 姓名 性别 班级 语文 数学 英语n“); printf(“-n“); for(j=1;j=sum;j+) for(i=0;isum-j;i+) if(stui.numstui+1.num) temp=stui; stui=stui+1; stui+1=temp; for(a=0;asum;a+) printf(“%-9d%-9s%-9s%-9d%-9.1f%-9.1f%-9.1fn“,stua.num,stua.name, stua.sex,stua.classes,stua.fenshu1,stua.fenshu2,stua.fenshu3); break; case 2: printf(“请输入要查询的学生的学号:“); scanf(“%d“,number2); printf(“n“); for(a=0;asum;a+) if(number2=stua.num) printf(“学号 姓名 性别 班级 语文 数学 英语n“); printf(“-n“); printf(“%-9d%-9s%-9s%-9d%-9.1f%-9.1f%-9.1fn“,stua.num,stua.name, stua.sex,stua.classes,stua.fenshu1,stua.fenshu2,stua.fenshu3); break;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号