ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:510.96KB ,
资源ID:5342419      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5342419.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理课程设计报告doc.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理课程设计报告doc.docx

1、学生信息管理课程设计报告doc华中科技大学文华学院C语言程序设计课程设计报告题 目: 学生信息管理系统 学 部: 信息学部 系 : 计算机信息工程系 专 业: 自动化 班 级: 09级(1)班 姓 名: 王芳黎 学 号: 090108011120 指导老师: 叶老师 设计时间:2010年12月17日 2010年 12月30日 一 设计内容二 设计要求三 设计思路四 流程图五 源程序六 测试与调试七 心得体会八 参考文献一设计内容题目:学生信息管理系统设计要求:学生信息包括:姓名,成绩。试设计一学生信息管理系统,使之能提供以下功能:1、能通过键盘输入学生信息:姓名和成绩2、可将输入的学生信息按成

2、绩高低进行排序(需用两种排序法,可任意选择者两种排序方法)3、学生信息查询功能按姓名查询(需用两种查找法,并可任意选择两种查找法)二设计要求1,由键盘输入25个学生ay的某门课程的学习成绩6099分。2,将分数由低到高排序(用直接排序法和冒泡法),并显示学生姓名和对应的分数。3,用线性搜索法检索某个学生的成绩(输入姓名,显示成绩)4 *, 对分搜索法检索某个学生的成绩(输入姓名,显示成绩)三设计思路设计以菜单方式工作的学生信息管理系统,主要有学生信息输入功能,学生信息排序功能,学生信息查询功能三个模块。本设计的基本操作是通过构造结构体来实现。通过构建结构体类型数组存放25个学生的基本信息。再通

3、过函数调用实现各子函数的功能,如:调通冒泡法排序子函数实现成绩排序。四流程图层次模块图: 直接排序法流程图如下:冒泡排序法流程图如下:直接查找法流程图:对分查找法流程图:五程序源代码#include#include#include#define N 5struct student /定义结构体 char name10; int score; t, studentN; /定义一个结构体对象和一个结构体数组void input(struct student) /输入信息函数 int i=0; int s; char c; do printf(请输入学生信息:n); printf(请输入姓名:);

4、scanf(%10s,&studenti.name); printf(请输入成绩,分数在60-99之间:); scanf(%5d,&studenti.score); if(studenti.score99) printf(分数输入有误,请重新输入:); scanf(%5d,&s); studenti.score=s; i+; printf(是否继续输入:yorY:); getchar(); c=getchar(); while(c=y|c=Y)&iN); system(pause);void sort1(struct student) /直接排序法排列学生成绩 int i,j; for( i=

5、0;iN-1;i+) for( j=i+1;jstudentj.score) /通过比较成绩交换两个学生的全部信息 t=studenti; studenti=studentj; studentj=t; printf(排序后的结果:n); for( i=0;iN;i+) printf(姓名: %s,成绩:%dn,studenti.name,studenti.score); void sort2(struct student) /冒泡法排列学生成绩 int i,j; for (i=0;iN-1;i+) for (j=0;jstudentj+1.score) t=studentj; studentj

6、=studentj+1; studentj+1=t; printf(The sorted result: n); for(i=0;iN;i+) printf(姓名: %s,成绩: %dn,studenti.name,studenti.score);void sortname(struct student) /姓名排序函数 int i,j; for(i=0;iN-1;i+) for(j=i+1;j5;j+) if(strcmp(studentj.name,studenti.name)0) t=studenti; studenti=studentj; studentj=t; void search

7、1(struct student) /直接查找法查询信息函数 int i; char c; char Name10; do printf(请输入您想要查询的姓名以便查找该学生的成绩:n); scanf(%10s,Name); for(i=0;iN;i+) if(strcmp(Name,studenti.name)=0) break; /通过字符串的比较来搜索要查找的姓名 if(iN) printf(查询结果为:n); printf(姓名: %10s,成绩: %5dn,studenti.name,studenti.score); else printf(没有找到该学生的信息,不妨再次查询n);

