c语言课程设计学生成绩管理系统作业,学生成绩管理系统C语言课程设计报告

《学生成绩管理系统C语言课程设计报告》由会员分享,可在线阅读,更多相关《学生成绩管理系统C语言课程设计报告(15页珍藏版)》请在人人文库网上搜索。

1、C 语言课程设计设计报告制作人:学号:指导老师:时间:.一、设计内容和设计要求1、设计内容题目:学生成绩管理系统设计该系统包含 20 个学生姓名和成绩信息,可对成绩进行排序,并实现由姓名查找成绩及由成绩查找姓名。2、设计要求1)由键盘输入 20 个学生(姓名)的某门课程的学习成绩 6099分。2)将分数由低到高排序(用直接排序法和冒泡法),并显示学生姓名和对应的分数。3) 用线性搜索法检索某个学生的成绩(输入姓名,显示成绩) 。4 )* 对分搜索法检索某个学生的成绩(输入成绩,显示姓名)。二、设计思路首先是要建立20 个学生信息, 即学生姓名和学生成绩,使用子函数input 输入,学生成绩使用。

2、一维数组,学生姓名使用二维数组。然后分别定义四个子函数,即直接排序法、冒泡排序法和线性查找法、对分查找法。在两个排序法中,用字符串拷贝函数来实现姓名的交换,另外,在用成绩查找姓名时,可以用直接查找,也可以用对分查找法,在这里我两种方法都使用了。最后在主函数中来设计人机界面,用switch 函数来实现操作选择,对应的情况中就调用之前定义的子函数来完成排序或查找。.三、程序设计流程图1、程序总体流程开始输入学生姓名和成绩主菜单排序退出查找直接排序冒泡排序查找成绩查找姓名对分查找.2、直接排序法流程图子程序入口将 i 赋给 min将 i+1 赋给 j判断 scorejscorej+1?Yscorej。

3、与 scorej+1交换同时 strcp 实现 namej与 namej+1交换NN ,继续执行判断是否交换Y全部比较完毕,子程序结束.4、线性搜索法子程序入口输入姓名字符 chFor 循环检索 namei判断 namei=ch?Y输出学生姓名和成绩子程序结束N不存在此学生.5、对分搜索法子程序入口n 赋 0 值, m 赋下标最大值(n+m)/2 赋给 i输入成绩k判断k与scorei 的 大 小关系kscoreik#include#include#define NUM 20void input(int a,char b30)/* 子函数 input 输入 20 个学生姓名 */int i;f。

4、or(i=0;i99|aiaj+1)temp=aj;aj=aj+1;aj+1=temp;strcpy(temp1,bj);strcpy(bj,bj+1);strcpy(bj+1,temp1);printf( 排序后的学生姓名和成绩为:n);for(i=0;iaNUM-1)printf(error!n);while(nai)n=i+1;elsem=i-1;if(ai!=k)|(nm)printf(NO found!n);void main()/* 主函数及界面*/int x,t,scoreNUM;char nameNUM30; printf(*n);printf(欢迎来到学生成绩管理系统n);p。

5、rintf(*n);printf( 请输入 20 个学生的姓名和成绩n);input(score,name);printf( 输入的学生姓名和成绩分别为:n);for(x=0;xNUM;x+).printf(%s,%dt,namex,scorex);printf(n);printf(*学生成绩管理系统 *n);printf(*成绩排序直接法请按0成绩排序冒泡法请按1*n);printf(*姓名查找方法一请按2成绩查找方法二请按3*n);printf(*退出系统请按 4*n);printf(请选择 :t);while(1)scanf(%d,&t);switch(t)/* 操作选择 */case 。

6、0: zhijie(score,name);duifen(score,name);break;case 1: maopao(score,name);duifen(score,name);break;case 2: printf( 请输入学生姓名:n);xian1(score,name);break;case 3:xian2(score,name);break;case 4:exit(0); /* 退出系统 */ break;default: printf( 请在 0 到 4 之间选择 !n);2、运行界面输入学生信息.主菜单直接排序冒泡排序线性查找对分查找.六、体会及收获1、关于体会这次 C 。

7、语言课程设计给我最大的体会是充分调用了我们已有的 C 语言知识储备,我想,难度就在于这里,要求我们对每一个知识点,每一个内容板块都了如指掌。如果有哪里不清楚, 编程时就会频繁出错,或者是达不到想要的结果,比如像循环语句、条件语句、选择语句这些常用的就必须烂熟于心。如遇到问题,尝试独立思考,若还没有解决就再翻书或找找资料,自行琢磨,不断尝试用新的方法解决问题也是给我的一个很深的体会。2、关于收获这次有以下几方面收获:1)再次温习了所学的C 语言知识,加深了理解,同时之前没有注意的一些细节问题引起了重视;2)遇到瓶颈时,尽量独立思考,不断努力,自行解决;3)当程序没有出现语法错误但运行不正常时,就要用新的方式替换,不能一味地陷在死胡同里,用新的思维方式想问题或许会达到想要的效果; 4)多花时间钻研问题,坚持不懈地努力,多掌握一些知识,今后解决学习问题才会得心应手。编程不仅只是考查知识是否掌握牢固,也不只是一个时间问题,更重要的是一种毅力,一种坚持,一种迎难而上的韧劲。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值