C语言程序的设计学生成绩管理系统实验报告.pdf
计算机学院C 语言程序设计报告书设计名称:学生成绩管理系统专业:软件工程指导老师:班级:学号:座号:2011-6-15 一、实验目的1.在编辑应用程序过程中,逐步加深对C 语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;3.培养初步编程的能力,为以后的学习奠定基础。二、实验容运用所学的C 语言知识编辑一个应用程序:学习成绩管理系统三系统软件环境:本程序主要运行在:Visual C+6.0 Turbo C/C+3.0 四课程设计题目:学生成绩管理系统程序说明:有N 个学生,每个学生的数据包含学号(不重复)、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:(1)主菜单学生成绩管理系统1.成绩录入2.成绩查询3.成绩统计4.退出(2)各菜单项功能成绩录入:输入学生的学号、及三门课的成绩;成绩查询:*按学号查询学生记录。成绩统计:*计算学生的平均分;*根据学生的平均分高低,对学生的数据进行排序后输出;退出系统:退出整个系统(即主菜单)。五数据结构设计描述:六各变量的定义和作用int num;/*定义学号,变量为整型*/char name;/*定义,变量为字符型*/int score;/*定义课程的成绩,变量为整型*/float average;/*定义平均分,变量为浮点型*/Input 函数select 函数statistics 函数 退出系统主函数菜单函数七系统各函数的功能,、相互调用关系1.函数实现功能说明:(1)menu 函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。(2)input 函数是定义用于输入学生信息。(3)select 函数是定义用于查询学生信息。包括学号、及各科成绩。(4)statistics 函数计算学生的平均分。根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系:Main 函数调用 menu 函数。Menu 函数可以调用input 函数、select 函数和 statistics 函数八心得体会C 语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C 语言的广泛应用相比较还有很大的差距。我们对于 C 语言的理解和使用还处在一个初级的阶段,我们要想掌握它,要学习的还很多,同时要懂得创新,许多的编程方法都是人们一步一步总结出来的,我想我们也要努力拓展自己的思维,努力去寻求新的方法,以创造出更为完善的应用程序。九程序:#include#include#include#define N 3/*学生人数*/#define M 3/*课程门数*/struct student int num;/*学号*/char name20;/*/int score3;/*三门课成绩*/float average;stuN;/*学生数*/void input();/*查询*/void select();/*统计*/void menu();void input()int i,j;printf(tt 成绩录入 nn);for(i=0;iN;i+)printf(请输入学号:);scanf(%d,&stui.num);printf(请输入:);scanf(%s,&stui.name);for(j=0;jM;j+)printf(第%d 门成绩的分数:,j+1);scanf(%d,&stui.scorej);printf(nn);printf(nn);printf(输入完毕!按任意键返回主菜单!);getch();/*2.查询*/void select(int no)int i;printf(学生%d 号:n,no);printf(学号:%dn,stuno-1.num);printf(:%sn,stuno-1.name);for(i=0;iM;i+)printf(第%d 门课程的成绩为:,i+1);printf(%dn,stuno-1.scorei);printf(n 按任意键返回主菜单!);getch();/*3.统计*/void statistics()float temp=0;int i=0;int j=0;/*学生成绩平均分*/temp=0;printf(tt 成绩统计 nn);for(j=0;jN;j+)for(i=0;iM;i+)temp=temp+stuj.scorei;stuj.average=temp/N;printf(n 学生%s的成绩平均成绩为:,stuj.name);printf(%0.2f 分,stuj.average);temp=0;/*排序(冒泡法)*/for(j=0;jN;j+)for(i=0;iN-j-1;i+)if(stui.averagestui+1.average)temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;printf(nn 学生平均成绩前三名:);for(i=0;i3;i+)printf(n 第%d 名:%0.2f 分,i+1,stui.average);printf(nn 按任意键返回主菜单!);getch();void menu()int num=0;int n=0;printf(nttt 学生成绩管理系统 nn);printf(ntt 成绩录入 nttt成绩查询 nttt 成绩统计 nttt 退出系统 n);printf(tttchoose:);scanf(%d,&num);switch(num)case 1:system(cls);input();break;case 2:system(cls);printf(tt 成绩查询 nn);printf(请输入要查询的学生号(13):);scanf(%d,&n);select(n);break;case 3:system(cls);statistics();break;case 4:exit(0);default:;void main()while(1)system(cls);/*清屏*/menu();