PrvaZadaca
unknown
plain_text
3 years ago
2.8 kB
19
Indexable
#include <stdio.h>
#include <string.h>
// Function to convert a string form of floor to an integer form
int floorConversion(char destFloorName[]) {
int floor;
char newFloorName[2];
if (strcmp(destFloorName,"B3") == 0){
floor=-3;
}
else if (strcmp(destFloorName,"B2") == 0){
floor=-2;
}
else if (strcmp(destFloorName,"B1") == 0){
floor=-1;
}
else {
switch (destFloorName[0]) {
// case 'D' is way for a user to tell that he is done using the elevator
case 'D':
floor=7;
break;
case 'G':
floor=0;
break;
case '1':
floor=1;
break;
case '2':
floor=2;
break;
case '3':
floor=3;
break;
case '4':
floor=4;
break;
case '5':
floor=5;
break;
default:
floor=6;
break;
}
}
return floor;
}
// Print the string form of an integer floor
void printFloorName (int floor){
if (floor==-3)
{
printf("You are on floor B3\n");
}
else if (floor==-2)
{
printf("You are on floor B2\n");
}
else if (floor==-1)
{
printf("You are on floor B1\n");
}
else if (floor==-0)
{
printf("You are on floor G\n");
}
else {
printf("You are on floor %d\n", floor);
}
}
int main()
{
int currFloor=0,destFloor, numUsers=1;
char destFloorName[2];
printf("When you are done traveling write 'D' as destination floor\n");
scanf("%d", &numUsers);
while(numUsers){
printf("Users: %d\n", numUsers);
printf("Enter your destination floor ");
scanf("%s", destFloorName);
destFloor = floorConversion(destFloorName);
if(destFloor==7){
numUsers--;
}
while (destFloor==6){
printf("Enter a valid floor\n");
scanf("%s", destFloorName);
destFloor = floorConversion(destFloorName);
}
if (destFloor<currFloor){
while(destFloor<currFloor){
currFloor--;
printFloorName(currFloor);
}
}
else if (destFloor>currFloor){
while(destFloor>currFloor){
currFloor++;
printFloorName(currFloor);
}
}
else {
printf("You are already on that floor\n");
}
}
}Editor is loading...