




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、石家庄职业技术学院石家庄职业技术学院 学籍管理系统学籍管理系统 学学 生生 姓姓 名:名:崔崔鹏飞鹏飞 指指 导导 教教 师师: :刘云刘云桥桥 系系 别别: :信息工程系信息工程系 专专 业业: :软软件技件技术术 年年 级级: :12 级软级软件件 一一 班班 论论文提交文提交时间时间: :2013 年年 1 月月 15 日日 评评 阅阅 人:人: 年年 月月 日日 : : 目录目录 第一章第一章 课程设计目的和要求课程设计目的和要求 1 1-1 课程设计目的.1 1-2 课程设计要求 1 第二章第二章 系统结构图系统结构图.2 2-1 功能概述.2 2-2 主要流程.2 第三章第三章 详
2、细分析与设计详细分析与设计.3 3-1 主函数.3 3-2 学生信息录入.6 3-3 显示学生信息.8 3-4 学生成绩查询.9 3-5 学生成绩排序 13 3-6 插入学生成绩.15 3-7 删除学生成绩.20 3-8 学生成绩及格率.22 3-9 查询成绩最高分.24 3-10 查询成绩最低 分26 第四章第四章 心得与体会心得与体会 27 4-1 心得与体会 27 第一章课程设计目的和第一章课程设计目的和任务任务 1-11-1 课程设计的目的和任务课程设计的目的和任务 1.本本课课程程设计设计的目的和任的目的和任务务: : 1. 本课程设计是软件工程专业重要的实践性环节之一,是在学生学习
3、完c语言程序 设计课程后进行的一次全面的综合练习,是锻炼学生总结的综合能力。本课程设计的目 的和任务: 1. 巩固和加深学生对c语言课程的基本知识的理解和掌握 2利用所学的知识对编程的思路扩展 3. 掌握c语言编程和程序调试的基本技能 4. 利用c语言进行基本的软件设计 5. 掌握书写程序设计说明文档的能力 6. 提高运用c语言解决实际问题的能力 1-2 课程设计要求课程设计要求 2.课课程程设计设计要求要求 1、题目学生学籍管理程序 2、基本信息: 班级、学号、姓名、性别、三科成绩、总成绩、平均成绩。 3、基本功能要求: 以菜单方式工作(参考附录 1) 输入学生成绩 显示学生成绩 学生成绩查
4、询 学生成绩排序 学生成绩插入 学生成绩删除 学生信息统计(最高分,最低分或不及格) 保存输入数据(选作) (此部分涉及第十章文件系统内容) 打开记录文件(选作) (此部分涉及第十章文件系统内容) 4、其他 程序应具备较好的人机交互界面 可以在指导教师的许可下自拟其它题目,但设计应基本覆盖c 语言程序设计 课程的教学内容 指导教师验收通过后上交所做的题目的源程序文档、及设计报告。 第二章第二章 总体设计与分析总体设计与分析 2-1 功能概述功能概述 本学生管理系统主要实现学生信息的录入并显示,学生信息的添加、删除,查询学生成绩 的最高分、最低分与及格率,学生成绩排序等九大功能。当然,此学生管理
5、系统还有许多 功能不能实现,仍需继续努力,使其更加完善。 2-22-2 系统结构图系统结构图 学学 生生 信信 息息 录录 入入 显显 示示 学学 生生 信信 息息 学学 生生 成成 绩绩 查查 询询 学学 生生 成成 绩绩 排排 序序 插插 入入 学学 生生 信信 息息 学学 生生 成成 绩绩 及及 格格 率率 删删 除除 学学 生生 信信 息息 学生管理系统学生管理系统 查查 询询 成成 绩绩 最最 低低 分分 查查 询询 成成 绩绩 最最 高高 分分 第三章第三章 详细分析与设计详细分析与设计 本章分模块对整个系统进行介绍,每个函数一个模块。 每个模块介绍时首先介绍本模块的功能,粘贴模块
6、运行时的界面,然后贴代码,最后画流 程图。 流程图样例 3-13-1 主函数主函数 main() int choose; void input(); void put(); void search(); void sort(); void insert(); void pass(); void max(); void min(); void delete(); while(1) printf( n); printf( 学生成绩管理系统n); printf( 1、学生信息录入 n); printf( 2、显示学生信息 n); printf( 3、学生成绩查询 n); printf( 4、学生成绩
7、排序 n); printf( 5、插入学生成绩 n); printf( 6、删除学生信息 n); printf( 7、学生成绩及格率 n); printf( 8、查询成绩最高分 n); printf( 9、查询成绩最低分 n); printf( 10、退出 n); printf(请选择:); scanf(%d, switch(choose)/输入选择 case 1: input();break;/选择 1 进行学生成绩输入 case 2:put();break;/选择 2 进行显示学生成绩 case 3:search();break;/选择 3 进行学生成绩查询 case 4:sort();b
8、reak;/选择 4 进行学生成绩排序 case 5:insert();break;/选择 5 进行学生成绩插入 case 6:delete();break;/选择 6 进行学生成绩删除 case 7:pass();break;/选择 7 进行学生成绩及格率 case 8:max();break;/选择 8 进行学生成绩最高分查询 case 9:min();break;/选择 9 进行学生成绩最低分查询 case 10:exit(1);/选择 10 退出系统 开始 输入一个数字 学 生 信 息 录 入 显 示 学 生 信 息 学 生 成 绩 查 询 学 生 成 绩 排 序 插 入 学 生 成
9、绩 删 除 学 生 成 绩 查 询 成 绩 最 高 分 输出信息 查 询 成 绩 最 低 分 退 出 学 生 成 绩 及 格 率 结束 3-23-2 学生信息录入学生信息录入 int i,j,n; float sum; printf(输入学生的信息n); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语n); for(i=0;im;i+) scanf(%d%d%s, for(j=0;j3;j+) scanf(%f, for(n=0;nm;n+) for(j=0,sum=0;j3;j+) sum=sum+ai.scorej; an.ave=sum/3;/每位学生的平均成绩 an
10、.sum=sum;/每位学生的总成绩 开始 i=0,j=0 im,j3 y n float sum; printf(输出学生的成绩n); for(i=0;im+l;i+) for(j=0,sum=0;j3;j+) sum=sum+ai.scorej; ai.ave=sum/3;/每位学生的平均成绩 ai.sum=sum;/每位学生的总成绩 puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); for(r=0;rm+l;r+) printf( %dt %dt %st,ar.bj,ar.num,); for(j=0;j3;j+) printf(
11、%.1ft,ar.scorej); printf(%.1ft%.1fn,ar.sum,ar.ave); 开始 i=0,j=0,sum=0 im+l y n sum=sum+ai.scorej ai.ave=sum/3; ai.sum=sum; 输出学生信息 y j3 j+ i+ n 结束 3-43-4 学生成绩查询学生成绩查询 int cx,xh,i,j,k,s; char name20; float sum; printf(通过姓名查找选择 1n); printf(通过学号查找选择 2n); printf(请选择:n); scanf(%d, for(k=0;km;k+) for(s=0,su
12、m=0;s3;s+) sum=sum+ak.scores; ak.ave=sum/3;/每位学生的平均成绩 ak.sum=sum;/每位学生的总成绩 switch(cx) case 1:printf(输入姓名:n); scanf(%s,name); for(i=0;im+l;i+) if(strcmp(,name)=0) printf(输出该学生的信息n); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); printf(%dt%dt%st%.1ft%.1ft%.1ft%.1ft%.1ftn,ai.bj,ai.num,,a
13、i.score0,ai. score1,ai.score2,ai.sum,ai.ave); break; case 2:printf(输入学号:n); scanf(%d, for(j=0;jm+l;j+) if(xh=aj.num) printf(输出该学生的信息n); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); printf(%dt%dt%st%.1ft%.1ft%.1ft%.1ft%.1ftn,aj.bj,aj.num,,aj.score0,aj. score1,aj.score2,aj.sum,aj.ave); break;
14、 输入姓名 name 输入学号 xh j=0 xh=aj.num = name 输出该生的 信息 输出该生信 息 y n n y 学生成绩查询 输入 cx 选择 1选择 2 计算出各个学生总成绩 和平均分 i=0 i+ j+ 计算出各个学生总成绩 和平均分 结束 3-53-5 学生成绩排序学生成绩排序 int i,j,s,k,g; float sum; for(i=0;im+l;i+) for(j=0,sum=0;j3;j+) sum=sum+ai.scorej; ai.ave=sum/3;/每位学生的平均成绩 ai.sum=sum;/每位学生的总成绩 for (s=0;sm-1
15、+l;s+) for (k=0;km-1-s;k+) if(ak.aveak+1.ave) student=ak; ak=ak+1; ak+1=student; puts(输出每位学生的总成绩以及平均成绩nn); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); for(g=0;gm+l;g+) printf(%dt%dt%st,ag.bj,ag.num,); for(j=0;j3;j+) printf(%.1ft,ag.scorej); printf(%.1ft%.1ftn,ag.sum,ag.ave); 开始 计算出各个学生总成绩
16、和平均分 s=0,k=0 ak.avea k+1.ave s+,k+ n y 输出排序后的 各个学生的信 息 结束 3-63-6 插入学生成绩插入学生成绩 int k; float sum; puts(1.更新学生信息 2.添加学生信息); scanf(%d, if(k=1) /更新学生信息 int i,j,x,h,f,g,c,r; puts(请输入学生学号:); scanf(%d, for(x=0;xh;i-) student=ai; ai=ai-1; ai-1=student; break; printf(输入插入学生的信息:n); puts(班 级t 学 号t 姓 名t 语 文t 数 学
17、t 英 语t 总成绩t 平均分n); scanf(%d%d%s%f%f%f, for(f=0;fm+l;f+) for(g=0,sum=0;g3;g+) sum=sum+af.scoreg; af.ave=sum/3;/每位学生的平均成绩 af.sum=sum;/每位学生的总成绩 puts(输出每位学生的总成绩以及平均成绩:nn); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); for(r=0;rm+l;r+) printf( %dt %dt %st,ar.bj,ar.num,); for(c=0;c3;c+) printf(%.1
18、ft,ar.scorec); printf(%.1ft%.1fn,ar.sum,ar.ave); else if(k=2) /添加学生信息 int i,j,x,h,k,f,g,c,r; puts(请输入学生学号:); scanf(%d, for(x=0;xh;i-) student=ai; ai=ai-1; ai-1=student; break; printf(输入插入学生的信息:n); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); scanf(%d%d%s%f%f%f, for(f=0;fm+o;f+) for(g=0,sum=0;g3;g+
19、) sum=sum+af.scoreg; af.ave=sum/3;/每位学生的平均成绩 af.sum=sum;/每位学生的总成绩 puts(输出每位学生的总成绩以及平均成绩:nn); puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); for(r=0;rm+o;r+) printf( %dt %dt %st,ar.bj,ar.num,); for(c=0;ch student=ai; ai=ai-1; ai-1=student; y 输入更新学生的 信息 计算出各个学生总 成绩和平均分 x+ i+ y x+ nn i=m+1 ihi+
20、student=ai; ai=ai-1; ai-1=student; n n y 输入更新学生的 信息 计算出各个学生总 成绩和平均分 输出该生信息 结束 3-73-7 删除学生成绩删除学生成绩 h=ax. num int xh,i,j,r,g; float ave,sum; printf(输入学号:); scanf(%d, for (j=0;jm+l;j+) if (xh=aj.num)break; for (i=j;im+l;i+) ai.bj=ai+1.bj; ai.num=ai+1.num; strcpy(,ai+1.name); ai.score0=ai+1.score
21、0; ai.score1=ai+1.score1; ai.score2=ai+1.score2; ai.sum=ai+1.sum; ai.ave=ai+1.ave; for(i=0;im+l;i+) for(j=0,sum=0;j3;j+) sum=sum+ai.scorej; ai.ave=sum/3;/每位学生的平均成绩 ai.sum=sum;/每位学生的总成绩 puts(班 级t 学 号t 姓 名t 语 文t 数 学t 英 语t 总成绩t 平均分n); for(r=0;rm-1+l;r+) printf( %dt %dt %st,ar.bj,ar.num,); for(g=
22、0;g3;g+) printf(%.1ft,ar.scoreg); printf(%.1ft%.1fn,ar.sum,ar.ave); 开始 输入学号 xh xh=aj.num y j+ n 各个学生信息 aj=aj+1 计算出各个学生总 成绩和平均分 输出该生信息 结束 3-83-8 学生成绩及格率学生成绩及格率 int i,km,s,t; float jigelv,j,k,b; printf(语文的及格率选择 1n); printf(数学的及格率选择 2n); printf(英语的及格率选择 3n); printf(请选择:); scanf(%d, switch(km) case 1:pr
23、intf(语文及格率:n); for(i=0,j=0;i=60) j+; jigelv=j/(m+l); printf(及格的人数:%.1f 人t 语文及格率:%.1ftn,j,jigelv); break; case 2:printf(数学及格率:n); for(s=0,k=0;s=60) k+; jigelv=k/(m+l); printf(及格的人数:%.1f 人t 数学及格率:%.1ftn,k,jigelv); break; case 3:printf(英语及格率:n); for(t=0,b=0;t=60) b+; jigelv=b/(m+l); printf(及格的人数:%.1f 人
24、t 英语及格率%.1ftn,b,jigelv); break; 开始 语文及格率数学及格率英语及格率 n i=0,j=0 i=60 n s=0,k=0 s=60 n t=0,b=0 t=60 n 输出各科学生及 格人数和及格率 结束 3-93-9 查询成绩最高分查询成绩最高分 int i,chinese=0,math=0,english=0; for(i=0;iachinese.score0)chinese=i; if(ai.score1amath.score1)math=i; if(ai.score2aenglish.score2)english=i; printf(语文最高分的人:%s 语文最高分%.1fn,,achinese.score0); printf(数学最高分的人:%s 数学最高分%.1fn,,amath.score1); printf(英语最高分的人:%s 英语最高分%.1fn,,aenglish.score2); 开始 i=0 im+l i+ y n ai.score0ac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长期租赁空地合同协议
- 长春劳务派遣合同协议
- 食堂合同到期解除协议
- 门市带货物转让合同协议
- 防火涂料销售合同协议
- 中小学教师信息技术应用能力
- 食品物品配送合同协议
- 门面房停车协议合同
- 门店转让甩货合同协议
- 食品加工定制合同协议
- 2025专利代理师笔试考试题库有答案分析
- 中考语文课内文言文阅读专题复习练习
- 危重症患者体位管理
- 湖南省名校联考联合体2024-2025学年高一下学期期中考试地理试题 含答案
- 2025春粤教粤科版(2024)小学科学一年级下册(全册)教案、教学反思、教学计划(附教材目录P103)
- 2025年陕西高中学业水平合格考数学试卷及答案
- 2025年天津市红桥区中考第一次模拟考试物理试卷(含答案)
- 2025河北省国内旅游组团合同示范文本
- 水利水电工程基建资料
- 客情维护培训
- 煤炭行业“技能大师”工作室入围复评-答辩
评论
0/150
提交评论