c语言实验报告--学生成绩管理系统.doc
XX大学CSUC语言程序设计实践报告题目学生成绩管理系统学生姓名剽悍的小白兔指导教师TZ学院信息科学与工程学院专业班级电气信息类XXXX班完成时间20XX年X月一、设计目的通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生我们利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。二、系统分析随着科学技术的不断发展,对人们的工作水平要求也越来越高,然而计算机就成了帮助人们解决这个问题的工具,熟练的运用计算机,它能为人们解决许多工作上的难题。对与一个管理人员来说,快而迅速的了解各种信息是很关键的。使用计算机在C语言环境下编写相关的管理系统就能达到对相关信息的录入、显示;对记录的查询极其修改等目的。基于同样的C语言环境,对其提供的头文件H(STDIOH,STDLIBH,STRINGH,MALLOCH,MEMH,CTYPEH,CONIOH等)的不同组合,能为我们解决许许多多的问题,因此,用它来编写成绩管理管理系统是可行的。三、学生成绩管理系统主要功能数据的录入如录入学生的基本信息,以及该学生选修课程的基本信息;数据的修改如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入插入某个学生信息;数据的查询如按学号查询、按姓名查询等;数据的删除如删除指定学号、或者指定姓名的学生及其选修课程信息;平均成绩的计算计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;列出不及格学生清单(学号、姓名、不及格的课程和成绩)。四、功能的实现与要求1.数据录入数据录入的功能是将需要的数据进行录入,用于后面的各项操作。实现用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入,选修课程数量亦然。2数据修改数据修改的主要功能是为修改数据输入出现的错误,实现先指定该生的学号,找到该生,再输出该生当前的信息,用一个IF语句对数据进行修改,再用一个循环语句对选修课信息进行修改。3数据插入数据插入的主要功能是在数据录入之后,为防止数据输入的遗漏,实现分为两个部分,第一个是插入第一个位置,第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。4.数据查询数据查询的主要功能是在数据输入之后进行分类再现,实现分为输出所有数据,按学号查询,按姓名查询,当输入的数据满足条件时即输出所要求的。5.数据删除数据删除的主要功能是在数据录入、数据插入和数据修改完成之后对无用数据进行删除,实现输入学号,满足条件时即把后一个数值赋给前一个数值,达到删除的目的。6.平均值计算平均值计算的主要功能是求平均值,再对其进行排序,实现用公式进行计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。7列出不及格学生清单这部分的主要功能是列出不及格学生清单,实现用一个判断语句,当分数小于60时,即输出相应的学生信息即可。五、系统框图登录模块学生基本信息查询录入修改班机信息管理学生课程管理输入修改查询学生成绩管理输入修改查询退出系统六、系统流程图开始结束选择操作输入数据排序显示数据查询删除主菜单插入数据退出系统按学号按姓名保存数据吧按景平均成绩选择7选择6选择5选择4选择3选择2选择1选择8按平均成绩高低I读取数据吧选择8班级学号性别姓名七、界面设计系统运行界面(部分)如下图1主界面图2主菜单图3录入数据图4修改数据图5插入数据图6数据查询图7计算平均成绩图8不及格学生统计八、程序代码INCLUDEINCLUDEINCLUDEINCLUDEMAIN{INTI,W0,U/被选中学生的下标/,F/科目数量/INTO0/学生总数/,P0,G50/每个学生的选修课程数量/,A,X,B/新增学生个数/,XX/当前学生班级/CHARXM50/当前学生姓名/,H10CHAROO/判断是否继续/,QFLOATS50/平均成绩/,MAX,AL50LONGQQSTRUCTSTUDENT{INTI/班级/LONGJ/学号/CHARM30/姓名/CHARN10/性别/INTX/年龄/}C50STRUCTSCORE{INTQ/课程编号/CHARW50/课程名称/FLOATE/学分/FLOATR/考试成绩/FLOATT/平时成绩/DOUBLEY/综合成绩/}Z5010PRINTF“\N\N\N\N\N欢迎进入\N\N学生成绩管理系统\N\N\N设计者剽悍的小白兔090909XXXX\N\N指导教师TZ\N\NXX大学信息科学与工程学院电气09XX班\N\N\N2010年7月\N\N\N\NPRESSENTERTOCONTINUE“GETCHARSYSTEM“CLS“WHILE1{SYSTEM“CLS“PRINTF“\N\N\N系统主菜单\N\N1录入数据\N\N2修改数据\N\N3插入数据\N\N4数据查询\N\N5删除数据\N\N6平均成绩计算\N\N7列出不及格学生清单\N\N8退出系统\N\N“PRINTF“请输入一个数字来选择目录\N\N“SCANF“D“,SYSTEM“CLS“IFI1/1录入数据/{PRINTF“录入数据\N\N“WHILE1{PRINTF“\N请输入要录入的学生个数\N“SCANF“D“,IFB1{FORA0AAU{CU1CUFORI0I0U{CU1CUFORI0IMAX{MAXSUSUSASAMAX}}}FORA0AOA{PRINTF“平均成绩31F班级D学号LD姓名S性别S年龄D\N“,SA,CAI,CAJ,CAM,CAN,CAXFORI0IGAIPRINTF“课程编号D课程名称S学分31F考试成绩31F平时成绩31F综合成绩31F\N“,ZAIQ,ZAIW,ZAIE,ZAIR,ZAIT,ZAIY}PRINTF“\N\N是否返回主目录Y/N\N“SCANF“S“,IFSTRCMPH,“Y“0BREAKELSEIFSTRCMPH,“N“0SYSTEM“CLS“}}ELSEIFI7/7列出不及格学生清单/{PRINTF“列出不及格学生清单“FORA0AOA{FORI0IGAI{ZAIYZAIR07ZAIT03}}WHILE1{PRINTF“\N\N不及格学生清单\N\N“X0FORA0AOA{FORU0UGAUIFINTZAUY60{PRINTF“学号LD姓名S不及格课程S综合成绩31F\N“,CAJ,CAM,ZAUW,ZAUYXX1}}IFX0PRINTF“所有学生成绩均及格“PRINTF“\N\N是否返回主目录Y/N\N“SCANF“S“,IFSTRCMPH,“Y“0BREAKELSEIFSTRCMPH,“N“0SYSTEM“CLS“}}ELSEIFI8/8退出系统/BREAKELSE{PRINTF“输入错误“GETCHAR}}}}九、心得体会通过本次C程序课程设计,我觉得对自己提高很大克服了的偷懒的毛病,这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了编程是一项非常烦琐周密的活动,他不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