机房收费管理系统课程设计九月整理.docx
- 文档编号:7732623
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:10
- 大小:19.63KB
机房收费管理系统课程设计九月整理.docx
《机房收费管理系统课程设计九月整理.docx》由会员分享,可在线阅读,更多相关《机房收费管理系统课程设计九月整理.docx(10页珍藏版)》请在冰豆网上搜索。
机房收费管理系统课程设计九月整理
课程设计报告
课程设计题目:
机房收费管理系统
学号:
2013052112
姓名:
刘名
业:
信息与计算科学
班级:
信息131指导教师:
孙雪莲
2015年3月18日
1.实验题目:
>《机房收费管理系统》设计任务
(1)输入功能:
输入30名学生的学号、班级、姓名、上机起止时间。
(2)计算功能:
计算每个学生的上机费用。
(上机费用二上机时间*1.0/h,不足一小时按一小时计
算)
(3)査询功能:
按条件(班级、学号、姓名、上机时间)显示学生信息。
2.实验时间,地点
实验时间:
15周
实验地点:
软件楼208
3・实验目的:
通过对基本数据类型、语句、数组、函数、结构、指针以及文
件等的操作,使学生全而掌握结构化程序设计的基木方法。
4.实验要求:
从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求:
(1)进一步掌握c语言程序设计的基本思想和方法;
(2)掌握结构化程序设计的基木原理及应用;
5.实验思路:
需求分析:
根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。
在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。
在计算功能方而,需要计算出每个学生的上机所用的费用。
在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。
在设计工程中,把每个功能使用自定义函数的方式书写,并最后用switch语句在主函数中调用,使用模块化设计的总体思路。
流程图为:
查询计算
主菜单
1
输入
/*I/O函数*/
/*字符串函数*/
/*标准库函数*/
/*定义时间结构*/
/*时*/
/*分*/
/*定义学生信息结构*/
/*学号*/
/*班级*/
/*姓名*/
/*上机时间*/
/*嵌套时间结
6-实现过程:
#include
#include
#include
structtime
{
inthour;
intminute;
};
typedefstructSTUDENT
{
intno;
charcla[10];
charname[10];
inttime_hour;
inttime_minute;
structtimebegin,end;
构*/
};
structSTUDENTstudent[30];
staticinti=0;
/*全局静态变量*/
voidinsert();
voidend_money();
voidselect_no();
voidselect_name();
voidselect_cla();
intmain()
{
inti;
for(;;)
/*输入功能函数*/
/*结账功能函数*/
/*学号查询功能函数勺
/*姓名查询功能函数*/
/*班级查询功能函数*/
/*主函数*/
/*主菜单*/
printf(M\t\t*********************************\n")・
printf(H\t\t*********机房收费管理系统********\nj;
printf(n\t\t*********************************\n‘‘)•
输入学生信息:
\nj;
printf(M2.
printf(M3.
按学号查询:
\F);
printf(M4.
按班级查询:
\r);
printf(M5.
按姓名查询:
\nj;
printf(H6.
退出系统:
\nH);
printf(H\n\nAAAAAAAAAAAAAAAAAAAAAAA编程人员:
刘忠杨小八张鼎
AAAAAAAAAAAAAAAAAAAAAAAAAAAA11).
scanf(u%dH,&i);
switch(i)/*选择分支结构*/{
case1:
{
systemC'cls11);
insert();
}break;
case2:
{
system("cls,f);end_money();
}break;
case3:
{
system(”cis”);
select_no();
}break;
case4:
system(nclsu);
select_cla();
}break;
case5:
{
system(,,clsn);select_name();
}break;
case6:
{
return0;
system(HpauseM);
return0;
}
voidinsert()/*输入功能*/
printf("请输入学号:
”);
scanf(M%d",&student[i].no);
scanf(M%sH,&student[i].name);
printf(u请输入班级:
”);
scanf("%s",&student[i].cla);
printf("请输入上机时间:
”);
scanf(M%d:
%d,\&student[i].begin.hour,&student[i].begin.minute);
i=i+1;
system(Hpausen);
system(nclsH);
voidend_money()/*计算功能*/
/*保存时间*/
intm,minute,hour;
intno;
printf(M请输入学号:
”);
scanf(H%dM,&no);
for(m=0;m
if(no==student[m].no)
scanf(M%d:
%dM,&student[m].end.hour,&student[m].end.minute);
if(student[m].end.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; minute=student[m].end.minutestudent[m].begin.minute; hour=student[m].end.hour-student[m].begin.hour; studentfm].time_hour=hour; student[m].time_minute=minute; if(minute>0)hour=hour+1; printf(u上机时间为: %d: %d费用为: %dn,student[m].time_hour,student[m].time_minute,hour); } else printf(M上机时间为: %d: %d费用 为: %dM,student[m].time_hour,student[m].time_ininute,hour); } } system(npauseH); system("cls");/*清屏*/ } select_no() Void 八按学号查询功能*/ intno; intin; printf(”请输入学号: ”); scanf("%d",&no); for(m=0;m { if(no==student[m].no) { printf(u学号为%d\tH,student[m].no); printf(u班级为%s\t",student[m].cla); printf("姓名为%s\t",&student[m].name); printfC*上机开始时间 ^/%d: %d\t",student[m].begin.hour,student[m].begin.minute); printfC*上机结束时间 ^9%d: %d\tn,student[m].end.hour,student[m].end.minute); printf("上机时间 为: %d: %d\n\tn,student[m].time_hour,student[m].time_minute); } elseif(m==i) printf(M没有该记录: \n”); system(HpauseM); system("clsn);/*清屏*/ select_cla() void /*按班级查询功能勺 { charcla[10]; intm; printf(-请输入班级: ”); scanf("%s",cla); for(m=0;m { if(! strcmp(cla,student[m].cla)) { printf(u学号为%d\tH,student[m].no); printf("班级为%s\t",student[m].cla); printf(u姓名为%s\t",&sUidcnt[m].name); printf("上机开始 ^%d: %d\t",student[m].begin.hour,student[m].begin.minute); printf("上机结束时间^9%d: %d\tn,student[m].end.hour,student[m].end.minute); printf("上机时间 为: %d: %d\n",student[m].time_hour,student[m].time_minute); } elseif(m==i) { printf(”没有该记录: \n”); system("pauseM); system("cls");/*清屏*/ } voidselect_name()/*按姓名查询功能*/ { charname[10]; intm; printf(H请输入姓名: “); scanf("%s",name); for(m=0;m if(! strcmp(name,student[m].name))/*字符串的比较非0为真执行*/ { printf(u学号为%d\tH,student[m].no); printf(u班级为%s\t",student[m].cla); printf("姓名为%s\t",&student[m].name); printf("上机开始时间 ^9%d: %d\t",student[m].begin.hour,student[m].begin」ninute); printfC*上机结束时间 ^9%d: %d\t",student[m].end.hour,student[m].end.minute); printf("上机时间 为: %d: %d\n",student[m].time_hour,student[m].time_minute); } elseif(m==i) { printf(M没有该记录: \n”); system("pause"); system("clsn);/*清屏*/ 7•实验总结: 根据机房收费管理系统的需求分析和设计要求,这次通过c语言程序设计,实现了本系统的基本功能,分别是信息的输入,查询和计算。 虽然实现了这三大基本功能,但是这次的程序设计也还是存在着一些不足之处,由于是新接触编程设计,自身对于学习的知识点也存在着一些模糊的概念。 所以,在对于程序的模块化设计方而,认识也有待加强,代码变量使用过多,占用内存大,有很大的优化方向。 在实现功能的过程中,并没有用到指针和链表等高级c语言编程方式,这也是这次编程需要改进的地方。 &心得体会 通过对机房收费管理系统的编写,更加掌握了C语言的基木语法,巩固了本学期所学的C语言知识。 同时在C的设计过程中,对C语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。 通过这周的课程设计,也认识到自己对于C语言的一些不足之处,在对书木的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。 在指针和链表方而,以后也还需要和老师同学探讨,让以后的C语言编程中能够合理的运用这些C语言里的精华内容。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机房 收费 管理 系统 课程设计 九月 整理