C语言课程设计 学生证管理系统_第1页
C语言课程设计 学生证管理系统_第2页
C语言课程设计 学生证管理系统_第3页
C语言课程设计 学生证管理系统_第4页
C语言课程设计 学生证管理系统_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

C 语言课程设计报告 2010 年 11 月 26 日 报告目录 一、 课程设计 目的 3 二、 实习内容及要求 3 三、 需 求分析 3 四、 总体分析 3 五、 详细设计 4 头文件及 结构体 4 主函数 5 - 2 - 菜单 模块 5 添加模块 6 修改模块 10 浏览 模块 14 查询模块 15 学号查询 15 名字查询 16 班级查询 17 统计 模块 18 生信息 19 生信息 21 体学生信息 23 删除模块 23 六、 上机 操作 26 统 说明 26 统测试 26 七、总结 32 八、源代码 32 一、课程设计 目的 通 过实践, 学会 编制结 构清晰、风格良好、数据结构适当的 C 语言程序, 加深 对 C 语言基础知识 的理解 和掌握 ,进一步巩固 C 语言编程实践能力 ,锻炼思维逻辑 和解决综合性实际问题的能力 。 二、实习内容及要求 1、 用 系统具有以下功能: ( 1) 录入某位学生的学生证信息; - 3 - ( 2) 给定学号,显示某位学生的学生证信息; ( 3) 给定某个班级的班号,显示该班所有学生的学生证信息; ( 4) 给定某位学生的学号,修改该学生的学生证信息; ( 5) 给定某位学生的学号,删除该学生的学生证信息; ( 6) 提供一些统计各类信息的功能; ( 7) 提供 浏览所有学生的学生证信息 的功能 。 2、输入要求 应用程序运行后,在屏幕上显示一个菜单;用户可以根据要求,选定相应的操作项目;进入某个操作后,根据应用程序的提示,从键盘输入相应的信息。 3、输出 要求 ( 1)应用程序运行后,要在屏幕上显示一个菜单; ( 2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式 及结束方式等。 三、需求分析 根据题目要求, 学生信息要从 文本文件中 存取 ,所以 本程序 应 该 提 供 读写 文件 , 显示、 统计、查询、修改 记录, 保存 文件 等操作 , 此外, 还应该提供键盘式选择菜 单实现功能 。 四、总体设计 根据需求分析,可以把 这个系统的设计分为 添加、修改、查询、浏览、统计、删除六大 模块, 其中查询模块 可以分为三个子模块,统计模块可以分为三个子模块,子模块下面还有子 函数; 系统功能模块图如下所示: - 4 - 五、详细设计 文件及结构体 # 100 /班级 0; /班名 0; /班号 ; /学生 0; /姓名 0; /性别 0; /学号 /年龄 /嵌套结构体,表示班级信息 ; /结构体数组, 用作读取和 存放临时数据 函数 ; /菜单 ; - 5 - 单 ntttt 学生证管理系统 n); ); 菜单 :n); ); 请输入数字选择 :); %d,& if( ; 输入错误,请重新输入 !n); ; ; 1); - 6 - :; /添加 模块 :; /修改 模块 :; /浏览 模块 :; /查询 模块 :; /统计 模块 :; /删除 模块 :); /退出 加模块 首 先 要 判 断 文 果存在就以读写( r+)的方式打开,如果不存在,就以写( w)输入格式要求:性别为男或女,学号为11 位且不能重复,年龄在0级号为 6位,程序提供了完善的验证机制,输入错误时将提示重新输入直到正确为止。此外,如果以读写的方式打开 ,还要判断记录数 年龄应在 0间,请重新输入年龄 !n); ; ; ; 1); n 班号( 6 位) :); %s, if(=6) 输入错误, 班号长度应为 6 位数 !n); ; ; ; 1); no, n 班名 :); %s,& n%st%st%st%dt%st%s, n 保存成功! n); n 请按 返回主菜单 !n); ; ; ; /以上的输入是以写的方式输入 ,下面是以 读 写的方式输入数据 i=0;!i+) %s%s%s%d%s%s,&iiiiii i; /记录数 - 9 - if(N) n 保存记录数超出结构体数组数的大小,请先修改 N 的值 ! n); n 请按 返回主菜单 !n); ; ; ; n 请按照提示输入学生信息 :nn); 姓名 :); %s,& n 性别(男或女) :); %s, 男 )!=0)&(女 )!=0) 输入错误,请输入男或女 !n); ; ; ; 1); n 学号( 11 位) :); %s, if(=11) 输入错误,学号长度应为 11 位数 !n); ; ; ; i=0; 年龄应在 0间,请重新输入年龄 !n); ; ; ; 1); n 班号( 6 位) :); %s, if(=6) 输入错误,班号长度应为 6 位数 !n); ; ; ; 1); n 班名 :); %s,& /把该记录写到文件末尾 n%st%st%st%dt%st%s, n 保存成功! n); n 请按 返回主菜单 !n); ; ; ; 改模块 - 11 - i; 0; 0; 0; 1; 0; r)= 文件打不开! n); ; i=0;!i+) / %s%s%s%d%s%s,&iiiiii i; n 请输入学号选择要修改的记录 : ); %s, 先 判断文件 读( r)的方式能否打开 , 不能就返回,可以就读入记录;然后输入学号查找记录,没找到就返回,找到就按照提示修改该记录,与输入模块一样,输入的格式要求:性别为男或女,学号为 11 位且不能与除当前修改的记录的学号外的记录的学号重复,年龄在0间,班级号为 6 位,程序提供了完善的验证机制,输入错误时将提示重新输入直到正确为止。输入完成后,再以写( w)的方式创 建文件,不能创建就返回,可以就将结构体数组中的所有记录保存到文件中,这与添加稍有差别,最后返回主菜单。 开 始( f p r = f o p e n ( S t u I n f o . t x t , r ) ) = = N U L 文 件输 入 学 号根 据 提 示 输入 新 信 息( f p w = f o p e n ( S t u I n f o . t x t , w ) ) = = N U L 数 据主 菜 单是 否 存 在 该 学 号 的 记 录否是否是否是 - 12 - i=0; 年龄应在 0间,请重新输入年龄 !n); ; ; ; 1); n 班号( 6 位) :); %s, if(=6) 输入错误,班号长度应为 6 位数 !n); ; ; ; 1); n 班名 :); %s,& w)= 文件打不开,保存失败! n); ; i=0; ; ; ; 1); :;:;:;:; 据学号查找某学生的学生证信息: 1; i; 0; fp=r)= 文件打不开! n); ; - 16 - i=0;!i+) %s%s%s%d%s%s,&i&iii&ii i; n 请输入学生学号 :); %s, i=0; - 19 - ; ; ; 1); : ; /男生的统计信息 n 请按 返回上级菜单 !n); ; ; ; : ; /女生的统计信息 n 请按 返回上级菜单 !n); ; ; : ; /全体学生的统计信息 n 请按 返回上级菜单 !n); ; ; :; 计 男生 信息子模块 /人数 /平均年龄 ; ; n 男生总人数为: %dn 平均年 龄为: %fn, 回 男生人数子函数 - 20 - ; i; fp=r)= 文件打不开! n); ; i=0;!i+) %s%s%s%d%s%s,&iiiiii i; i=0; 计女生信息子模块 ; ; n 女生总人数为: %dn 平均年龄为: %fn, 回女生人数子函数 ; i; fp=r)= 文件打不开! n); ; i=0;!i+) %s%s%s%d%s%s,&iiii - 22 - ii i; i=0; 体学生统计信息子模块 ; G(); n 学生总人数为: %dn 学生平均年龄为: %fn, ; ; 回全体学生的人数子函数 +; 回全体学生的平均年龄 子函数 G() *+*)/(+); 除模块 i; 1; - 24 - 0; r)= 文件打不开! n); ; i=0;!i+) %s%s%s%d%s%s, &ii&ii&i&i i; n 请输入学号选择你要删除的记录 :); %s, i=0;i # 100 /班级 0; /班名 0; /班号 ; /学生 0; /姓名 0; /性别 0; /学号 /年龄 /嵌套结构体,表示班级信息 ; ; /主菜单 ; /添加模块 ; /修改模块 ; /删除模块 ; /浏览模块 ; /查询模块 ; /统计模块 ; /按姓名查询,子模块 ; /按学号查询,子模块 ; /按班号查询,子 模块 - 33 - ; /返回全体学生统计信息,子模块 ; /女生统计信息,子模块 ; /男生统计信息,子模块 ; /返回女生人数,子函数 ; /返回女生平均年龄,子函数 ; /返回男生人数,子函数 ; /返回男生平均年龄,子函数 ; /返回全体学生人数,子函数 G(); /返回全体学生的平均年龄,子函数 ; ; /菜单 ; /清屏 ntttt 学生证管理系统 n); ); 菜单 :n); ); 请输入数字选择 :); %d,& if( 输入错误,请重新输入 !n); ; ; ; 1); :; :; :; :; :; - 34 - :; :); /添加学生信息,一次添加一条记录 i; 0; 0; 0; fp=r+)= /以 读写方式打开 fp=w)= n 文件不存在且创建失败 ,返回! n); ; n 请按照提示输入学生信息 :nn); 姓名 :); %s,& n 性别(男或女) :); %s, 男 )!=0)&(女 )!=0) 输入错误,请输入男或女 !n); ; ; ; 1); n 学号( 11 位) :); %s, if(=11) - 35 - 输入错误,学号长度应为 11 位数 !n); ; ; ; 1); n 年龄 :); %d,& if( 年龄应在 0间,请重新输入年龄 !n); ; ; ; 1); n 班号( 6 位) :); %s, if(=6) 输入错误,班号长度应为 6 位数 !n); ; ; ; 1); no, n 班名 :); %s,& n%st%st%st%dt%st%s, n 保存成功! n); n 请按 返回主菜单 !n); ; ; ; - 36 - i=0;!i+) /读取文件 %s%s%s%d%s%s,&iiiiii i; if(N) n 保存记录数超出结构体数组数的大小,请先修改 N 的值 n); ; n 请按照提示输入学生信息 :nn); 姓名 :); %s,& n 性别(男或女) :); %s, 男 )!=0)&(女 )!=0) 输入错误,请输入男或女 !n); ; ; ; 1); n 学号( 11 位) :); %s, if(=11) 输入错误,学号长度应为 11 位数 !n); ; ; ; i=0; 年龄应在 0间,请重新输入年龄 !n); ; ; ; 1); n 班号( 6 位 ) :); %s, if(=6) 输入错误,班号长度应为 6 位数 !n); ; ; ; 1); n 班名 :); %s,& /把该记录写到文件末尾 n%st%st%st%dt%st%s, n 保存成功! n); n 请按 返 回主菜单 !n); ; ; - 38 - ; /修改学生信息 i; 0; 0; 0; 1; 0; r)= 文件打不开! n); ; i=0;!i+) /读取文件 %s%s%s%d%s%s,&iiiiii i; n 请输入学号选择要修改的记录 :); %s, i=0; 年龄应在 0间,请重新输入年龄 !n); ; ; - 40 - ; 1); n 班号( 6 位) :); %s, if(=6) 输入错误,班号长度应 为 6 位数 !n); ; ; ; 1); n 班名 :); %s,& w)= 文件打不开,保存失败! n); ; i=0; - 42 - ; ; ; 1); :;:;:;:; 1; i; 0; fp=r)= 文件打不开! n); ; i=0;!i+) /读取文件 %s%s%s%d%s%s,&iiiiii i; n 请输入学生学号 :); %s, i=0; ; ; ; 1); : ; n 请按 返回上级菜单 !n); ; ; ; : ; n 请按 返回上级菜单 !n); ; ; ; : ; - 46 - n 请按 返回上级菜单 !n); ; ; ; :; /男生基本统计信息 ; ; n 男生总人数为: %dn 平均年龄为: %fn, /男生人数 ; i; fp=r)= 文件打不开! n); ; i=0;!i+) /读取文件 %s%s%s%d%s%s,&iiiiii i; i=0; /女生人数 ; - 48 - i; fp=r)= 文件打不开! n); ; i=0;!i+) /读取文件 %s%s%s%d%s%s,&iiiiii i; i=0; /全体学生基本统计信息 ; G(); n 学生总人数为: %dn 学生平均年龄为: %fn, ; ; /全体学生人数 +; - 50 - G() /全体学生平均年龄 *+*)/(+); i; 1; 0; r)= 文件打不开! n); ; i=0;!i+

温馨提示

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

评论

0/150

提交评论