您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > C语言机房收费管理系统
C语言实践——机房收费管理系统从实施课程改革以来,我反复学习有关的教育教学理论,深刻领会新课标精神,认真反思自身教学实际,研究学生,探究教法第-1-页共8页机房收费管理系统2011-5-221.设计目的(1)通过对机房收费管理程序的编写加深对C语言的掌握。加深掌握条件语句,循环语句,函数调用,结构体等。(2)通过对机房收费管理系统程序的编写,提高自己,对C语言有了更深一步的认识。2.函数调用关系main-menu函数:输出机房管理系统菜单input函数:输入若干个学生的学号、班级和姓名online函数:学生上机,输入上机学生学号或姓名及时间calculate函数:计算上机费用并输出offline函数:学生下机,输入下机时间,调用calculate函数得到上机费用search函数:查找学生上机信息display函数:显示全部机器的使用信息main函数:函数调用以及结束程序3.程序模块4.程序代码#includestdio.h#includestdlib.h#includectype.h#includestring.hstructtime-------------------------------------------------------------------------------------------------------------------/*时间*/机房收费管理系统学生上机学生下机输入学生信息查询上机时间机器使用情况退出系统将学生的学号、班级、姓名输入信息库按学号或者姓名上机按学号或者姓名下机按学号或者姓名查询学生上机时间显示全部机器使用情况退出机房收费管理系统若该生未在信息库中,则先输入学生信息输入学生信息,并确定是否继续输入需判断是否有该学生并且该生是否正在上机需判断是否有该学生并且该生是否正在上机显示机器是否被使用以及使用该机器的学生信息系统使用完毕,退出从实施课程改革以来,我反复学习有关的教育教学理论,深刻领会新课标精神,认真反思自身教学实际,研究学生,探究教法-2-{inthour;intminute;intsecond;};typedefstruct---------------------------------------------------------------------------------------------------------/*学生信息*/{charnum[20];-------------------------------------------------------------------------------------------------------/*学号*/intbanji;--------------------------------------------------------------------------------------------------------------/*班级*/intflag;---------------------------------------------------------------------------------------/*用来标记学生是否上机*/charname[20];------------------------------------------------------------------------------------------------------/*姓名*/structtimestart,finish;---------------------------------------------------------------------------------/*上机起止时间*/}Student;Studentstu[50];---------------------------------------------------------------------------------------------------------/*信息库*/structcomputer-------------------------------------------------------------------------------------------------------/*机器信息*/{intf;-------------------------------------------------------------------------------------------/*用来标记机器是否使用*/Studentstut;------------------------------------------------------------------------------------/*使用这台机器的学生*/}com[30];-------------------------------------------------------------------------------------------------------------/*30台机器*/intk;intmain_menu()--------------------------------------------------------------------------------------------------------/*主菜单*/{charc;do{system(cls);------------------------------------------------------------------------------------------------/*清屏*/printf(\t\t\t****机房收费管理系统****\n);printf(\t\t\t1.输入学生信息\n);printf(\t\t\t2.上机\n);printf(\t\t\t3.下机\n);printf(\t\t\t4.查询上机时间\n);printf(\t\t\t5.机器使用情况显示\n);printf(\t\t\t0.退出系统\n);printf(\t\t\t************************\n);printf(\t\t\t请选择菜单(0-5):);c=getchar();}while(c'0'||c'5');-------------------------------------------------------------------------------/*判断输入是否合法*/return(c-'0');}intinput(Studentstu[],intn)----------------------------------------------------------------------------------/*输入学生信息*/{inti=0;charsign='0';while(sign!='n'&&sign!='N')--------------------------------------------------------/*判断是否继续输入学生信息*/C语言实践报告——机房收费管理系统第-3-页共8页从实施课程改革以来,我反复学习有关的教育教学理论,深刻领会新课标精神,认真反思自身教学实际,研究学生,探究教法{getchar();------------------------------------------------------------------------------------------------/*吃掉回车*/printf(\t\t学号:);gets(stu[n+i].num);printf(\t\t班级:);scanf(%d,&stu[n+i].banji);getchar();printf(\t\t姓名:);gets(stu[n+i].name);printf(\t\t继续输入?是请按Y,否请按N:);scanf(%c,&sign);stu[n+i].flag=0;-------------------------------------------------------------------------------/*初始化为未上机*/i++;}return(n+i);}voidonline(Studentstu[],intn)------------------------------------------------------------------------------------------/*上机*/{charnum_t[20],name_t[20];inti,s;do{printf(\t\t使用姓名按1,使用学号按2:);scanf(%d,&s);}while(s!=1&&s!=2);getchar();if(s==1){printf(\t\t请输入姓名:);gets(name_t);for(i=0;in;i++)----------------------------------------------------------------/*查找信息库中是否有该学生*/if(strcmp(stu[i].name,name_t)==0)break;}else{printf(\t\t请输入学号:);gets(num_t);for(i=0;in;i++){if(strcmp(stu[i].num,num_t)==0)break;}}从实施课程改革以来,我反复学习有关的教育教学理论,深刻领会新课标精神,认真反思自身教学实际,研究学生,探究教法-4-if(i==n){printf(\t\t信息库中暂无该生,请输入该生信息再上机!\n);return;}elseif(stu[i].flag==1){printf(\t\t该生正在上机!\n);return;}else{for(k=0;k30;k++)if(com[k].f==0){com[k].f=1;----------------------------------------------------------------/*该台机器标记为使用*/printf(\t\t请输入上机时间(当前时间):);scanf(%d:%d:%d,&stu[i].start.hour,&stu[i].start.minute,&stu[i].start.second);stu[i].flag=1;---------------------------------------------------------------------/*该生标记为上机*/com[k].stut=stu[i];--------------------------------------------/*记录使用该台机器的学生信息*/break;}if(k==30)printf(\t\t机器全部使用中,请稍后再上机!\n);}}voidcalculate(Studentstu)--------------------------------------------------------------------------/*上机时间及费用计算*/{intt;structtimetimet;if(stu.finish.secondstu.start.second){if(stu.finish.minute==0){stu.finish.hour-=1;stu.finish.minute=59;}elsestu.finish.minute-=1;timet.second=stu.finish.second+60-s
本文标题:C语言机房收费管理系统
链接地址:https://www.777doc.com/doc-2036230 .html