c语言设计一个网球场使用程序

来源:互联网 发布:opengl游戏编程 编辑:程序博客网 时间:2024/04/28 08:25

题目:网球中心共有100个网球场,每个单位可以来申请1到100的场地,申请的场地编号必须是连续的,如果场地已经被其他单位占用,就不能再次使用,而且单位在使用完场地后必须归还。请设计一个完整的系统(c语言)。(限时5分钟)
Tennis.h

</pre><pre name="code" class="objc">struct TennisGround{int num;char *agentName;};typedef struct TennisGround TG;void mallocTG(TG *total);void freeTG(TG *total);


Tennis.c

#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include "Tennis.h"void mallocTG(TG *total){int size, start,count = 0;char *agentName = (char*)malloc(sizeof(char)*10);printf("Please input your agentName:");scanf("%s", agentName);printf("Please input the size of the TennisGround:");scanf("%d", &size);printf("Please input the TennisGround number you want to start:");scanf("%d", &start);if((total+start)->agentName != " "){printf("malloc failed!\n");exit(-1);}else{while(count < size){(total+start+count)->agentName = agentName;count++;}}}void freeTG(TG* total){char *an = (char*)malloc(sizeof(char)*10);printf("please input agentName you want to free:");scanf("%s", an);int count = 0;while(count < 100){if(strcmp((total+count)->agentName, an) == 0)(total+count)->agentName = " ";count++;}}int main(){int i;int sw;TG *total = (TG*)malloc(sizeof(TG)*100);for(i=0; i<100; i++){(total+i)->num = i; (total+i)->agentName = " ";}while(1){printf("*******Tennis Ground Mallocation******************\n");for(i=0; i<100; i++){printf("%d(%s) ", (total+i)->num, (total+i)->agentName);if(i%5 == 0)printf("\n");}printf("\n");printf("**************************************************\n");printf("Please input your choosen:(1-malloc,2-free):");scanf("%d", &sw);if(sw == 1)mallocTG(total);elsefreeTG(total);}return 0;}

0 0
原创粉丝点击