8、printf(是否继续查询:yorY:); getchar(); c=getchar(); while(c=y|c=Y); system(pause); /暂停工作 void search2(struct student) /折半查找法查询信息函数 int left,right,mid; char Name10; char c; left=0;right=N-1; sortname(student5); do printf(请输入您想要查询的姓名:); scanf(%s,Name); if(strcmp(Name,student0.name)0) printf(该姓名不存在n); while(

9、left=right) mid=(left+right)/2; if(strcmp(Name,studentmid.name)=0) printf(查找的学生姓名是:%10s,成绩为:%5dn,Name,studentmid.score); break; else if(strcmp(Name,studentmid.name)0) left=mid+1; if(strcmp(Name,studentmid.name)!=0)|(leftright) printf(No foundn); printf(是否继续查询:yorY:); getchar(); c=getchar(); while(c=

10、y|c=Y); system(pause); /暂停工作int menu() /主菜单函数 int c; do /system(cls); /*清屏*/ printf( 欢迎来到学生信息管理系统 n); printf( 主菜单n); printf( 1.输入信息n); printf( 2.直接排序法排列成绩n); printf( 3.冒泡法排列成绩n); printf( 4.直接法查找信息n); printf( 5.折半法查找信息n); printf( 6.退出系统n); printf( 请选择操作方式:); scanf(%d,&c); while(c6); return c;void mai

11、n() /主函数 int select; while(1) select=menu(); switch(select) case 1:input(studentN); break; case 2:sort1(studentN); break; case 3:sort2(studentN); break; case 4:search1(studentN); break; case 5:search2(studentN); break; case 6:printf(谢谢使用n); exit(0); /正常退出 六测试与调试 1主菜单界面2.输入信息界面 3.直接排序界面4.冒泡法排序界面5.直接查

12、找信息界面6.折半查找信息界面7.退出系统界面七心得体会通过此次程序设计课程,对于我这个刚入门的人来说,是很有难度的,这次亲手设计的程序也让我学习到不少东西。当然,我也遇到了许多困难,比如说,我一开始连结构体都弄不清楚,因为压根就没学过,但在自己看书查资料以及问同学之后,我还用结构体完成了这次的程序设计。此次设计我受益匪浅,不仅在指针、结构、文件等知识上加深了运用和理解,而且,能够自己解决一些问题使程序更加完整。这次程序设计把平时所学的知识一次性全用上了而且将近半年都没看c语言之类的书了,正好此时有一个程序设计,让我从程序的设计思路到程序的编写过程中把很多以前学过的知识都捡了起来,还把以前没学

13、过的知识也让我学会了,比如结构体,还有,通过张老师给我们补的一节有关指针的课,虽然仅有一次课,但我通过认真听讲,还有上网查相关资料让我对指针了解的更加清楚,通过这次的设计也让我懂得了如何调用函数,如何使用冒泡法排序,如何使用直接查找法查找,更通过了解对分查找法,也让我懂得如何对人名进行排序等,总之这次的程序设计真的让我学到了很多。还有,编写这个程序对于我即将要考的二级c语言等级考试有极大的帮助,我通过到图书馆查书籍以及请教同学们帮忙等途径,还有利用上课时间、课外时间将近百来个小时完成了所有的课程设计内容,通过这个完成的过程让我巩固了之前学的知识,也让我学到了老师没讲的新知识。尽管我的程序与报告

14、做得不是很完善,但已经是我尽最大努力写出来的了,对这份我注入了大量时间与精力的程序能如期完成,我很欣慰。但同时也使我认识到自己所掌握的知识不足,所以在接下来的时间里我要加强C语言方面的知识,尤其是结构体、指针、调用函数以及文件等方面的知识有待加固。还有这次的程序设计让我充分认识到我c语言方面的知识的不足,也让我学到了很多相关的c语言的知识,比如说结构体,相信通过此次的认识与学习以及我今后对c语言知识的加强,我会顺利通过明年3月份的二级c语言等级考试,同时我觉得这次的程序设计很及时,对于学校在这个时候安排的这个课程设计感到非常的高兴。八参考文献程序设计基础教程(c语言) 杨有安 等 人民邮电出版社 2009.C程序设计辅导与实训(第二版 ) 崔武子 等 清华大学出版社2009C语言程序设计(第二版) 谭浩强

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1