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

合集下载

机房收费管理系统c语言

机房收费管理系统c语言

机房收费管理系统c语言机房收费管理系统是一种用于管理机房收费的软件系统,主要用于对机房的学生进行收费管理。

该系统采用C语言进行开发,具有操作简单、功能齐全、界面友好等特点。

一、系统功能1. 学生信息管理:包括学生基本信息的录入、修改和删除等功能。

2. 收费管理:包括学生缴纳费用的记录、查询和统计等功能。

3. 机房设备管理:包括机房设备的添加、修改和删除等功能。

4. 系统设置:包括管理员账号密码的设置和修改等功能。

二、系统设计1. 数据库设计该系统采用MySQL数据库进行数据存储,数据库中包含以下数据表:(1)学生信息表:存储学生基本信息,包括学号、姓名、性别、年龄等字段。

(2)缴费记录表:存储学生缴纳费用的记录,包括学号、姓名、缴纳金额等字段。

(3)机房设备表:存储机房设备信息,包括设备名称、数量等字段。

(4)管理员账号表:存储管理员账号密码信息,包括管理员账号和密码字段。

2. 界面设计该系统采用图形界面进行交互设计,主要界面如下:(1)登录界面:管理员输入用户名和密码登录系统。

(2)主界面:包括学生信息管理、收费管理、机房设备管理和系统设置等功能按钮。

(3)学生信息管理界面:包括学生基本信息的录入、修改和删除等功能按钮。

(4)收费管理界面:包括学生缴纳费用的记录、查询和统计等功能按钮。

(5)机房设备管理界面:包括机房设备的添加、修改和删除等功能按钮。

3. 系统实现该系统采用C语言进行开发,主要实现技术如下:(1)MySQL数据库连接库:使用MySQL C API库连接数据库进行数据存储操作。

(2)GTK+图形库:使用GTK+图形库进行图形界面设计和交互操作。

(3)C语言编程技术:使用C语言进行程序编写和逻辑实现。

三、系统测试该系统经过多次测试,测试结果表明该系统具有较好的稳定性和可靠性,能够满足机房收费管理的需求。

同时,该系统还具有良好的用户体验,操作简单易懂,界面友好美观。

四、总结机房收费管理系统是一种用于管理机房收费的软件系统,采用C语言进行开发。

C语言机房收费管理系统[整理]

C语言机房收费管理系统[整理]

C语言机房收费管理系统[整理]机房收费管理系统2011-5-22 1. 设计目的(1) 通过对机房收费管理程序的编写加深对C 语言的掌握。

加深掌握条件语句,循环语句,函数调用,结构体等。

(2) 通过对机房收费管理系统程序的编写,提高自己,对C 语言有了更深一步的认识。

