网站首页 公文大全 个人文档 实用范文 讲话致辞 实用工具 心得体会 哲学范文 总结范文 范文大全 报告 合同 文书 信函 实用
  • 文秘知识
  • 条据书信
  • 行政公文
  • 党团范文
  • 演讲稿
  • 自我鉴定
  • 合同范文
  • 策划书
  • 百花范文网 > 范文大全 > 演讲稿 > 【C语言综合实验2报告】

    【C语言综合实验2报告】

    时间:2021-06-16 02:01:49来源:百花范文网本文已影响

    实验报告 实验名称 小型学生信息管理系统 实验项目 编写一学生信息管理系统,用来管理学生基本信息及成绩信息 专业班级 姓名 学号 指导教师 成绩 日期 一、 试验目的 本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力。

    二、 实验内容 编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图:
    显 示 主菜单 数据 输入 数据 修改 数据 输出 退出 数据 处理 查询 排序 统计 平均分 不及格科 目 具体要求为:
    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):退出系统 四、 程序清单 #include<stdio.h> int sum=0; struct student { int num; char name[10]; char sex[1]; int classes; float fenshu1; float fenshu2; float fenshu3; }stu[50]; struct student temp; void main() { int a=1,choice; do { printf(“*****************************************\n“); printf(“ 1:输入数据 2:修改数据 3:处理数据\n“); 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) { case 1: { int a; for(a=0;a<50;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; case 2: { int a,number1,number2,number3=0,flag=0; printf(“请输入需要修改信息的学生的学号:“); scanf(“%d“,&number1); printf(“\n“); for(a=0;a<sum;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) { case 1:printf(“请输入该学生的新学号:“); scanf(“%d“,&stu[a].num); break; case 2:printf(“请输入该学生的新姓名:“); scanf(“%s“,stu[a].name); break; case 3:printf(“请输入该学生的新性别:“); scanf(“%s“,stu[a].sex); break; case 4:printf(“请输入该学生的新班级:“); scanf(“%d“,&stu[a].classes); break; case 5:printf(“请输入该学生的新语文成绩:“); scanf(“%f“,&stu[a].fenshu1); break; case 6:printf(“请输入该学生的新数学成绩:“); scanf(“%f“,&stu[a].fenshu2); break; case 7:printf(“请输入该学生的新英语成绩:“); scanf(“%f“,&stu[a].fenshu3); break; case 8: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; 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(“请选择具体的处理内容<1~3>:“); scanf(“%d“,&number1); switch(number1) { case 1: { printf(“排序后结果:\n“); printf(“学号 姓名 性别 班级 语文 数学 英语\n“); printf(“-----------------------------------------------------------------\n“); for(j=1;j<=sum;j++) for(i=0;i<sum-j;i++) if(stu[i].num>stu[i+1].num) { temp=stu[i]; stu[i]=stu[i+1]; stu[i+1]=temp; } for(a=0;a<sum;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; } case 2: { printf(“请输入要查询的学生的学号:“); scanf(“%d“,&number2); printf(“\n“); for(a=0;a<sum;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; } case 3: { int choice,a; printf(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n“); printf(“1:统计平均分 2:统计不及格学生信息 3:返回\n“); printf(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n“); printf(“请再选择具体的统计内容<1~3>:“); scanf(“%d“,&choice); switch(choice) { case 1: { printf(“所有学生的平均成绩是:\n“); printf(“学号 姓名 平均\n“); printf(“------------------------\n“); for(a=0;a<sum;a++) printf(“%-9d%-9s%-9.1f%\n“,stu[a].num,stu[a].name, ((stu[a].fenshu1+stu[a].fenshu2+stu[a].fenshu3)/3)); break; } case 2: printf(“有不及格科目的学生是:\n“); printf(“学号 姓名 性别 班级 语文 数学 英语\n“); printf(“-----------------------------------------------------------------\n“); for(a=1;a<=sum;a++) if(stu[a].fenshu1<60||stu[a].fenshu2<60||stu[a].fenshu3<60) 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; case 3: break; } } break; case 4: break; } } printf(“\n“); break; case 4: { int a; printf(“\n“); printf(“学号 姓名 性别 班级 语文 数学 英语\n“); printf(“-----------------------------------------------------------------\n“); for(a=0;a<sum;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); } 五、 运行结果 六、 实验总结(调试分析和体会) 调试分析:在编写这个实验源程序的过程中遇到了不少问题。例如:(1)应该怎样安排程序的结构才能不至于混乱;
    (2)程序逻辑大致正确的时候,小问题却不断:1.忽略了字母的大小写;
    2.输入法没切换正确,标点符号中英混乱;
    3.switch语句中经常忘了break…… 体会:通过编写这个小小的源程序,学习C语言的热情就像脱缰的野马般不受控制了。程序的语句把我领进了一个崭新的国度,我像一个贪婪的孩子渴求糖果般不断想吸取c语言的知识,过程中,发现了C语言世界里的乐趣,提高了自己学习c语言的兴趣,实操了计算机基础里的基础理论知识,其乐无穷。而且,经过各方面知识的碰撞,我乐呵呵地注意到眼前的一幅巨大前景正在华丽地展开。更甚,这个程序的编写直接让我的期末考获利,要知道,编写的过程中我可是查缺补漏了很多。我想,以后如果可以的话还是会深深探究一下这高科技领域的。

    fo山科学技术学院

    相关热词搜索:

    • 范文大全
    • 说说大全
    • 学习资料
    • 语录
    • 生肖
    • 解梦
    • 十二星座

    推荐访问