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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言程序设计报告.docx

1、c语言程序设计报告 C语言课程设计 专业年级:10级*三班学号:1001*姓名:*指导教师:* */*/* 目录一设计内容及设计要求.1二设计思路.1三. 程序设计流程图.2四源程序(含注释).9五设计及调试中所遇问题,和解决方法.19 六体会及收获.20 一 设计内容,设计要求1,由键盘输入20个学生at的某门课程的学习成绩6099分。(也可自己定义)2,将分数由高到低排序(用直接排序法和冒泡法),并显示学生学号、姓名和对应的分数。 3,用线性搜索法检索某个学生的成绩(输入姓名,显示学号和成绩)4,对分搜索法检索某个学生的成绩(输入学号,显示成绩)二. 设计思路建立结构体类型(struct

2、student),此结构体中包括num(学号)、name(名字)、score(成绩)。在输入数据时只需要输入学号、姓名和成绩,在每个调用函数中输出结果。在主函数中先用逻辑语句完成了一个引入界面按任意键即可开始进入菜单函数。在主函数还有个菜单函数,再用switch语句实现函数调用,主要调用函数是输入信息函数,直接排序函数和冒泡法排序函数,直接搜索法函数和对分(学号的对分)搜索法函数。下面图就是主菜单: 再就在每个调用函数中实现各自功能。由与20人过多,在此程序中宏定义的人数为4人。此函数可以在输入信息后跳入任何一个调用函数中实现要求的功能。将在下面流程图中更加具体说明个函数的使用。 三. 程序设

3、计流程图 先是主函数的流程图,在分别是输入信息,对分搜索法(提前的原因主要是说明可以从第一步直接跳到第五步),直接排序法,冒泡排序法,最后是直接查找法。(中间将穿插截屏说明 )(1)程序总体框图 这是这次函数的主要设计框架,再将分别一一介绍。 (2)输入学生信息 截屏如下:(3)对分搜索法 截屏如下:(3)直接排序法查询结果截屏如下:(由于考虑的学号和名次冲突,没有排序学号)(4)冒泡排序法 输出结果截屏如下:(5)直接搜索发查询结果截屏如下:以上就是所有流程图,可能很粗糙,尽情原谅。为了使图形看起来都不一样,采用不同构造。四源程序(含注释)#include#include#include#i

4、nclude /用getch();#define N 4 /*定义班级人数*/struct student /*建立结构体类型*/ char name50; int score,num; stu1,stu2,stu3, studentN; /*定义结构体变量stu1,stu2,stu3,用作交换时的临时变量*/int menu() int c; do printf(n 主菜单 n); printf(n n); printf(n 1.输入学生个人信息 n); printf(n 2.直接排序法排列成绩 n); printf(n 3.冒泡排序法排列成绩 n); printf(n 4.直接法查找信息

5、n); printf(n 5.对分法查找信息 n); printf(n 6.退出系统 n); printf(nnnnnn请选择操作方式:); scanf(%d,&c); while(c5); return c; /*输入学生个人信息*/void input(struct student) int i=0; printf(请输入学生信息:n); /*输入学生信息*/for(i=0;iN;i+) printf(学号:); scanf(%5d,&studenti.num); printf(姓名:); scanf(%10s,&studenti.name); printf(成绩:); scanf(%5d

6、,&studenti.score); system(pause); /*直接排列学生成绩*/void score1(struct student) /*定义直接排序法函数*/ int i,j,k,max; for( i=0;iN-1;i+) k=i+1; max=i; for(j=k;jstudentmax.score) max=j; stu1=studenti; studenti=studentmax; studentmax=stu1; printf(排序后的结果:n); for( i=0;iN;i+) printf(名次:%d , 姓名:%s,成绩:%dn,i+1,studenti.nam

7、e,studenti.score); /*输出信息*/ /*冒泡排列法学生成绩*/void score2 (struct student) /*定义冒泡法排序函数*/ int i,j; for( i=0;iN-1;i+) for( j=i+1;jN;j+) if(studenti.scorestudentj.score) stu1=studenti; studenti=studentj; studentj=stu1; printf(排序后的结果:n); for( i=0;iN;i+) printf(名次:%d ,姓名:%s,成绩:%dn,i+1,studenti.name,studenti.s

8、core); /*输出信息*/ /*直接查找法*/ void search1(struct student) int i; char c; char Name50; 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 print

9、f(没有找到该学生的信息,不妨再次查询n); printf(是否继续查询:yorY:); /*是否继续查询*/ getchar(); c=getchar(); while(c=y|c=Y); system(pause);/*对分查找法*/void search2(struct student) int i,j,k,m,x,l; struct student temp; char c; doprintf(请输入你的学号:); /*输入查找信息*/scanf(%d,&l); printf(*n);for(i=0;iN-1;i+)k=i; for(j=i+1;jN;j+) if(studentj.n

10、umstudentk.num) k=j; temp=studentk; studentk=studenti; studenti=temp;x=0,m=N-1;while(x=m)i=(m+x)/2;if(studenti.num=l) printf(学号 姓名 分数 n); printf(%d %8s %6d n,studenti.num,studenti.name,studenti.score); /*输出信息*/ break;if(studenti.numl)m=i-1;printf(*n);printf(继续查询y放弃查询n:n); /*是否继续查询*/ getchar(); getch

11、ar();c=getchar();while(c=y); /*主函数*/void main() int select; int i=0; bool quit=false; printf(nn); for(i=0;i3;i+) printf(n ttttttttt ); printf(nn 华中科技大学文华学院 nn ); printf(n 【 欢迎进入学生成绩管理系统 】 n); for(i=0;i3;i+) printf(n ttttttttt ); printf(nn); printf(按任意键开始); getch(); while(!quit) while(1) select=menu(); switch(select) case 1:input(studentN); /*调用输入函数*/ break; case 2:score1(studentN); /*调用直接排序函数*/ break; case 3:score2(studentN); /*调用冒泡排序函数*/ break; case 4:search1(studentN); /*调用直接搜索法函数*/ break; case 5:search2(studentN); /*调用学号折半搜索法函数*/ break; case 6:printf(谢谢使用n); exit(0); /*退出程序*/

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

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