收藏 分销(赏)

C语言机房收费标准管理系统专业课程设计.doc

上传人:天**** 文档编号:2864480 上传时间:2024-06-07 格式:DOC 页数:18 大小:43.04KB 下载积分:8 金币
下载 相关 举报
C语言机房收费标准管理系统专业课程设计.doc_第1页
第1页 / 共18页
C语言机房收费标准管理系统专业课程设计.doc_第2页
第2页 / 共18页


点击查看更多>>
资源描述
课程设计汇报 课程设计题目:机房收费管理系统 学 号:052112 姓 名:刘名 专 业:信息和计算科学 班 级:信息131 指导老师: 孙雪莲 3月18 日 1. 试验题目: Ø 《机房收费管理系统》设计任务 (1)输入功效:输入30名学生学号、班级、姓名、上机起止时间。 (2)计算功效:计算每个学生上机费用。 (上机费用=上机时间* 1.0/h ,不足一小时按一小时计算) (3)查询功效:按条件(班级、学号、姓名、上机时间)显示学生信息。 2. 试验时间,地点 试验时间:15周 试验地点:软件楼 208 3. 试验目标: 经过对基础数据类型、语句、数组、函数、结构、指针和文件等操作,使学生全方面掌握结构化程序设计基础方法。 4. 试验要求: 从课程设计目标出发,经过课程设计各个步骤,达成以下教学要求: (1)深入掌握C语言程序设计基础思想和方法; (2)掌握结构化程序设计基础原理及应用; 5. 试验思绪: 需求分析:依据机房收费管理设计要求,需要设计三个功效,分别是输入功效,计算功效和查询功效。 在输入功效方面,需要把学号、班级、姓名、上机时间等输入进系统中。 在计算功效方面,需要计算出每个学生上机所用费用。 在查询功效方面,要能够根据查询条件,查询出对应班级、学号、姓名、上机时间等学生信息。 在设计工程中,把每个功效使用自定义函数方法书写,并最终用switch语句在主函数中调用,使用模块化设计总体思绪。 上机费用 班级 步骤图为: 上机时间 姓名 学号 计算 查询 主菜单 输入 上机时间 姓名 班级 学号 6. 实现过程: #include<stdio.h> /*I/O函数*/ #include<string.h> /*字符串函数*/ #include<stdlib.h> /*标准库函数*/ 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 <student[m].begin.minute) { minute = student[m].end.minute +60 -student[m].begin.minute; hour = student[m].end.hour -1 - student[m].begin.hour; student[m].time_hour = hour; student[m].time_minute = minute; } else { minute = student[m].end.minute - student[m].begin.minute; hour = student[m].end.hour - student[m].begin.hour; student[m].time_hour = hour; student[m].time_minute = minute; } if(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语言里精华内容。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服