C语言实现停车场管理小游戏:简单代码解析与实验报告

创始人
2025-01-13 21:57:11
0 次浏览
0 评论

c语言程序设计实验报告80~100行,关于一种小游戏的,语句简单些,

#include#include#include#defineMAX_PARKING_SIZE10//停车场最大停车数量#definePRIZE10.00//每小时停留单价#definetrue1#definefalse0typedefstructstack{longpos[MAX_PARKING_SIZE];//存储许可证数量inttime[MAX_PARKING_SIZE];//存储进站时间;//最后一辆车的位置指示器}Stack;//定义堆栈模拟车位输入defstructqueue{intnum;//存储车牌structqueue*next;//点tonextcar}Queue;//设置队列-模拟室外停车位voidInitStack(Stack*s){s->point=-1;}//初始化队列Queue*InitQueue()//初始化队列{Queue*q;q=(Queue*)malloc(sizeof(Queue));q->next=NULL;returnq;}intStackPop(Stack*s,long*i,int*j)//弹出函数{if(s->点==-1)returnfalse;else{*i=s->pos[s->point];*j=s->time[s->point];s->point--;returntrue;}}intStackPush(Stack*s,longi,intj)//推送函数{if(s->point==MAX_PARKING_SIZE-1)returnfalse;else{s-->point++;s->pos[s->point]=i;s->time[s->point]=j;returntrue;}}intQueuePop(Queue**qH,long*i)//队列函数{Queue*temp;if((*qH)->next==NULL)returnfalse;else{temp=(*qH)->下一个;(*qH)->下一个=temp->下一个;*i=temp->num;free(temp);returntrue;}}intQueuePush(Queue**q,longi)//入队函数{Queue*temp;if((temp=(Queue*)malloc(sizeof(Queue)))==NULL)returnfalse;else{(*q)->next=temp;temp->num=i;temp->next=NULL;*q=temp;returntrue;}}intmain(){inttime,i,j,inStack,inQueue;longnum;charstate;Stackpark;Queue*H,*p,*temp,*temp2;H=InitQueue();p=H;system("color9E");InitStack(&park);//初始化堆栈。
andstackprintf("**********这是停车场管理程序,欢迎使用********************\n");printf("\n停车位最多可停%d辆车,停车时间不得超过24小时。
当前停车单价为%2f元每小时\n",MAX_PARKING_SIZE,PRIZE);while(1){inStack=在Que。
ue=0;temp=H;printf("┏ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー┓\n");printf("┃停车位管理系统System┃\n");printf("┃(A或))车到站及到站车查询┃\n");printf("┃(D或d)车出发┃\n");printf("┃(E或e)来自程序退出┃\n");printf("┗┗───────────────────────────────────────────────┛\n");printf("\n你选项是");state=getche();if(state=='a'||state=='A'||state=='d'||state=='D'){printf("\n车牌输入(号码):");scanf("%ld",#num);printf("\n输入到达或查询或出发时间(24小时格式,单位:小时):");scanf("%d",&time);}if(state=='a'||state=='A'){for(i=0;iatstation<=park.point;i++)if(park.pos[i]==num){inStack=1;break;}//find(j=1;temp->next!=NULL;j++){temp2=temp;temp=temp2->next;if(temp->num==num){inQueue=1;break;}}//查找站外if(inStack)printf("\n查询结果:来车在站内第%d个位置已经花了%d个小时。
\n"i+1,time>park.time[i]?time-park.time[i]:time+24-park.time[i]]);elseif(inQueue)printf("\n查询结果:站外进站%d车在位置等待\n",j);else{if(StackPush(&park,num,time)==false){QueuePush(&p,num);printf("\n车站已满,车停在外面。
\n");}elseprintf("\n车辆已成功进站!\n");}//车辆到达后,如果站满则停在站外;else进站}elseif(state=='d'||state=='D')//{for(i=0;i<=park.point;i++)if(park.pos[i]==num){inStack=1;break;}//在车站内if(inStack)//如果在车站内{printf("即将发车的车,发车证已在车站第%d个位置停留了%d小时,处理%2fYuan\n"i+1,time>park.time[i]?time-park.time[i]:time+24-park.time[i],time>park.time[i]?(time:公园.time[i])*奖品-(时间+24-park.time[i])*奖品);while(inext!=NULL){QueuePop(&H,&num);if(H->next==NULL)p=H;StackPush(&park,num,时间);("\n停车场有空位,%d在停车场外等候,公交车已进站!\n",num);}//如果站外有车;进入车站}else//不在车站内{for(i=1;temp->next.=NULL;i++){temp2=temp;temp=temp2->next;if(temp->num==num){inQueue=1;break;}}//if(inQueue)查找是否在站外{printf("\n站外停车不收费\n",i);temp2->next=temp->next;if(temp==p)p=temp2;free(temp);}//站是外部的elseprintf("\n抱歉,您输入了不存在的车牌。
\n");}}elseif(state=='e'||状态=='E'){printf("\n");break;}elseprintf("\n输入错误。
\n");}return0;}

c语言先排序后折半查找程序的实验报告

1实验目标:熟悉一维和二维数组的定义、初始化、输入输出方法,熟悉数组相关的常用算法(搜索、排序等)。
2实验:设置一个包含20个元素的整数数组,并在程序中使用直接赋值来初始化该数组。
首先,对这些无序数据进行排序,然后使用半搜索来打印您要查找的数字的位置。
3算法描述流程图源程序:#includevoidmain(){intk,s,b,i,j,m,n,a[20]={12,9,16,21,6,11,19,4,8​​,20,15,2,5,18,14,7,3,10,13,17};f或(s=0;s<20 s++){for(i=s+1;i>a[i]){j=a[s];a[s]=a[i];a[i]=j;}}}scanf("%d",&b);m=0;n=19;while(m<=n){k=(m+n)/2;if(b==a[k]){printf("找到\n");printf("%d\n",k+1);break;}else{if(bn)printf("NotFound");}}5测试数据:3,5,20,306执行结果:FOUND2;FOUND19;NOFOUND7问题及解决办法:编译时出错。
修改源程序直至错误消失。
,可以处理数组数据,提高搜索速度。

C语言实验报告

我写了,但不知道效果好不好。
如有错误,请指出。
四川大学软件学院学号:姓名:专业:计算机科学与技术学时:5周13课程名称C/C++实验班次2实验项目复制和添加字符串实验时间08.5.16实验目的1.掌握字符串的基本操作数据搭建实验环境了解VC6.0实验内容(算法、流程、步骤、方法)。
首先,我们统计S1和S2中的字符数,在S3中分配空间并使用现有的库函数。
首先将S1复制到S3,然后将S2添加到S3。
标记完成后,需要回收空间并处理善后事宜。
源代码为:#include#includeusingnamespacestd;intmain(){char*s1="abcdef";char*s2="123456f";intn=strlen(s1)+strlen(s2);//计算s1和s2的总长度nchar*s3=newchar[n+1];//定义S3用nstrcpy(s3,s1)分配空间;//将s1复制到s3strcat(s3,s2);//将s2添加到s3cout<<"s3="<结构、算法顺序连接方法数据记录和计算数据包括字符串S1、S2和未知字符串S3,仅需要计算前两者。
字符串长度总和结论(结果)字符数组可用于顺序存储字符数据并顺序处理数据。
算法复杂度为O(n+m)。
总结字符数组可以带来方便的存储结构,但是算法不是很好,而且只能顺序遍历数组,所以复杂度不是很小。
导师评价:导师签名:
热门文章
1
C语言编程:爱心图案代码解析与实现 爱心c语言程序代码详情如下。#include,intmain()inti,j,k...

2
C程序设计实践教程:系统学习与实际操作指... c程序设计实践教程内容简介这是一本《C程序设计》实用教程,共分10章,内容分为学...

3
C++字符串处理技巧:定义、操作与排序实... c++如何定义大量字符串字符*s[100];这样,你就会得到一个包含100个字符...

4
C语言实现字符剔除与输出——C++程序示... C语言C++程序编写要求键盘输入一串字符,然后剔除其中一个字符,再输出剩下的字符...

5
C语言for循环嵌套执行原理及运算流程解... c语言中for循环嵌套的运算流程?for循环的一般形式为:for(表达式1;表达...

6
C语言实现100以内素数和计算方法详解 c语言求100以内素数的和解决方案1:#include#includeintpr...

7
Java面试常见问题解析攻略 一般java面试都会问些什么问题1您能介绍一下自己吗?回答提示:大多数人回答这个...

8
AI代写应用解析:从学生到技术工人,探索... ai代写使用人群有哪些学生、科技工作者等。学生:无论是初中生、大学生还是研究生,...

9
Python编程教程:0-10000数字... python输入0-10000的一个数,将数字转换成中文汉字零一二三四五六七八九...

10
C语言贪吃蛇游戏开发详解:从初始化到游戏... 贪吃蛇c语言代码#defineN200#include#include#incl...