类型(C语言知识)机房收费管理计划系统课程规划设计.doc

收藏

编号:2724157    类型:共享资源    大小:59KB    格式:DOC    上传时间:2020-05-01
  
8
金币
分享到微信 分享到微博 分享到QQ空间
关 键 词:
语言 知识 机房 收费 管理 计划 规划 系统 课程 设计
资源描述:
+- 课程设计报告 课程设计题目:机房收费管理系统 学 号:2013052112 姓 名:刘名 专 业:信息与计算科学 班 级:信息131 指导教师: 孙雪莲 2015年 3月18 日 1. 实验题目: 《机房收费管理系统》设计任务 (1)输入功能:输入30名学生的学号、班级、姓名、上机起止时间。 (2)计算功能:计算每个学生的上机费用。 (上机费用=上机时间* 1.0/h ,不足一小时按一小时计算) (3)查询功能:按条件(班级、学号、姓名、上机时间)显示学生信息。 2. 实验时间,地点 实验时间:15周 实验地点:软件楼 208 3. 实验目的: 通过对基本数据类型、语句、数组、函数、结构、指针以及文件等的操作,使学生全面掌握结构化程序设计的基本方法。 4. 实验要求: 从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求: (1)进一步掌握C语言程序设计的基本思想和方法; (2)掌握结构化程序设计的基本原理及应用; 5. 实验思路: 需求分析:根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。 在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。 在计算功能方面,需要计算出每个学生的上机所用的费用。 在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。 在设计工程中,把每个功能使用自定义函数的方式书写,并最后用switch语句在主函数中调用,使用模块化设计的总体思路。 上机费用 班级 流程图为: 上机时间 姓名 学号 计算 查询 主菜单 输入 上机时间 姓名 班级 学号 6. 实现过程: #include /*I/O函数*/ #include /*字符串函数*/ #include /*标准库函数*/ struct time /*定义时间结构*/ { int hour; /*时*/ int minute; /*分*/ }; typedef struct STUDENT /*定义学生信息结构*/ { int no; /*学号*/ char cla[10]; /*班级*/ char name[10]; /*姓名*/ int time_hour; /*上机时间*/ int time_minute; struct time begin,end; /*嵌套时间结构*/ }; struct STUDENT student[30]; static int i =0; /*全局静态变量*/ void insert(); /*输入功能函数*/ void end_money(); /*结账功能函数*/ void select_no(); /*学号查询功能函数*/ void select_name(); /*姓名查询功能函数*/ void select_cla(); /*班级查询功能函数*/ int main() /*主函数*/ { int i; for(;;) /*主菜单*/ { printf("\t\t*********************************\n"); printf("\t\t*********机房收费管理系统********\n"); printf("\t\t*********************************\n"); printf("1.---------------输入学生信息:\n"); printf("2.---------------结账:\n"); printf("3.---------------按学号查询:\n"); printf("4.---------------按班级查询:\n"); printf("5.---------------按姓名查询:\n"); printf("6.---------------退出系统:\n"); printf("\n\n^^^^^^^^^^^^^^^^^^^^^^^编程人员:刘忠杨^^^张鼎^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); printf("\n\n请选择功能:"); scanf("%d",&i); switch(i)/*选择分支结构*/ { case 1: { system("cls"); insert(); }break; case 2: { system("cls"); end_money(); }break; case 3: { system("cls"); select_no(); }break; case 4: { system("cls"); select_cla(); }break; case 5: { system("cls"); select_name(); }break; case 6: { return 0; } } } system("pause"); return 0; } void insert() /*输入功能*/ { printf("请输入学号:"); scanf("%d",&student[i].no); printf("请输入姓名:"); scanf("%s",&student[i].name); printf("请输入班级:"); scanf("%s",&student[i].cla); printf("请输入上机时间:"); scanf("%d:%d",&student[i].begin.hour,&student[i].begin.minute); i = i + 1; system("pause"); system("cls"); } void end_money() /*计算功能*/ { int m,minute,hour; /*保存时间*/ int no; printf("请输入学号:"); scanf("%d",&no); for(m = 0;m < i;m++) { if(no == student[m].no) { printf("请输入%d的下机时间:",no); scanf("%d:%d",&student[m].end.hour,&student[m].end.minute); if(student[m].end.minute 0) { hour = hour + 1; printf("上机时间为:%d:%d 费用为:%d",student[m].time_hour,student[m].time_minute,hour); } else { printf("上机时间为:%d:%d 费用为:%d",student[m].time_hour,student[m].time_minute,hour); } } } system("pause"); system("cls");/*清屏*/ } Void select_no() /*按学号查询功能*/ { int no; int m; printf("请输入学号:"); scanf("%d",&no); for(m = 0;m < i;m++) { if(no == student[m].no) { printf("学号为%d\t",student[m].no); printf("班级为%s\t",student[m].cla); printf("姓名为%s\t",&student[m].name); printf("上机开始时间为%d:%d\t",student[m].begin.hour,student[m].begin.minute); printf("上机结束时间为%d:%d\t",student[m].end.hour,student[m].end.minute); printf("上机时间为:%d:%d\n\t",student[m].time_hour,student[m].time_minute); } else if( m == i) { printf("没有该记录:\n"); } } system("pause"); system("cls");/*清屏*/ } void select_cla() /*按班级查询功能*/ { char cla[10]; int m; printf("请输入班级:"); scanf("%s",cla); for(m = 0;m < i;m++) { if(!strcmp(cla,student[m].cla)) { printf("学号为%d\t",student[m].no); printf("班级为%s\t",student[m].cla); printf("姓名为%s\t",&student[m].name); printf("上机开始时间为%d:%d\t",student[m].begin.hour,student[m].begin.minute); printf("上机结束时间为%d:%d\t",student[m].end.hour,student[m].end.minute); printf("上机时间为:%d:%d\n",student[m].time_hour,student[m].time_minute); } else if( m == i) { printf("没有该记录:\n"); } } system("pause"); system("cls");/*清屏*/ } void select_name()/*按姓名查询功能*/ { char name[10]; int m; printf("请输入姓名:"); scanf("%s",name); for(m = 0;m < i;m++) { if(!strcmp(name,student[m].name))/*字符串的比较 非0为真执行*/ { printf("学号为%d\t",student[m].no); printf("班级为%s\t",student[m].cla); printf("姓名为%s\t",&student[m].name); printf("上机开始时间为%d:%d\t",student[m].begin.hour,student[m].begin.minute); printf("上机结束时间为%d:%d\t",student[m].end.hour,student[m].end.minute); printf("上机时间为:%d:%d\n",student[m].time_hour,student[m].time_minute); } else if( m == i) { printf("没有该记录:\n"); } } system("pause"); system("cls");/*清屏*/ } 7.实验总结: 根据机房收费管理系统的需求分析和设计要求,这次通过C语言程序设计,实现了本系统的基本功能,分别是信息的输入,查询和计算。 虽然实现了这三大基本功能,但是这次的程序设计也还是存在着一些不足之处,由于是新接触编程设计,自身对于学习的知识点也存在着一些模糊的概念。所以,在对于程序的模块化设计方面,认识也有待加强,代码变量使用过多,占用内存大,有很大的优化方向。 在实现功能的过程中,并没有用到指针和链表等高级C语言编程方式,这也是这次编程需要改进的地方。 8.心得体会 通过对机房收费管理系统的编写,更加掌握了C语言的基本语法,巩固了本学期所学的C语言知识。同时在C的设计过程中,对C语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。 通过这周的课程设计,也认识到自己对于C语言的一些不足之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。在指针和链表方面,以后也还需要和老师同学探讨,让以后的C语言编程中能够合理的运用这些C语言里的精华内容。
展开阅读全文
提示  得力文库 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:(C语言知识)机房收费管理计划系统课程规划设计.doc
链接地址:https://www.deliwenku.com/p-2724157.html
关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com  

收起
展开