c语言程序设计学生管理系统,《C语言程序设计》课程设计报告学生信息管理系统...

41528d3028836879cd698677c3999917.gif《C语言程序设计》课程设计报告学生信息管理系统

华 中 科 技 大 学 文 华 学 院《C 语言程序设计》课程设计报告题 目: 学生信息管理系统 学 部: 信息学部 系 : 计算机信息工程系 专 业: 自动化 班 级: 09 级(1)班 姓 名: 学 号: 指导老师: 设计时间:2010 年 12 月 17 日 ~ 2010 年 12 月 30 日 目录一. 设计内容……………………二. 设计要求……………………三. 设计思路……………………四. 流程图………………………五. 源程序………………………六. 测试与调试…………………七. 心得体会……………………八. 参考文献……………………一.设计内容题目:学生信息管理系统设计要求:学生信息包括:姓名,成绩。试设计一学生信息管理系统,使之能提供以下功能:1、能通过键盘输入学生信息:姓名和成绩 2、可将输入的学生信息按成绩高低进行排序(需用两种排序法,可任意选择者两种排序方法)3、学生信息查询功能--按姓名查询(需用两种查找法,并可任意选择两种查找法)二.设计要求1,由键盘输入 25 个学生 a~y 的某门课程的学习成绩 60~99分。2,将分数由低到高排序(用直接排序法和冒泡法) ,并显示学生姓名和对应的分数。3,用线性搜索法检索某个学生的成绩(输入姓名,显示成绩)4 *, 对分搜索法检索某个学生的成绩(输入姓名,显示成绩)三.设计思路设计以菜单方式工作的学生信息管理系统,主要有学生信息输入功能,学生信息排序功能,学生信息查询功能三个模块。本设计的基本操作是通过构造结构体来实现。通过构建结构体类型数组存放 25 个学生的基本信息。再通过函数调用实现各子函数的功能,如:调通冒泡法排序子函数实现成绩排序。四.流程图层次模块图:主菜单成绩排名退出系统查询信息冒泡法排序直接法排序折半法查找直接法查找直接排序法流程图如下:子程序入口将 student[i].score 赋给minminstudent[j].score?判断是否发生交换交换两学生的全部信息交换,min=student[j];结束,退出冒泡排序法流程图如下:子程序入口开始无交换,令交换标记 t=0student[j]scorescore[j+1].score?令 t=1交换两学生的全部信息T=1?退出子程序直接查找法流程图:子程序入口Student[i].name= =Name?退出循环i0?退出子程序输入字符串 Name输出该学生的信息 输出没有找到该学生对分查找法流程图:子程序入口姓名排序,从小到大leftname[mid]令 left=mid+1输入 Name输出没有找到输出该学生的信息五.程序源代码#include#include#include#define N 5struct student //定义结构体{char name[10];int score;} t, student[N]; //定义一个结构体对象和一个结构体数组void (struct student) //输入信息函数{int i=0;int s;char c;do{printf(“请输入学生信息:\n“);printf(“请输入姓名:“);scanf(“%10s“,printf(“请输入成绩,分数在 60-99 之间:“);scanf(“%5d“,if(student[i].score99){printf(“分数输入有误,请重新输入:“);scanf(“%5d“,student[i].score=s;}i++;printf(“是否继续输入: y or Y :“);getchar();c=getchar();}while((c== y ||c== Y )student[i]=student[j];student[j]=t;}}printf(“排序后的结果:\n“);for( i=0;istudent[j+1].score){ t=student[j];student[j]=student[j+1];student[j+1]=t;}printf(“The sorted result: \n“);for(i=0;i0)printf(“该姓名不存在\n“);while(left0)left=mid+1;}if((strcmp(Name,student[mid].name)!=0)||(leftright))printf(“No found\n“);printf(“是否继续查询: y or Y :“);getchar();c=getchar();}while(c== 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“,}while(c6);return c;}void main() //主函数{int select;while(1){select=menu();switch(select){case 1:(student[N]); break;case 2:sort1(student[N]);break;case 3:sort2(student[N]);break;case 4:search1(student[N]);break;case 5:search2(student[N]);break;case 6:printf(“谢谢使用\n“);exit(0); //正常退出}}}六.测试与调试1.主菜单界面2.输入信息界面3.直接排序界面4.冒泡法排序界面5.直接查找信息界面6.折半查找信息界面7.退出系统界面七.心得体会通过此次程序设计课程,对于我这个刚入门的人来说,是很有难度的,这次亲手设计的程序也让我学习到不少东西。当然,我也遇到了许多困难,比如说,我一开始连结构体都弄不清楚,因为压根就没学过,但在自己看书查资料以及问同学之后,我还用结构体完成了这次的程序设计。此次设计我受益匪浅,不仅在指针、结构、文件等知识上加深了运用和理解,而且,能够自己解决一些问题使程序更加完整。这次程序设计把平时所学的知识一次性全用上了而且将近半年都没看 c 语言之类的书了,正好此时有一个程序设计,让我从程序的设计思路到

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值