欢迎来到天天文库
浏览记录
ID:61426955
大小:54.00 KB
页数:14页
时间:2021-01-29
《综合设计实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验题目:学生成绩管理系统实验类型:综合设计型专业班级:姓名:学号:实验时间:2009.6.15—2009.7.3实验成绩:目录1、实验目的22、实验内容23、程序设计23.1总体设计(概要设计)33.1.1数据结构33.1.2程序结构33.1.3主函数43.2详细设计63.2.1菜单函数63.2.2输入记录函数73.2.3显示记录函数83.2.4排序函数83.2.5统计信息函数93.2.6从文件读记录函数103.2.7将记录写入文件函数114.运行程序125.程序说明136.实验心得141、实验目的用所学知识设计一个较大程序,加深对计算机程序设计基础、软件工程、C语言程序设计知
2、识的理解和应用。2、实验内容编写一个综合的学生成绩管理程序。学生信息包括:学号、姓名、某门课成绩。一个学生的信息称为一个记录,程序要求实现以下功能:(1)输入记录(2)显示记录(3)按学号排序记录(4)输出统计信息:总记录数、最高分、最低分及平均分(5)从文件读取记录(6)将记录写入文件3、程序设计采用自顶向下的结构化程序设计方法。3.1总体设计(概要设计)3.1.1数据结构从题目要求可知,每个学生的记录包括下面3个属性:学号、姓名和成绩。每个属性需要用不同的数据类型表示,学号可以用整数表示,也可以用字符串表示,本题用字符串表示,姓名必须用字符串表示,成绩可用整数表示。所以每个学
3、生的记录可用一个结构体表示:structstudent{charnum[10];/*学号*/charname[20];/*姓名*/intscore;/*成绩*/}所有学生的记录用一个结构体数组表示。3.1.2程序结构从题目所要求的功能看,可编写六个函数分别完成相应的功能,为了用户使用方便,再编写一个供用户选择功能的菜单函数。本题选择简单的字符界面作为操作菜单。程序结构如下图所示:学生成绩管理系统输入记录显示记录排序记录统计信息并输出记录从文件输入记录将记录写入文件功能菜单3.1.3主函数#include#include#include4、ing.h>/*定义结构体类型STU*/typedefstruct{charnum[10];/*学号*/charname[20];/*姓名*/intscore;/*成绩*/}STU;STUstu[80];/*定义结构体数组*/intMenu(void);/*菜单函数,返回字符*/intInput(STUstu[],intn);/*输入记录(n为原有记录数),返回记录总数*/voidDisplay(STUstu[],intn);/*显示所有记录*/voidSort_by_num(STU*stu,intn);/*按学号排序*/voidStatistic(STUstu[],intn);5、/*输出统计信息*/intRead_from_file(STUstu[],intn);/*从文件读记录*/voidWrite_to_file(STUstu[],intn);/*将记录写入文件*/voidmain(){intn=0;/*记录总数*/for(;;){switch(Menu()){case'1':printf("InputRecords");/*输入若干条记录*/n=Input(stu,n);break;case'2':printf("DisplayAllRecords");/*显示所有记录*/Display(stu,n);break;case'3':print6、f("Sort");Sort_by_num(stu,n);/*按学号排序*/printf("SortSucceeded!");system("pause");break;case'4':printf("Statistic");Statistic(stu,n);/*输出统计信息*/system("pause");break;case'5':printf("Readfromafile");n=Read_from_file(stu,n);/*从文件读记录*/break;case'6':printf("WritetoaTextfile");Write_to_file(7、stu,n);/*将记录写入文件*/system("pause");break;case'0':printf("HaveaGoodLuck,Bye-bye!");/*结束程序*/system("pause");exit(0);}}}3.2详细设计各模块的设计,即各个函数的编写。3.2.1菜单函数/*Menu函数功能:提供菜单选项参数:无返回值:数字字符*/intMenu(void){charc;do{system("cls");/*清屏幕函数*/printf("*******
4、ing.h>/*定义结构体类型STU*/typedefstruct{charnum[10];/*学号*/charname[20];/*姓名*/intscore;/*成绩*/}STU;STUstu[80];/*定义结构体数组*/intMenu(void);/*菜单函数,返回字符*/intInput(STUstu[],intn);/*输入记录(n为原有记录数),返回记录总数*/voidDisplay(STUstu[],intn);/*显示所有记录*/voidSort_by_num(STU*stu,intn);/*按学号排序*/voidStatistic(STUstu[],intn);
5、/*输出统计信息*/intRead_from_file(STUstu[],intn);/*从文件读记录*/voidWrite_to_file(STUstu[],intn);/*将记录写入文件*/voidmain(){intn=0;/*记录总数*/for(;;){switch(Menu()){case'1':printf("InputRecords");/*输入若干条记录*/n=Input(stu,n);break;case'2':printf("DisplayAllRecords");/*显示所有记录*/Display(stu,n);break;case'3':print
6、f("Sort");Sort_by_num(stu,n);/*按学号排序*/printf("SortSucceeded!");system("pause");break;case'4':printf("Statistic");Statistic(stu,n);/*输出统计信息*/system("pause");break;case'5':printf("Readfromafile");n=Read_from_file(stu,n);/*从文件读记录*/break;case'6':printf("WritetoaTextfile");Write_to_file(
7、stu,n);/*将记录写入文件*/system("pause");break;case'0':printf("HaveaGoodLuck,Bye-bye!");/*结束程序*/system("pause");exit(0);}}}3.2详细设计各模块的设计,即各个函数的编写。3.2.1菜单函数/*Menu函数功能:提供菜单选项参数:无返回值:数字字符*/intMenu(void){charc;do{system("cls");/*清屏幕函数*/printf("*******
此文档下载收益归作者所有