C语言课程设计学生基本信息管理.doc_第1页
C语言课程设计学生基本信息管理.doc_第2页
C语言课程设计学生基本信息管理.doc_第3页
C语言课程设计学生基本信息管理.doc_第4页
C语言课程设计学生基本信息管理.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验题目 学生基本信息管理系统一、实验目的1熟悉C语言程序的编辑、编译链接和运行的过程,至少能够用一种编译器较熟练地编辑、编译及调试程序。2掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。3熟练运用if语句和嵌套应用。涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。4学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。5掌握文件和文件指针的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。6掌握结构体类型变量、数组的定义和使用。7掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串8综合应用C语言的知识,实现一个完整的系统,提高编程能力,体会软件程序的开发过程。9培养学生独立完成C语言程序课程设计的能力。二、实验内容1运用结构体和数组编辑一个简单的学生基本信息管理系统,使之能够完成学生基本信息的录入、打印、增加、修改、删除、查询、统计、排序、退出操作。2执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。3执行运行操作,逐一对每个模块进行调试。直到全部程序运行成功为止。4请老师检查,向老师演练此程序,并能回答老师提出的相关问题。三、需求分析1该学生基本信息管理系统,使之能够完成学生基本信息的录入、打印、增加、修改、删除、查询、统计、排序、退出操作。每个模块的功能如下:A录入模块能够按照学生学号的先后顺序完成学生学号、姓名、性别、c语言成绩的输入。B打印模块能够将所有学生的基本信息全部显示在荧光屏上。C添加模块中输入一个学生的全部信息后,该程序会将该学生全部信息插入到相关位置。D修改模块中输入要修改学生的相应的学号后,选择需要修改的项目就能完成修改操作。E删除模块中选择要删除学生的学号或者是姓名就可完成此操作。F查询模块能够按学号或者姓名查询一个学生的全部信息,并能显示该学生的全部信息。G统计模块中能够根据选择需要统计的类型完成统计操作。类型可按照成绩区间的人数、成绩最高分数、成绩最低分数进行选择。H排序模块将按照学生c语言成绩由高到低顺序进行所有学生基本信息的排序并显示。I退出模块可直接退出此程序,结束操作。2创建该学生基本信息管理系统目的就是能够对学生基本信息进行录入、打印、增加、修改、删除、查询、统计、排序、退出等功能,这样可以简化许多人工做起来很复杂的问题。例如:“排序”,有了此程序只需将信息输入,计算机就可自动执行,省时、省力。另外,它还可以重复使用,方便、快捷。3该学生基本信息管理系统是在Microsoft Visual C+ 6.0 Tools环境下运行。4该系统要测试的数据如下:(1)录入模块:(最多输入人数:20)输入1(输入模块的执行键),进入信息录入模块。根据荧屏上的提示输入学生信息,直至信息输入完毕。录入5个学生的信息:第1位学生 学号 姓名 年龄 性别 C语言成绩 11 王洪 20 男 92第2位学生 学号 姓名 年龄 性别 C语言成绩 12 赵婷 21 女 85第3位学生 学号 姓名 年龄 性别 C语言成绩 13 李鹏 19 男 94第4位学生 学号 姓名 年龄 性别 C语言成绩 14 张莉 21 女 64第5位学生 学号 姓名 年龄 性别 C语言成绩 15 王斌 20 男 76(2)打印模块:输入2(打印模块的执行键)即可完成(3)添加模块:输入3(添加模块的执行键),进入信息添加模块。根据荧屏上的提示添加学生信息,直至信息添加完毕。所添加的学生信息:第6位学生 学号 姓名 年龄 性别 C语言成绩 16 夏明 19 女 57 第7位学生 学号 姓名 年龄 性别 C语言成绩 17 郭涛 20 男 88(4)修改模块:输入4(修改模块的执行键),进入信息修改模块。根据屏幕上的提示修改学生信息,直至信息修改完毕。修改张莉的C语言成绩:输入14(修改学生的学号)输入5(修改C语言成绩的选项)输入67(修改后的分数)(5)删除模块:输入5(修改模块的执行键),进入信息删除模块。根据荧屏上的提示删除学生信息,直至信息删除完毕。删除赵婷的基本信息:1 按学号进行删除输入1(按学号进行删除的选项)输入12(删除学生的学号)2 按姓名进行删除输入2(按姓名进行删除的选项)输入赵婷(删除学生的姓名)(6)查询模块:输入6(查询模块的执行键),进入信息查询模块。根据荧屏上的提示进行查询。查询王斌的基本信息:1 按学号进行查询输入1(按学号进行查询的选项)输入15(查询学生的学号)2 按姓名进行删除输入2(按姓名进行查询的选项)输入王斌(查询学生的姓名)(7)统计模块:输入7(统计模块的执行键),进入信息统计模块。根据荧屏上的提示对学生信息进行统计,直至信息统计完毕。1 统计成绩区间的人数输入1(统计成绩区间的人数的执行键)即可完成统计2 统计最高成绩输入2(统计最高成绩的执行键)即可完成统计3 统计最低成绩输入3(统计最低成绩的执行键)即可完成统计(8)排序模块:输入8(排序模块的执行键),进入信息排序模块。即可完成对学生C语言成绩由高到低的排序,并输出。(9)退出模块:输入0(排序模块的执行键)。即可退出系统。 四、概要设计1、主函数信息(1)主函数结构图主 函 数 欢迎信息模块登陆界面模块存储信息模块主菜单模块(2)模块功能详细说明A、欢迎信息模块当用户进入学生信息管理系统界面时,屏幕上显示出欢迎信息。B、登陆界面模块当用户需要进入学生信息管理系统主菜单时,正确输入用户名及密码后,方可进入主菜单进行各项操作,同时完成对信息的存储工作,否则无法达到进入学生信息管理系统主菜单的目的。用户可连续三次输入登陆信息,第一次正确输入后,系统自动进入主菜单模块,并执行信息存储功能;若第一次和第二次输入有误,屏幕将提示“用户名或密码错误 请重新输入:” ;若三次均输入有误,屏幕将显示“您已连续3次将用户名或密码输错 系统将退出”。(管理员初始用户名和密码均为“admin” )2、主菜单信息(1)主菜单结构图主 菜 单 模 块 录 入 模 块打 印 模 块添 加 模 块修 改 模 块删 除 模 块查 询 模 块统 计 模 块排 序 模 块退 出 模 块(2)模块功能详细说明A、录入模块: 定义字符变量isContinue,用while( )语句判断是否录入学生信息。如果字符isContinue是“Y”或者“y”,那么录入学生基本信息。包括:学号、姓名、性别、年龄、C语言成绩。其中学号、年龄、C语言成绩定义为整型,姓名定义为20个字节的字符型,性别定义为10个字节的字符型。当学生信息录入完毕,屏幕上显示“学生信息已录入完毕, 按任意键返回主菜单!”B、打印模块: 为了能够随时查看执行每个功能后的效果,以便对程序进行修改调试,该模块运用for( )循环语句,将所有学生的基本信息全部显示在屏幕上。信息打印完毕,按任意键,返回主菜单。C、添加模块: 定义整型标志量flag, 字符变量isContinue。用do while( )语句进行循环。添加一个学生的全部基本信息后,如果字符isContinue是“Y”或者“y”,那么标志量flag=1,否则flag=0,判断条件flag=1为真,此时继续添加学生基本信息直至flag=0。屏幕上显示“新增信息录入完毕! 按任意键,返回主菜单”。D、修改模块: 定义整型变量choice,modify_num,标志量flag,及字符变量isContinue,运用do while( )语句完成对学生信息的修改工作。在输入要修改学生的相应的学号后,用for()语句进行循环,if()语句判断学号是否存在。如果存在该学号,屏幕上显示出该学生的全部基本信息,并提示用户需要修改项目的选项。只要选择0-4选项可以分别完成退出、和对、出信息中好学生基本信息中姓名、性别、年龄、C语言成绩的修改。如果你的选项不在0-4的范围内,屏幕显示“无效选项!”。修改完该学生的信息后,系统提示是否需要继续修改,如果字符isContinue是“Y”或者“y”,那么标志量flag=1,否则flag=0,判断条件flag=1为真,此时继续修改学生基本信息直至flag=0。 屏幕上显示“信息修改完毕! 请按任意键,返回主菜单!”。E、删除模块:此模块有两种删除方式: 一种是按学号进行删除,另一种是按姓名删除 。定义整形变量del_num,,choice,标志量 flag=0,定义21个字节的字符变量del_name21。选择02选项可以分别完成退出、按学生学号删除和按学生姓名删除。选择1,按学生学号删除时,用for()语句进行循环,if()语句判断学号是否存在,如果学号存在,标志量flag=1,屏幕上显示“信息删除成功!” ,并用for()语句进行循环,将删除学生后面的所有学生信息依次向前传递。同样选择2,按学生姓名删除时,如果姓名存在,标志量flag=1,屏幕上显示“信息删除成功!” ,删除学生后面的所有学生信息依次向前传递。如果你的选项不在0-2的范围内,屏幕显示“无效选项!”。学生信息删除成功后,按任意键返回主菜单。F、查询模块: 此模块有两种查询方式: 一种是按学号进行查询,另一种是按姓名查询 。定义整形变量choice, inquire_num,标志量 flag;,定义21个字节的字符变量inquire_name21 。选择02选项可以分别完成退出、按学生学号查询和按学生姓名查询的操作。选择1,按学生学号查询时,用for()语句进行循环,if()语句判断学号是否存在,如果学号存在,标志量flag=1,屏幕上显示出该学生的全部基本信息,否则,标志量flag=0,屏幕上显示“该姓名不存在!” 。同样选择2,按学生姓名查询时,如果姓名存在,标志量flag=1,屏幕上显示出该学生的全部基本信息,否则,标志量flag=0,屏幕上显示“该姓名不存在!” 。如果你的选项不在0-2的范围内,屏幕显示“无效选项!”。查询完该学生信息后,按任意键返回主菜单。G、统计模块该模块统计出学生C语言成绩的最高分,最低分,以及各成绩区间人数。定义整形变量max,min, d9,d8,d7,d6,d5 ,choice。 其中变量max,min分别用来存储学生C语言成绩的最高分,最低分。变量d9,d8,d7,d6,d5分别用来存储学生C语言成绩区间的人数。选择03选项可以分别完成退出、查询成绩区间人数、查询最高成绩、查询最低成绩的操作。统计完毕,按任意键返回主菜单。H、排序模块:此模块根据选择排序法按照学生C语言成绩由高到低顺序完成所有学生基本信息的排序,并将排序后的信息显示出来。I、退出模块: 输入0,可直接退出此程序,结束操作。五、详细设计及运行结果1、各个模块的程序流程图(1)录入模块录入模块输入isContinueisContinue=Y | isContinue=y输入学生基本信息真假返回主菜单(2)打印模块打印模块i = 0isum打印学生基本信息i+返回主菜单真假(3)添加模块添加模块输入学生基本信息假真i+ flag=1flag=0isContinue=Y | isContinue=yflag=1真假返回主菜单(4)修改模块修改模块输入要修改学生的学号i=0isum真sti.num=modify_num真choicechoice=1=输入修改后的姓名假choice=2=输入修改后的性别真真choice=3=choice=4=真真输入修改后的年龄输入修改后的C语言成绩flag=1假假假真假返回主菜单假假(5)删除模块删除模块choicechoice=1=choice=2=按姓名删除按学号删除返回主菜单真真假假(6)查询模块查询模块choicechoice=1=choice=2=按姓名查询按学号查询返回主菜单真真假假(7)统计模块统计模块choicechoice=1=choice=2=统计最高成绩统计成绩区间人数返回主菜单真真假假choice=3=统计最低成绩真假(8)排序模块排序模块i=0isum-1j=i+1jsumi=i+1sti.scorestj.score交换sti和stjj=j+1假假假真真真返回主菜单2. 测试运行结果(1)录入模块运行结果: 学号 姓名 年龄 性别 C语言成绩 11 王洪 20 男 92 学号 姓名 年龄 性别 C语言成绩 12 赵婷 21 女 85 学号 姓名 年龄 性别 C语言成绩 13 李鹏 19 男 94 学号 姓名 年龄 性别 C语言成绩 14 张莉 21 女 64 学号 姓名 年龄 性别 C语言成绩 15 王斌 20 男 76(2)添加模块运行结果:学号 姓名 年龄 性别 C语言成绩 11 王洪 20 男 92 学号 姓名 年龄 性别 C语言成绩 12 赵婷 21 女 85 学号 姓名 年龄 性别 C语言成绩 13 李鹏 19 男 94 学号 姓名 年龄 性别 C语言成绩 14 张莉 21 女 64 学号 姓名 年龄 性别 C语言成绩 15 王斌 20 男 76学号 姓名 年龄 性别 C语言成绩 16 夏明 19 女 57 学号 姓名 年龄 性别 C语言成绩 17 郭涛 20 男 88(3)修改模块运行结果:学号 姓名 年龄 性别 C语言成绩 14 张莉 21 女 67(4)删除模块运行结果:学号 姓名 年龄 性别 C语言成绩 11 王洪 20 男 92 学号 姓名 年龄 性别 C语言成绩 13 李鹏 19 男 94 学号 姓名 年龄 性别 C语言成绩 14 张莉 21 女 67 学号 姓名 年龄 性别 C语言成绩 15 王斌 20 男 76学号 姓名 年龄 性别 C语言成绩 16 夏明 19 女 57 学号 姓名 年龄 性别 C语言成绩 17 郭涛 20 男 88(5)查询模块运行结果:学号 姓名 年龄 性别 C语言成绩 15 王斌 20 男 76(6)统计模块运行结果:1 统计成绩区间的人数90100分人数:2人8090分人数:1人7080分人数:1人6070分人数::1人60分以下人数::1人2统计最高成绩 成绩最高分:94 分3统计最低成绩 成绩最低分:57分(7)排序模块运行结果: 学号 姓名 年龄 性别 C语言成绩 13 李鹏 19 男 94学号 姓名 年龄 性别 C语言成绩 11 王洪 20 男 92学号 姓名 年龄 性别 C语言成绩 17 郭涛 20 男 88学号 姓名 年龄 性别 C语言成绩 15 王斌 20 男 76学号 姓名 年龄 性别 C语言成绩 14 张莉 21 女 67学号 姓名 年龄 性别 C语言成绩 16 夏明 19 女 57 六、调试情况,设计技巧及体会1、我对自己这次实验设计的完成比较满意,达到了实验的目的和预期的效果。此次实验的一大特点就是运用大家都熟悉的数组,结构体进行编程。相对来说,在进行实验时就会较易把握。我选择的课题是“学生信息管理系统”。这个课题对我来说比较熟悉,当然,在整个设计中就会显得得心应手。此程序的不足之处是在学生基本信息方面还不够完善,譬如没有录入学生的家庭住址,电话号码或者其他联系方式,政治面貌等等一系列相关的基本信息。 另一方面就是在运行此程序,需要执行密码输入模块时,没有覆盖输入的字符,这在实际应用中很容易会导致密

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论