C语言机房收费管理系统课程设计.docx

上传人:b****0 文档编号:12608572 上传时间:2023-04-20 格式:DOCX 页数:13 大小:38.98KB
下载 相关 举报
C语言机房收费管理系统课程设计.docx_第1页
第1页 / 共13页
C语言机房收费管理系统课程设计.docx_第2页
第2页 / 共13页
C语言机房收费管理系统课程设计.docx_第3页
第3页 / 共13页
C语言机房收费管理系统课程设计.docx_第4页
第4页 / 共13页
C语言机房收费管理系统课程设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言机房收费管理系统课程设计.docx

《C语言机房收费管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C语言机房收费管理系统课程设计.docx(13页珍藏版)》请在冰豆网上搜索。

C语言机房收费管理系统课程设计.docx

C语言机房收费管理系统课程设计

课程设计报告

 

课程设计题目:

机房收费管理系统

 

学号:

2021052112

姓名:

刘名

专业:

信息与计算科学

班级:

信息131

指导教师:

孙雪莲

2021年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/*标准库函数*/

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("\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)/*选择分支构造*/

{

case1:

{

system("cls");

insert();

}break;

case2:

{

system("cls");

end_money();

}break;

case3:

{

system("cls");

select_no();

}break;

case4:

{

system("cls");

select_cla();

}break;

case5:

{

system("cls");

select_name();

}break;

case6:

{

return0;

}

}

}

system("pause");

return0;

}

voidinsert()/*输入功能*/

{

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");

}

voidend_money()/*计算功能*/

{

intm,minute,hour;/*保存时间*/

intno;

printf("请输入学号:

");

scanf("%d",&no);

for(m=0;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

{

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");/*清屏*/

}

Voidselect_no()/*按学号查询功能*/

{

intno;

intm;

printf("请输入学号:

");

scanf("%d",&no);

for(m=0;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);

}

elseif(m==i)

{

printf("没有该记录:

\n");

}

}

system("pause");

system("cls");/*清屏*/

}

voidselect_cla()/*按班级查询功能*/

{

charcla[10];

intm;

printf("请输入班级:

");

scanf("%s",cla);

for(m=0;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);

}

elseif(m==i)

{

printf("没有该记录:

\n");

}

}

system("pause");

system("cls");/*清屏*/

}

voidselect_name()/*按姓名查询功能*/

{

charname[10];

intm;

printf("请输入姓名:

");

scanf("%s",name);

for(m=0;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);

}

elseif(m==i)

{

printf("没有该记录:

\n");

}

}

system("pause");

system("cls");/*清屏*/

}

7.实验总结:

根据机房收费管理系统的需求分析和设计要求,这次通过C语言程序设计,实现了本系统的根本功能,分别是信息的输入,查询和计算。

虽然实现了这三大根本功能,但是这次的程序设计也还是存在着一些缺乏之处,由于是新接触编程设计,自身对于学习的知识点也存在着一些模糊的概念。

所以,在对于程序的模块化设计方面,认识也有待加强,代码变量使用过多,占用内存大,有很大的优化方向。

在实现功能的过程中,并没有用到指针和链表等高级C语言编程方式,这也是这次编程需要改良的地方。

 

通过对机房收费管理系统的编写,更加掌握了C语言的根本语法,稳固了本学期所学的C语言知识。

同时在C的设计过程中,对C语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。

通过这周的课程设计,也认识到自己对于C语言的一些缺乏之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。

在指针和链表方面,以后也还需要和教师同学探讨,让以后的C语言编程中能够合理的运用这些C语言里的精华内容。

【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1