⑴ 机房收费管理系统用c语言怎么写~~~~哪位大虾帮忙必有重谢!!!
机房收费管理系统 (1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。 (2)计算功能:计算每个下机学生的上机费用,每小时1元。 (上机费用=上机时间* 1.0/h ,不足一小时按一小时计算) (3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。 (4)机器使用情况的显示(显示方式不限但要一目了然) #include<stdio.h> #include<math.h> #include<malloc.h> #define NULL 0 #define LEN sizeof(struct student) struct student { long num; long class; char name[15]; int hour1; int min1; int hour2; int min2; struct student *next; }; int n; #include"file1.h" #include"insert.c" #include"creat.c" #include"time.c" #include"del.c" #include"save.c" #include".c" #include"print.c" #include"swit.c" void main() {char c; int flag,k; struct student *head,*stu; printf(" one hour 1.0 yun !\n"); printf(" Infed information---------->1\n"); printf(" Search expense------------->2\n"); printf(" delet the information------>3\n"); printf(" =============================================\n"); printf(" !!!Example!!!\n"); //例子示范// printf(" ###*************Infed information**********##\n"); printf(" number class name 12:30-14:21\n"); //注意号输入// head=creat(); //使head=调用返回“头指针”// for(flag=1;flag;) //flag为真,操作// { printf(" Will you ? : "); //输入相应的数值,做相应的操作// scanf("%d",&k); swit(head,stu,k); printf("go on ? y/n: "); getchar(); c=getchar(); if(c=='N'||c=='n') flag=0; //如果输入'n'or'N'则退出使用本软件,否则继续相应操作// } } void swit(struct student *head,struct student *stu,int k) { long dele,number; struct student *p1; switch(k) { case 1: { printf(" !!!Example!!!\n"); //例子示范// printf("##*********Infed information**********##\n"); printf("number class name 12:30-14:21\n");//注意号输入 printf(" =>:"); stu=(struct student *)malloc(LEN); //添加信息时必须开 scanf("%ld%ld%s%d:%d-%d:%d",&stu->num,&stu->class,stu->name,&stu->hour1,&stu->min1,&stu->hour2,&stu->min2); while(stu->num!=0) //作用为多次输入后,多次开辟空间// { head=insert(head,stu); printf(" =>:"); stu=(struct student *)malloc(LEN); //添加信息时必须开辟空间// scanf("%ld%ld%s%d:%d-%d:%d",&stu->num,&stu->class,stu->name,&stu->hour1,&stu->min1,&stu->hour2,&stu->min2); } (head); print(head); }break; case 2: { printf("##*************Search.expense*************##\n"); printf(" search number :"); //输入要找的号码“number->num”// scanf("%ld",&number); while(number!=0) //输入0,则结束擦找// { time(head,number); printf(" search number :"); scanf("%ld",&number); } }break; case 3: {printf("##**********delet.the.information*********##\n"); printf(" input the deleted number:"); //输入删除号码// scanf("%ld",&dele); while(dele!=0) ////输入0,则结删除// { head=del(head,dele); print(head); (head); printf(" input the deleted number:"); scanf("%ld",&dele); } }break; } } struct student *creat(void) //1 {struct student *head; struct student *p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); //创建空间为"LEN",强转换为结构型,第一次输入// printf(" =>:"); scanf("%ld%ld%s%d:%d-%d:%d",&p1->num,&p1->class,p1->name,&p1->hour1,&p1->min1,&p1->hour2,&p1->min2); head=NULL; while(p1->num!=0) //号码不为0,可继续输入// { n=n+1; //输入一个,节点加一// if(n==1) head=p1; //有一个用户// else p2->next=p1; //多个用户,p1将指向下一个节点// p2=p1; p1=(struct student *)malloc(LEN); //将创建下一个空间,创建下一个空间后,输入信息// printf(" =>:"); scanf("%ld%ld%s%d:%d-%d:%d",&p1->num,&p1->class,p1->name,&p1->hour1,&p1->min1,&p1->hour2,&p1->min2); } p2->next=NULL; //表尾// return(head); } struct student * insert(struct student * head,struct student * stud) //stud是添加的用户// {struct student *p0,*p1,*p2; p1=head; p0=stud; if(head==NULL) //如果没有任何用户,添加为第一// {head=p0;p0->next=NULL;} else {while((p0->num>p1->num)&&(p1->next!=NULL)) //按号码小到大排列,并寻找添加节点// {p2=p1;p1=p1->next;} //p1将指向下一个节点// if(p0->num<=p1->num) {if(head==p1) head=p0; //恰好最小// else p2->next=p0; //在中间// p0->next=p1;} else {p1->next=p0;p0->next=NULL;} //在末尾// } n=n+1; //添加后接点数// return(head); } struct student *del(struct student *head,long num) { struct student *p1,*p2; if(head==NULL) {printf("NO list!\n");} //如果没有任何用户,不商除// p1=head; while(num!=p1->num && p1->next!=NULL) //寻找符合节点// {p2=p1;p1=p1->next;} //p1将指向下一个节点// if(num==p1->num) {if(p1==head) head=p1->next; //恰好最小// else p2->next=p1->next; //在中间,便指向尾接点// printf("delete %ld success !\n",num); //输出商除用户 n=n-1; //商除后接点数// } else printf("%ld not been found !\n",num);//当找不到时// return(head); } void print(struct student * head) {struct student *p; printf("Now %d person!!!\n",n); //当前用户// p=head; if(head!=NULL) //要有用户// do { printf("%ld%ld%s%d:%d-%d:%d\n",p->num,p->class,p->name,p->hour1,p->min1,p->hour2,p->min2); time(p,p->num); p=p->next; //指向下一个节点// }while(p!=NULL); else printf("NO one ! \n"); } void time(struct student *head,long number) {struct student *p=head; int i,a,b; float c; if(p==NULL) {printf("NO list!\n");} else { for(i=0;i<n;i++) { if(p->num==number) break; else p=p->next; } a=(p->hour2)-(p->hour1); b=fabs((p->min2)-(p->min1)); c=(a+b/60.0)*1.0; printf(" %ld Money is :%f\n",number,c); } } void (struct student *head) { save(head); } void save(struct student *head) { struct student *p; FILE *fp; int i; p=head; if((fp=fopen("list.c","w"))==NULL) { printf("cannot open list.c\n"); return; } do { if(fwrite(p,sizeof(struct student),1,fp)!=1) printf("list write error\n"); p=p->next; }while(p!=NULL); fclose(fp); }
⑵ c语言程序设计题目 :机房收费管理系统
机器使用情况你可以理解为那些机器已经有人在用了。如果你的程序机器有编号的话,你可以再给每台机器加一个变量记录有没有人在用,有同学进去就标志为有在用,学生出来则标记为无人在用,这样要显示使用情况只要分机器有在用和无人在用显示一下就行了。
或者不设标记,但要记录没个学生用的是哪台机器,要输出时为每一台机器搜索是否有学生在用就可以了,不过效率不如第一种。无法预测你用的数据结构,故无法给你代码,自己写吧,很简单。
比如第一种,你可以用如下数据结构:
struct computer {
int no;
boo is_using;
} com[50];
假设机房有50台机子。
只要在登记学生的函数中顺便处理一下用的哪台机子就行了。
另外,虚机团上产品团购,超级便宜
⑶ C语言 机房收费管理系统
C语言 机房收费管理系统
悬赏分:0 - 离问题结束还有 14 天 23 小时
要求:
(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。
(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))
(3)修改功能:修改学生上机的个人档案(如:增添或删除)
(4)查询功能:按条件(班级、学好、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。
⑷ 如何用C语言编写一个机房收费管理系统
用户登录,然后输入上机时间,再输入下机时间,再计算费用
⑸ 机房收费管理系统c语言设计
机房收费管理系统c语言设计
都有 蛮全的
⑹ c语言编程题 设计一个机房收费管理系统,实现对学生上机收费的管理。 功能描述如下: (1)输入功能
你好!这是一个机房收费管理系统截图,基本可以满足你的要求
⑺ 机房收费管理系统,c语言程序
机房监控软件主要是针对机房所有的设备及环境进行集中管理,具备计费管理、上网过滤 、学生上机行为控制与管理、屏幕广播教学、电子教鞭、控制游戏软件、只能运行与学习有关的软件,只能访问教师指定的网址等诸多功能。(例如:网亚机房软件、蓝创软件等)
⑻ 关于机房收费管理系统的c语言编程大作业
你好!
具体程序什么要求?这样效果可以吗
⑼ C语言编程:机房收费管理系统
这个会有人写?
⑽ C语言 机房收费管理系统 思路是什么菜单栏写什么
定义一个结构体, 内容: 班级、学号、姓名、所上机号、登机时间、已用时间、产生费用
然后每分钟把当前上机信息(已用时间和产生费用计算后)写入文件,查询就不用说了吧
网吧的计费系统大体上差不多。
重点在信息的存储方式 ,建议用ini文件结构,当然也可用数据库