2. 函数调用关系main-menu函数:输出机房管理系统菜单input 函数: 输入若干个学生的学号、班级和姓名online 函数:学生上机,输入上机学生学号或姓名及时间calculate 函数:计算上机费用并输出offline 函数:学生下机,输入下机时间,调用calculate 函数得到上机费用search 函数:查找学生上机信息display 函数:显示全部机器的使用信息main 函数:函数调用以及结束程序3( 程序模块机房收费管理系统输入学生信息学生上机学生下机查询上机时间机器使用情况退出系统将学生的学按学号或按学号或按学号或者姓显示全部机器退出机房使用情况号、班级、姓者姓名上者姓名下名查询学生上收费管理名输入信息库机机机时间系统若该生未需判断是输入学生信需判断是否有显示机器是否在信息库否有该学系统使用息,并确定是该学生并且该被使用以及使中,则先生并且该完毕,退否继续输入生是否正在上用该机器的学输入学生生是否正出机生信息信息在上机( 程序代码4#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>struct time -------------------------------------------------------------------------- /* 时间*/ {int hour;int minute;int second;};typedef struct -------------------------- /* 学生信息*/ {char num[20];---------------------------------------------- /* 学号*/int banji; ---------------------------------- /* 班级*/int flag; -------------------------------------------------- /* 用来标记学生是否上机*/char name[20]; --------------------------------------------------------/* 姓名*/ struct time start,finish; ----------}Student;--------- /**/ 上机起止时间Student stu[50];--------- /* 信息库*/ struct computer--{---- /* 机器信息*/ int f; -----------------/* 用来标记机器是否使用*/Student stut; ------/* 使用这台机器的学生*/}com[30]; ---------int k;---- /*30 台机器*/int main_menu()------ /* 主菜单*/ {char c; do{{system("cls");printf("\t\t\t 请选择菜单 (0-5):");c=getchar();}while(c<'0'||c>'5'); ----------------------------------------------return(c-'0');}int input(Student stu[],int n) -------------------------------------/* 输入学生信息 */ {int i=0; char sign='0';while(sign!='n'&&sign!='N') ------------------------------------------------------ /* 判断是否继续输入学生信息 */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 学号 :");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继续输入,是请按丫,否请按N:");scanf("%c",&sign);stu[n+i].flag=0; ---------------------------------------------------/* 初始化为未上机 */ i++;}return(n+i);}void online(Student stu[],int n) ------------------------------- ----------------------------------------------------- /*{char num_t[20],name_t[20]; int i,s; dogetchar();/* 上机*/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;i<n;i++) -------------------------------------------------------------- /* 查找信息库中是否有该学生*/if(strcmp(stu[i].name,name_t)==0)break;}else{printf("\t\t 请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0)break;}}if(i==n){prin tf("\t\t 信息库中暂无该生,请输入该生信息再上机〜\n");return;}else if(stu[i].flag==1){printf("\t\t 该生正在上机〜\n");return;}else{for(k=0;k<30;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].sta rt.second);stu[i].flag=1; -------------------------------------------------------------------- /* 该生标记为上机*/com[k].stut=stu[i]; -------------------------------------------/*录使用该台机器的学生信息*/break;}if(k==30)prin tf("\t\t 机器全部使用中,请稍后再上机〜\n");}}void calculate(Student stu) ----------------------------------------/* ------------------------- 上机时间及费用计算*/ {int t;struct time timet;if(stu.finish.second<stu.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-stu.start.second; }elsetimet.second=stu.finish.second-stu.start.second;if(stu.finish.minute<stu.start.minute){stu.finish.hour-=1;timet.minute=stu.finish.minute+60-stu.start.minute;}elsetimet.minute=stu.finish.minute-stu.start.minute;timet.hour=stu.finish.hour-stu.start.hour;if(timet.second==0&&timet.minute==0)t=timet.hour;elset=timet.hour+1; --------------------------------------------------------------------- /* 不满一小时按一小时记*/printf("\t\t 该生上机用时%d小时,费用为%d%\n",t,t); }void offline(Student stu[],int n) --------------------------------------------------------------------------------------- /*下机*/ {char num_t[20],name_t[20];int i,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;i<n;i++){if(strcmp(stu[i].name,name_t)==0) break; }}else{printf("\t\t 请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0) break;}}if(i==n){printf("\t\t 没有这个学生〜\n");return;}else if(stu[i].flag==0){printf("\t\t 该生未上机或已下机〜\n");return;}else{printf("\t\t 请输入下机时间(当前时间):");scanf("%d:%d:%d",&stu[i].finish.hour,&stu[i].finish.minute,&stu[i].f inish.second);calculate(stu[i]); ------------------------------------------------------------------ /* 计算并输出上机费用*/stu[i].flag=0; ------------------------------------------------------------------------- /* 该生标记为未上机*/for(k=0;k<3;k++) ------------------------------------------ /* 将刚下机学生使用的机器标记为未使用*/if(strcmp(com[k].stut.num,stu[i].num)==0){com[k].f=0; ---------------------------------------------------------- /* 该台机器标记为未使用*/break;}}}void search(Student stu[],int n) ----------------------------------- ----------------------------------------- /* 上机时间查询*/{char num_t[20],name_t[20];int i,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;i<n;i++){if(strcmp(stu[i].name,name_t)==0)break;else{printf("\t\t 请输入学号:");gets(num_t);}for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0)break;}}if(i==n){printf("\t\t 查无此生〜\n");return;}else if(stu[i].flag==1)printf("\t\t 该生正在上机,上机起始时间为%d:%d:%d\n",stu[i].start.hour,stu[i].start.minute,stu[i].start.second);elseprintf("\t\t 该生未上机或已下机〜\n");void display() ------------------------------------------------------------------------------------ /* 全部机器使用情况显示*/{printf("\t 机器号是否使用使用者学号班级上机时间\n");--/* 显示格式,表头*/printf("\t ---------------------------------------------------------\n");for(k=0;k<30;k++){}if(com[k].f==0)printf("\t%02d 否-- -- -- --:--:--\n",k+1);elseprintf("\t%02d 是%-10s %-10s %2d %02d:%02d:%02d\n",k+1,com[k],com[k].stut.num,com[k].stut.banji,com[k].stut.start .hour,com[k].stut.start.minute,com[k].stut.start.second);}printf("\t");system("pause"); --------------------------- /* 使刚显示的内容在屏幕上停留一段时间,直到继续操作为止*/}int main() ----------------------------------------------------------主函数*//*{int n=0;for(k=0;k<30;k++) -------------------------------------------------- --------------------- /* 全部机器标记为未使用*/com[k].f=0;for(;;){switch(main_menu()){case 1:system("cls");printf("\t\t\t 输入学生信息:\n");n=input(stu,n);break;case 2:system("cls");printf("\t\t\t 学生上机\n");online(stu,n);printf("\t\t");system("pause");break;case 3:system("cls");printf("\t\t\t 学生下机\n");offline(stu,n);printf("\t\t");system("pause");break;case 4:system("cls");printf("\t\t\t 上机时间查询\n");search(stu,n);printf("\t\t");system("pause");break;case 5:system("cls");printf("\t\t\t 机器使用情况显示\n\n");display();break;case 0:system("cls");prin tf("\n\n\t\t 感谢使用机房收费管理系统,欢迎下次使用,再见〜\n\n"); printf("\t\t");system("pause");exit(0);}}return 0;。

C语言机房收费管理系统

C语言机房收费管理系统
3.程序模块
机房收费管理系统
输入学生信息
将学生的学号、 班级、姓名输 入信息库
输入学生信息, 并确定是否继 续输入
4பைடு நூலகம்程序代码
#include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h>
学生上机
按学号或 者姓名上 机
若该生未 在信息库 中,则先 输入学生 信息
学生下机
按学号或 者姓名下 机
需判断是 否有该学 生并且该 生是否正 在上机
第 -1- 页 共 9 页
深的入精贯习神彻中部和落纪选。要实委拔深锋求中机任入队,为央关用学员”特的和、工习装的别情省组中作《、标本是形、织央坚条中统准质“和市原组守例源国一和九处委则织为、》,共思条使个分关、部人遵等标 弘产想件命严规于优《做守法准 扬党行章;,禁定从良关事党规和 党地动党学进止。严作于的章制条 的方个,规习一、治风加基县、度件 优委全认。党步九党动,强准处维,。 良员面真着规明个的实牢换和级护学认 传会”学,眼确一重效记届底以党习教真 统工战习充明要“律大;入风线上章市育学 和作略习中分确掌四”决要党气。党,委、习 作条布近、展基握个纪策在充誓监员坚加全理《 风例局平五示本廉服律部学分词督领定强体论中 ;》、总中共标洁从要,署,发的导理领党武国 深《贯全全产准自”求做。关挥牢通(干想导员装共 刻中彻市会党、律的,合键机记知川部(区信班学。,产 汲国落X精人树准要重格在关党》委要二X域念子习根进党 取共实年神的立则求点党系做党的和办学)中;思党据一廉 违产五在,优行规掌员统。组宗中〔深学心认想章省步洁 纪党大全进良为定掌握”先要织旨央2一系全 关”真政,委坚自 违党0发体一风规的握“学深战,、1层列体 于提学治要办定律 法组6展党步貌范“四习〕入斗深省,讲党 在供习建深公理准 反工理题员巩和,四的个教1学堡入委系话员 全坚党设入4厅想则 面作念学中固时组个领廉育号习垒领、统。讲 体强的领个印信》 典条,习开拓代织必导洁实)贯作会市学着定党保历实会专。发念《 型例实讨展精和须干”施和彻用党委习眼理课 员证史施党题的,中(现一”论“党神引部方《习和员有领加想, 中。意的组《提国 的试X、学 制,的;导“必四案中近党条关悟强X信支 开学见性织关高共 教行二总习 度按党群要广四须个〉共事平员件严党理念部 展习等质讨于党产 训)、体讨 要照章众带大个具自的X业总先和肃章论,书 “革制、论照在性党 ,》主X要论 求“党路着坚备觉通“书锋义换,武学明记命度市宗,入全觉纪 自《要求” ,四规线问员持的知十记模务届深习确给 党先文委旨每党省悟律 觉内。 党个、教题逐”六,》三头开系范、纪刻教政支 章辈件办、个志党;处 讲政容,以 小讲学育条项(五落展列作权律把育治部 党和,公指专愿员要分 政领带党 组(系实,逐掌基X”于实“重用利握动方党 规先学室导题谈中坚条 治导X头组 每课一列践针句握本发“全两要,“委员向、进关思集理开持例 、干观严中 月”)讲活对通各条展七面学讲领明两办部”讲 学典于想中想展学》 讲,守心 底要学话动问读类件良定个从一话导确个〔署、党 系型印学、“用等 规温在政组求党,和题违好共有严做,带先2,“课 列发奋习谈学结党 矩入推0关治形 织,做“改章纪开产之治”全头合1以坚,用〈斗讨信党合内 、讲动6键纪式 一开合三,行局党”学面、格〕华党持邀好关目论念章、法 守话志改时律, 次展格严进明和人“责习贯以党2民支根请红于标不,党创规 纪愿革8刻和定 党三一确“性理五任教彻上号族部本党色在、得对规先, 律做和发保站政期 员组实步做决锻想个。育落率)优为宗校教全少照、争尊 ,合入展持得治组 集班”坚合胜,炼信必实下,三秀单旨教育市于入学优崇格党稳公出规织 中子学专持格全向和念须基党,结、,传位师资党1党系,誓定仆,矩集 学成习题问党天面党道,”础的为合主站统开敢、员讲誓列进章员词实情危,中 习员教题。小的德牢等十协我要稳美展于专中规词讲一”,践怀险带学 。到育导的康理修固重八调”局(措政德一担家开矩找话步学交中精,时头习 支联(成向、论养树要大推中实三施治,次当学展、标,强习流建神牢候, 部系以果建和,立论进奋际)全立筑主作者“有(准做化教思功,记豁固每区下;注成路心党述十“发,开面场牢题为给学国纪一、合宗育想立推共得树次 季县简要重线存的,八四有现展从,拒党”特律)找格旨实体业动产出立确 度X称突活方敬意认届为制“严把腐日、员章X色,开差党观施会。X党,和定 召“出述针畏识真三、定四局治理防活“干党X社讲展距员念方。《员在贯1开两正县,政、践中加建如个带个党想变动坚部规会道“。”案党永X彻一学面(处领策手党行、快功下讲头专等信的,守讲、X主德两党学干委远落次党一二级会看握员“四发立实党事讲题方念防组纪党学义、重支习部会是实全中做)以贯齐戒意三展业施课党开新面时线织律课系道有温部教要读的劳五体央”开上穿,尺识严、。方”“课展要的时;党底,列路品两书育讲本工动大党决学展其认,三科案。十,交中求深处始员线鼓讲全、行对记方话)作人发员定习“中真廉强实学习党三局流国,刻处终重励话体“,照作案精》方民展会,教三领的贯洁化”发系支五党研特坚内体保温树普党建五讲”学》神为法的理议2育个导马彻从党要展列部”组讨0理 情色持涵现入立通员位奉主习。基1》普念,)干克省政的求、讲要规书6。念 怀社以和为干党清要与一献题动本纳通,分县部思委、宗和话结划记按怎 、会知要行事志风员坚全体、党员教入一带别处要主、从旨好谐,合开给照么 务主促求动创愿正、持面”有日,材学员头围级义市严意干发要专局“办 实义行。的业、气学建总作活领,习,攻绕以做立委治识部展重起三、 思要力重”做成体为动导深内密坚“上结场决家,标。点步会新 想“知着量开温3结小的布。干入容切克坚党合观策,积准学、一战 作四行重;拓入(合康要局合4部学。联难员,月点部带极,习“课略 风个合学坚进党三,社求、格带习深系、干对底方署头践带《决怎 。全一习定取誓)坚会和“党头《入群敢部照前法,弘行头习胜么 要面,领正的词做相内四员重习领众于要习,做扬社坚近全干 深”做会确精,合适容个。近会,担以近结领政社会定平面” 入战讲习的气对格应;全引平关全当《平合会治主理总小学 领略政近神党、重面导总于心,习总贯上主义想书康习 会布治平,员有点”党书改全带近书穿的义核信记、研 我局、总方平。效学战员记革意平记其明核心念系建讨 国、有书向常着服习略强系发为谈关中白心价列成; 发五信记,时眼务习布化列展人治的人价值重区注 展大念来经候党国近局政重稳民国坚;值要域重 战发,川常看和家平、治要定服理定践体讲中同 略展视主得国治总五意讲、务政信行系话心X机理察动出家书大识话内;》X仰党和读遇念重向,事和记发,读工政加《追的中本、要党业“对展保本作外强习求宗(中社讲的五四理持(“交党近、旨2会话央新位川念政02存国平历,10主和看发一工、治61凭防总年史6义系齐展体年作全本、、书版担核列对”版的面色留治记)当心重党建)系深史党重》意价要员设》列化、治要,识值指的,改资国讲重、观示X要革政治话点真X和将、、事军文领挚全毛育业的章会为面泽人发重选理民从东”展要编想严同的体论(信治志作系领念党用。导、等结中全方合国体面起梦党来、员,学加快

c语言编程机房收费管理系统.pptx

c语言编程机房收费管理系统.pptx

{ i n t m,minute,hour; i nt xuehao; printf("请输入学号:"); scan f("%d",&xuehao); for( m = 0;m < i;m++)
{if(xuehao == Student[m].xuehao) {printf("请 输 入 %d 的 下 机 时 间 :",xuehao);
f("%d",&xuehao); for( m =
0;m < i;m++)
{
i f( xueh a o = = S t u d e n t [ m ] . x u e h a o )
{printf("学 号 : %d\t",Student[m].xuehao);
p r i n t f ( " 班 级 : % s \ t " , S t u d e n t [ m ] . b a n j i ) ; p r i n t f (“ 姓名
\n");printf("\t\t*************贵 州 大 学 人 民 武 装 学 院
*************\n");printf("\t\t
\n");printf("\t\t*************** 机 房 收 费 管 理 系 统
***************\n");printf("\t\t
学海无 涯
课程设计报 告
题 目: 微机机房收费管理系统 学 号: 1220070334 姓 名: 王 玮 专 业: 计 算 机 系 统 维 护 班 级: 12 计 维 指导教师: 袁 雪 梦

机房收费c课程设计

机房收费c课程设计

目录一、概述 (1)1.1 研究的背景与意义 (1)1.2 设计的任务与需要的知识点 (1)1.3 具体完成的设计内容 (1)二、程序设计与介绍 (2)2.1设计思路 (2)2.2功能要求 (2)2.2.1登录模块 (4)2.2.2查询模块 (4)2.2.3结账模块 (4)2.3系统模块关系图 (4)2.4程序代码 (5)2.5 运行结果 (9)三、总结与体会 (11)四、参考文献 (13)五、评分标准 (14)一、概述1.1研究的背景与意义随着科技的飞速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学校、单位等的各项事务进行科学化的管理有着无法比拟的优点。

例如:查找方便、迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学校、单位等的工作效率,也是未来发展的管理科学化、正规化并与世界接轨的重要条件。

计算机程序设计语言是人与计算机交流的工具,可以说没有程序设计语言和程序设计,计算机就是一台废物。

也就是说,程序(软件)是计算机的必要组成部分。

计算机首先是要求人们不间断地在程序设计上付出大量的创造性劳动,然后才能享受到它的服务。

进一步培养结构化程序设计的思想,加深对高级系统语言基本语言要素和控制结构的理解,针对C++语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。

此课程设计着眼于知识的运用,把平常学的知识运用到课程实践中来,本身就是考察我们知识运用能力。

要求熟悉运用一些编程软件,对我们所学的理论知识进一步的深化。

1.2设计的任务与需要的知识点我们利用这个小程序来进行对学生上网的计费,达到智能化操作节省人力的使用。

用C++语言进行编程设计一个程序使达到我们的目的。

我们需要熟悉C++语言的各种头文件和各种符号、语句代表的含义作用,这样我们才能够运用C++语言进行编程。

收费管理系统c语言课程设计

收费管理系统c语言课程设计

收费管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在收费管理系统中的应用,掌握基本的数据结构(如数组、结构体)和文件操作相关知识。

2. 学会使用C语言编写程序,实现收费管理系统的基本功能,如用户注册、登录、费用查询、费用缴纳等。

3. 了解收费管理系统的设计思路和模块划分,掌握模块化编程的方法。

技能目标:1. 培养学生运用C语言解决实际问题的能力,提高编程实践技能。

2. 学会使用调试工具,能够自主调试程序,找出并修复错误。

3. 提高团队协作能力,学会与他人共同分析问题、设计解决方案。

情感态度价值观目标:1. 培养学生积极探究、勇于实践的精神,增强学习编程的兴趣。

2. 培养良好的编程习惯,注重代码规范和程序优化。

3. 增强学生的网络安全意识,认识到收费管理系统在实际应用中的重要性。

课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识进行实际编程。

学生特点:学生已经具备一定的C语言基础,但实际编程经验不足,对收费管理系统这一实际应用场景较为陌生。

教学要求:注重理论与实践相结合,通过讲解、示范、练习、讨论等多种教学方式,引导学生掌握收费管理系统的设计与实现方法。

同时,关注学生的个体差异,提供个性化指导,确保每个学生都能达到课程目标。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 数据结构与文件操作:回顾C语言中的数组、结构体等基本数据结构,介绍文件操作相关知识,为编写收费管理系统打下基础。

- 数组的使用与操作- 结构体的定义与使用- 文件读写操作2. 收费管理系统功能模块设计:- 用户注册模块:实现用户注册功能,包括用户名、密码等信息的存储- 用户登录模块:实现用户登录功能,验证用户名和密码的正确性- 费用查询模块:实现用户费用查询功能,展示用户消费记录- 费用缴纳模块:实现用户费用缴纳功能,包括充值、支付等操作3. 编程实践与模块化设计:- 编程规范与代码优化- 模块化编程方法与实践- 调试工具的使用与程序调试技巧4. 团队协作与项目实践:- 分析与讨论:分组讨论,共同分析收费管理系统的需求与设计- 项目实践:小组成员分工合作,共同完成收费管理系统的设计与实现5. 教学进度安排:- 第一周:数据结构与文件操作知识回顾- 第二周:收费管理系统功能模块设计- 第三周:编程实践与模块化设计- 第四周:团队协作与项目实践,完成收费管理系统设计与实现教学内容与教材关联性:本课程教学内容与教材相关章节紧密相关,如数据结构与文件操作、模块化编程、调试技巧等,确保学生能够将所学知识应用于实际项目中。

c课程设计机房收费管理系统

c课程设计机房收费管理系统

c 课程设计机房收费管理系统一、教学目标本课程旨在通过学习机房收费管理系统的课程设计,使学生掌握计算机程序设计的基本原理和方法,培养学生的实际编程能力和问题解决能力。

在知识目标上,学生应掌握Java语言的基本语法、面向对象编程思想以及常用的数据结构;在技能目标上,学生应能够独立完成机房收费管理系统的需求分析、系统设计、编码实现和测试工作;在情感态度价值观目标上,学生应培养团队合作意识、创新精神和职业道德。

二、教学内容本课程的教学内容主要包括四个部分:Java语言基础、面向对象编程、机房收费管理系统设计和实践。

其中,Java语言基础部分包括Java语法、数据类型、运算符、控制结构等;面向对象编程部分包括类、对象、继承、多态等;机房收费管理系统设计部分包括需求分析、系统设计、模块划分等;实践部分包括编码实现、测试和调试。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。

主要包括:讲授法、案例分析法、实验法和讨论法。

讲授法用于讲解基本概念和原理,案例分析法用于分析实际问题和解决方案,实验法用于实践操作和验证,讨论法用于促进学生之间的交流和思考。

四、教学资源本课程的教学资源包括教材、多媒体资料、实验设备和网络资源。

教材选用《Java程序设计》作为主教材,辅助以《机房收费管理系统设计与实践》等相关参考书。

多媒体资料包括教学PPT、视频讲座等,实验设备包括计算机、网络设备等,网络资源包括在线编程平台、技术论坛等。

教学资源的选择和准备将充分支持教学内容和教学方法的实施,丰富学生的学习体验。

五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。

平时表现主要评估学生的课堂参与度、提问回答、小组讨论等;作业主要评估学生的编程实践能力和理论知识掌握情况;考试则主要评估学生的知识掌握和应用能力。

评估结果将通过评分、评语等方式反馈给学生,以促进学生的学习进步。

机房收费管理系统 (2)

机房收费管理系统 (2)
软件编程,设计功能模块、调试,整理实验数据;
撰写课程设计报告;
验收程序、答辩。
中北大学
课程设计任务书
学院、系:
软件学院
专业:
软件工程
学 生 姓 名:
学 号:
设 计 题 目:
机房收费管理系统
起迄日期:
2011年5月30日~2011年6月10日
指导教师:
发任务书日期:2010年5月30日
课程设 计任 务 书
1.课程设计的任务和要求:
本课程设计是采用C语言,在VC平台下设计图书管理系统,该系统运行在MS-DOS命令行模式下。本课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。
1)进一步巩固和复习C程序设计的基础知识。
2)培养学生结构化程序、模块化程序设计的方法和能力。
3)了解软件的编制过程及各环节的具体内容
4)提高学生程序调试技巧、软件设计能力和代码规范化等素质
5)提高学生分析问题、解决问题以及实际运用能力
2.课程设计的具体工作内容:
1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。
每人的光盘目录内含:
(1)源程序文件和可执行程序文件;
(2)测试数据;
(3)课程设计报告文档(另需交打印文档一份)。
4.课程设计工作进度计划:
起迄日期
工作内容
2011年
5月30日~6月1日
6月2日~计题目,明确课程设计任务;查阅书籍,收集资料,确定设计方案和思路;
2)计算功能:计算每个下机学生的上机费用,每小时1元。(上机费用=上机时间* 1.0/h ,不足一小时按一小时计算)

c语言课程设计缴费系统

c语言课程设计缴费系统

c语言课程设计缴费系统一、教学目标本课程的目标是让学生掌握C语言的基本语法,能够运用C语言设计一个简单的缴费系统。

通过本课程的学习,学生应能够理解C语言的基本数据类型、运算符、控制结构、函数等概念,并能够运用这些知识设计、编写并调试C语言程序。

同时,通过课程的学习,培养学生的逻辑思维能力、问题解决能力和团队合作能力。

二、教学内容教学内容主要包括C语言的基本语法和编程技巧。

具体包括以下内容:1.C语言的基本数据类型和运算符2.控制结构:条件语句、循环语句3.函数:定义、调用、返回值4.数组和字符串5.结构体和文件操作6.编程技巧:代码规范、调试方法、算法设计三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

1.讲授法:用于讲解C语言的基本概念和语法规则。

2.案例分析法:通过分析实际案例,让学生掌握编程技巧和解决问题的方法。

3.实验法:通过上机实验,让学生动手实践,加深对C语言的理解和运用能力。

四、教学资源教学资源包括教材、实验设备和相关多媒体资料。

1.教材:《C语言程序设计》2.实验设备:计算机、网络设备3.多媒体资料:教学PPT、视频教程、在线编程练习平台五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。

1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和理解能力。

2.作业:布置课后编程作业,评估学生的编程能力和解决问题的能力。

3.考试:定期进行理论考试和上机考试,评估学生对C语言知识的掌握程度。

六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保每个章节都有充分的时间进行讲解和实践。

2.教学时间:每周安排2个课时,其中1个课时用于讲授,1个课时用于实验和实践。

3.教学地点:教室和计算机实验室交替使用,以便学生能够及时进行实践操作。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,本课程将采取以下差异化教学措施:1.学习风格:提供多种学习资源,如视频教程、PPT讲解等,以满足不同学习风格的学生的需求。

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

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

课程设计报告课程设计题目:机房收费管理系统学号:12姓名:刘名专业:信息与计算科学班级:信息131指导教师:孙雪莲2015年3月18 日《机房收费管理系统》设计任务(1)输入功能:输入30名学生的学号、班级、姓名、上机起止时间。

(2)计算功能:计算每个学生的上机费用。

(上机费用=上机时间* h ,不足一小时按一小时计算)(3)查询功能:按条件(班级、学号、姓名、上机时间)显示学生信息。

2.实验时间,地点实验时间:15周实验地点:软件楼208通过对基本数据类型、语句、数组、函数、结构、指针以及文件等的操作,使学生全面掌握结构化程序设计的基本方法。

4.实验要求:从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求:(1)进一步掌握C语言程序设计的基本思想和方法;(2)掌握结构化程序设计的基本原理及应用;需求分析:根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。

在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。

在计算功能方面,需要计算出每个学生的上机所用的费用。

在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。

在设计工程中,把每个功能使用自定义函数的方式书写,并最后用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("输入学生信息:\n");printf("结账:\n");printf("按学号查询:\n");printf("按班级查询:\n");printf("按姓名查询:\n");printf("退出系统:\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].,&student[i].;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].,&student[m].;if(student[m]. <student[m].{minute = student[m]. +60 -student[m].;hour = student[m]. -1 - student[m].;student[m].time_hour = hour;student[m].time_minute = minute;}else{minute = student[m]. - student[m].;hour = student[m]. - student[m].;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].,student[m].;printf("上机结束时间为%d:%d\t",student[m].,student[m].;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].,student[m].;printf("上机结束时间为%d:%d\t",student[m].,student[m].;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].,student[m].;printf("上机结束时间为%d:%d\t",student[m].,student[m].;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++课程设计机房管理收费系统

c++课程设计机房管理收费系统

c++课程设计机房管理收费系统#include#include#include#include#define MAX 100struct student{int num; /*学号*/char name[20]; /*姓名*/int banji; /*班级*/char flag[100];/*上机标志,标记学生是否上机*/int sh,sm,fh,fm,h;/*上机起止时间*/} stu[50];void Input()/*输入*/{FILE *fp,*fq;int n,m;fp=fopen("data","wb");for(n=0;n<max;n++)< bdsfid="85" p=""></max;n++)<> {printf("n=%d 输入序号n(当输入n=-1时,返回),n=",n++); scanf("%d",&n);if(n==-1){fclose(fp);return;}else{printf("请输入学号姓名班级电脑状态时分\n");printf("学号\n");scanf("%d",&stu[n].num);printf("姓名\n");scanf("%s",&stu[n].name);printf("班级\n");scanf("%d",&stu[n].banji);strcpy(stu[n].flag,"关");stu[n].sh=0;stu[n].sm=0;stu[n].fh=0;stu[n].fm=0;stu[n].h=0;fwrite(&stu[n],sizeof(struct student),1,fp);}}}void Output()/*输出*/{FILE *fp,*fq;int i,j;fp=fopen("data","rb");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 学生信息\n");printf("-----------------------------------------------------------\n");printf(" 学号姓名班级是否开机开机时:分关机时:分上机时长(小时) \n");printf("-----------------------------------------------------------\n");for(i=0;fread(&stu[i],sizeof(struct student),1,fp)==1;i++){printf("%6d %8s %6d %8s %11d:%2d %8d:%2d %8d\n",stu[i ].num,stu[i].name,stu[i].banji,stu[i].flag,stu[i].sh,stu[i].sm,stu[i].fh,stu[i].fm,stu[i].h);}fclose(fp);printf("按任意键返回主菜单\n");getch();}void jishi(){FILE *fp;int i,num,n,flag;int ch,cm;printf("上机请按1\n下机请按2\n");scanf("%d",&n);if(n==1){printf("请输入学号");scanf("%d",&num);fp=fopen("data","rb");for(i=0;i<=MAX;i++)if(stu[i].num==num){printf(" 学号姓名班级电脑状态开机时:分\n");printf("%6d %8s %6d %8s %11d:%2d\n",stu[i].num,stu[i].na me,stu[i].banji,stu[i].flag,stu[i].sh,s tu[i].sm);n=i;flag=1;fclose(fp);break;}printf("\n\n");fp=fopen("data","rb+");fseek(fp,n*sizeof(struct student),0); printf("\n\n");strcpy(stu[n].flag,"开");printf("请输入开机时间\n");printf("★★★★时:");scanf("%d",&stu[n].sh);printf("★★★★分:");scanf("%d",&stu[n].sm);stu[n].fh=0;stu[n].fm=0;stu[n].h=0;fwrite(&stu[i],sizeof(struct student),1,fp); fclose(fp);fp=fopen("data","rb");printf("电脑已打开,可以上机。

机房收费管理系统c语言

机房收费管理系统c语言

机房收费管理系统1. 引言在现代社会,机房成为了信息技术的重要组成部分,承担着信息存储、数据处理等关键任务。

机房的使用费用需要进行管理和收费,以维持机房的正常运转和持续发展。

因此,开发一套机房收费管理系统具有重要意义。

本文将通过C语言编写一个机房收费管理系统,并探讨其设计与实现。

2. 系统功能设计2.1 用户管理模块用户管理模块是机房收费管理系统的核心模块之一,用于管理用户的基本信息和账户余额。

具体功能需求如下:•用户注册:用户可以通过系统进行注册,输入基本信息并生成唯一的用户ID。

•用户登录:已注册的用户可以通过输入用户名和密码进行登录操作。

•用户查询:用户可以通过系统查询自己的账户余额和消费记录。

2.2 机房使用管理模块机房使用管理模块主要用于管理机房的使用情况和收费标准。

具体功能需求如下:•机房预约:用户可以通过系统预约机房使用时间,系统根据预约时间自动计算费用。

•机房取消预约:用户可以在预约时间之前取消机房的使用,系统将相应地进行费用计算和余额调整。

•机房使用记录查询:用户可以查询自己的机房使用记录和相关费用信息。

2.3 费用计算与管理模块费用计算与管理模块是机房收费管理系统的重要组成部分,用于计算和管理机房使用费用。

具体功能需求如下:•费用计算:系统根据机房使用时间和收费标准自动计算费用。

•费用管理:系统根据机房使用记录和费用计算结果进行费用管理和账户余额调整。

3. 系统设计与实现3.1 数据结构设计机房收费管理系统需要设计相应的数据结构来存储用户信息、机房使用记录和费用管理等数据。

可以使用结构体或链表等数据结构来实现。

3.2 用户管理模块实现用户管理模块可以通过调用C语言提供的文件操作函数来实现用户信息的读取、存储和更新。

可以使用文件来存储用户信息和账户余额等数据。

3.3 机房使用管理模块实现机房使用管理模块需要设计相应的数据结构来存储机房预约信息和使用记录。

可以使用链表或数组等数据结构来实现。

实训报告--机房收费管理系统

实训报告--机房收费管理系统

北京联合大学课程设计报告课程名称: C语言程序设计课设项目名称:机房收费管理系统学院:自动化学院专业:建筑电气与智能化姓名:学号:指导教师:成绩:2010年6月18日目录第1部分课程设计题目与要求 (1)1.问题描述 (1)2.功能要求 (1)3.任务分工 (2)第2部分《》的设计与功能实现 (2)1.总体设计 (2)2.数据结构 (4)3.算法设计 (5)4.程序代码设计 (11)5.测试与调试 (18)第3部分课程设计总结 (20)1.个人总结 (20)2.结束语 (24)附录Ⅰ程序清单 (25)附录Ⅱ用户使用说明书 (45)参考文献 (46)1第1部分 课程设计题目与要求1.问题描述为了便于管理,需要对机房的上机收费进行计算机管理,所需要的功能为:建立学生的上级档案、对于毕业的学生能够删除其档案、根据上机和下机时间计算出本次所需费用、能够续钱。

2.功能要求循环显示如图12.17所示的主菜单。

在主菜单中选择1:建立名为duli16_3.dat 的文件,并在其中添加若干学生的上机档案,信息包括学号、姓名、金额,要求学号是唯一的。

在主菜单中选择2:要求用户输入学号,然后系统显示该学生档案,并自动开始计时,如果原来金额不足6元,则不能上机,而且显示“余额不足,请续钱!”。

在主菜单中选择3:停住对该学生记时,同时根据用户输入的学号,计算该学生上机时间,并按1小时2元收费(30分钟以内均按半小时处理,60分钟以内按1小时处理),然后显示上机前后的金额。

在主菜单中选择4:添加新档案,这时要求新学号和已有的学号不能重号。

在主菜单中选择5:注销旧档案。

在主菜单中选择6:要求用户输入学号和续钱额,续钱完成后分别显示续钱前后的金额。

在主菜单中选择7:此项功能学生自由发挥,根据本组爱好增加与本题目相关的新功能。

在主菜单中选择0:显示结束信息,按任意键后,退出本系统。

12.173.任务分工主要负责编写:下机函数mylikai()、注销函数myzhuxiao()。

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

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

c语言课程设计机房收费管理系统一、教学目标本课程的教学目标是使学生掌握机房收费管理系统的开发过程,培养学生运用C语言进行实际项目开发的能力。

具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据结构、算法和编程思想,理解面向对象编程的基本概念。

2.技能目标:培养学生具备使用C语言进行程序设计的能力,能够独立完成简单的项目开发。

3.情感态度价值观目标:培养学生具有良好的团队合作精神,提高学生的问题解决能力和创新意识。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和面向对象编程。

具体安排如下:1.C语言的基本语法:介绍C语言的基本数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构如数组、链表、栈和队列等。

3.算法:介绍常见的排序算法和查找算法,培养学生分析问题和解决问题的能力。

4.面向对象编程:讲解类和对象的概念,培养学生运用面向对象思想进行程序设计的能力。

5.机房收费管理系统:以实际项目为背景,引导学生运用所学知识进行项目开发,提高学生的实际编程能力。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、算法和面向对象编程等知识,使学生掌握课程的基本概念。

2.案例分析法:通过分析实际项目案例,使学生了解机房收费管理系统的开发过程,提高学生的实际编程能力。

3.实验法:安排上机实验,使学生在实践中掌握C语言的编程技巧,培养学生的实际动手能力。

4.小组讨论法:学生进行小组讨论,培养学生的团队合作精神和问题解决能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。

2.参考书:提供相关的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT课件,提高课堂教学质量。

4.实验设备:保证学生有足够的上机实践机会,提高学生的实际编程能力。

实训报告机房收费管理系统.doc

实训报告机房收费管理系统.doc

北京联合大学课程设计报告课程名称: C语言程序设计课设项目名称:机房收费管理系统学院:自动化学院专业:建筑电气与智能化姓名:学号:指导教师:*绩:2010年6月18日目录第1部分课程设计题目与要求 (1)1.问题描述 (1)2.功能要求 (1)3.任务分工 (2)第2部分《》的设计与功能实现 (2)1.总体设计 (2)2.数据结构 (4)3.算法设计 (5)4.程序代码设计 (11)5.测试与调试 (18)第3部分课程设计总结 (20)1.个人总结 (20)2.结束语 (24)附录Ⅰ程序清单 (25)附录Ⅱ用户使用说明书 (45)参考文献 (46)第1部分课程设计题目与要求1.问题描述为了便于管理,需要对机房的上机收费进行计算机管理,所需要的功能为:建立学生的上级档案、对于毕业的学生能够删除其档案、根据上机和下机时间计算出本次所需费用、能够续钱。

2.功能要求循环显示如图12.17所示的主菜单。

在主菜单中选择1:建立名为duli16_3.dat的文件,并在其中添加若干学生的上机档案,信息包括学号、姓名、金额,要求学号是唯一的。

在主菜单中选择2:要求用户输入学号,然后系统显示该学生档案,并自动开始计时,如果原来金额不足12.176元,则不能上机,而且显示“余额不足,请续钱!”。

在主菜单中选择3:停住对该学生记时,同时根据用户输入的学号,计算该学生上机时间,并按1小时2元收费(30分钟以内均按半小时处理,60分钟以内按1小时处理),然后显示上机前后的金额。

在主菜单中选择4:添加新档案,这时要求新学号和已有的学号不能重号。

在主菜单中选择5:注销旧档案。

在主菜单中选择6:要求用户输入学号和续钱额,续钱完成后分别显示续钱前后的金额。

在主菜单中选择7:此项功能学生自由发挥,根据本组爱好增加与本题目相关的新功能。

在主菜单中选择0:显示结束信息,按任意键后,退出本系统。

13.任务分工主要负责编写:下机函数mylikai()、注销函数myzhuxiao()。

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

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

课程设计报告课程设计题目:机房收费管理系统学号:2021052112姓名:刘名专业:信息与计算科学班级:信息131指导教师:孙雪莲2021 年3月18 日➢?机房收费管理系统?设计任务〔1〕输入功能:输入30名学生的学号、班级、姓名、上机起止时间。

〔2〕计算功能:计算每个学生的上机费用。

〔上机费用=上机时间* 1.0/h ,缺乏一小时按一小时计算〕〔3〕查询功能:按条件〔班级、学号、姓名、上机时间〕显示学生信息。

2.实验时间,地点实验时间:15周实验地点:软件楼208通过对根本数据类型、语句、数组、函数、构造、指针以及文件等的操作,使学生全面掌握构造化程序设计的根本方法。

4.实验要求:从课程设计的目的出发,通过课程设计的各个环节,到达以下教学要求:〔1〕进一步掌握C语言程序设计的根本思想和方法;〔2〕掌握构造化程序设计的根本原理及应用;需求分析:根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。

在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。

在计算功能方面,需要计算出每个学生的上机所用的费用。

在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。

在设计工程中,把每个功能使用自定义函数的方式书写,并最后用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");/*清屏*/}V oid 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语言程序设计,实现了本系统的根本功能,分别是信息的输入,查询和计算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程设计题目:机房收费管理系统学号:姓名:专业:班级:指导教师:年月日➢《机房收费管理系统》设计任务(1)输入功能:输入30名学生的学号、班级、姓名、上机起止时间。

(2)计算功能:计算每个学生的上机费用。

(上机费用=上机时间* 1.0/h ,不足一小时按一小时计算)(3)查询功能:按条件(班级、学号、姓名、上机时间)显示学生信息。

2.实验时间,地点实验时间:15周实验地点:软件楼208通过对基本数据类型、语句、数组、函数、结构、指针以及文件等的操作,使学生全面掌握结构化程序设计的基本方法。

4.实验要求:从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求:(1)进一步掌握C语言程序设计的基本思想和方法;(2)掌握结构化程序设计的基本原理及应用;需求分析:根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。

在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。

在计算功能方面,需要计算出每个学生的上机所用的费用。

在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。

在设计工程中,把每个功能使用自定义函数的方式书写,并最后用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");/*清屏*/}V oid 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语言程序设计,实现了本系统的基本功能,分别是信息的输入,查询和计算。

相关文档
最新文档