Ir ao conteúdo
  • Cadastre-se

Algoritmo de estacionamento simples


Posts recomendados

Olá, só peço uma ajudinha aqui, meu algoritmo está caindo em um laço de repetição aqui:

                 else{
                 printf("\n Digite o numero da vaga que esta saindo: ");
                 scanf("%d", &NumBox);
                 Vaga[NumBox] = 'L';
                 printf("\n Volte sempre!\n");

 

alguem poderia me dar uma solução? agradeço desde já!

#include <stdio.h>
#include <stdlib.h>

int main(){

    char EntSai;
    char Vaga[9];
    int NumBox;

    printf("\n Escolha uma opcao!");
    printf("\n Para entrada digite: E, Para saida digite :S, Para sair digite :B! ");
    scanf("%c", &EntSai);
        if(EntSai == 'B'){
            exit(0);
        }else{
         while( EntSai != 0/*'S' | EntSai == 'E'*/){

             if (EntSai == 'S'){
                    printf("\n Digite o numero da vaga: ");
                    scanf("%d", &NumBox);
                if(Vaga[NumBox] != 'O'){
                         Vaga[NumBox] = 'O';
                         printf("\n Operacao finalizada com sucesso! \n\n");
                    }else{
                         printf("\n Vaga ocupada!! \n\n");
                    }

                 }else{
                 printf("\n Digite o numero da vaga que esta saindo: ");
                 scanf("%d", &NumBox);
                 Vaga[NumBox] = 'L';
                 printf("\n Volte sempre!\n");
             }

         
            printf("\n Escolha uma opcao!");
            printf("\n Para entrada digite: E, Para saida digite :S, Para sair digite :B! ");
            scanf("%c", &EntSai);
         }
        }
}

 

Link para o comentário
Compartilhar em outros sites

Olá amigo.

 

Seu problema está no lixo do buffer. É bem fácil de arrumar, basta colocar a seguinte linha no final do loop while:

setbuf(stdin, NULL);

 

Porém, seu código tem alguns trechos que podem causar problemas mais tarde, então, decidi alterar algumas coisas - se você não se importar com isso....


 

#include <stdio.h>
#include <stdlib.h>


int main(){


char EntSai;
char Vaga[9];
int NumBox;
       
  	// Coloquei dentro de um loop infinito, pois, só sairá dele se for entrado 'B' ou fechado.
    while(1){
  
    	printf("\n Escolha uma opcao!");
    	printf("\n Para entrada digite: E, Para saida digite :S, Para sair digite :B! ");
   
      	// A entrada da variável EntSai, foi colocada dentro do loop para evitar código desnecessário.
    	scanf("%c", &EntSai);
      
    	// Saindo do programa.
    	if(EntSai == 'B')
        	exit(0);
     		
      	// Trecho de código para a entrada.
        if (EntSai == 'E'){
            printf("\n Digite o numero da vaga: ");
            scanf("%d", &NumBox);
   
            if(Vaga[NumBox] != 'O'){
            	Vaga[NumBox] = 'O';
                printf("\n Operacao finalizada com sucesso! \n\n");
             }else
                printf("\n Vaga ocupada!! \n\n");

        // Trecho de código da saida. 
        }else if (EntSai == 'S'){	// Coloquei uma verificação do EntSai, para evitar execução indevida.
            printf("\n Digite o numero da vaga que esta saindo: ");
            scanf("%d", &NumBox);
            Vaga[NumBox] = 'S';
            printf("\n Volte sempre!\n");
        }
   
      	// A solução do seu problema:
        setbuf(stdin, NULL);
  } 
       
}

Qualquer coisa, é só perguntar.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

ola essa é a minha primeira vez aqui e queria uma super ajuda

gostaria de um algoritmo parecido com o de estacionamento

 

adicionado 4 minutos depois

minha esposa cuida de um bebê e ele vem de vez em quando e ela cobra R$ 2,50 por hora e as vezes ele fica meia hora ou uma hora e e dez é parecido com o de estacionamento já tentei copiar os que tem na net e modificar mas não conseguir 

eu estava tentando no visualg podem me ajudar por favor 

eu não sem nada de algoritmo mas sou curioso para aprender

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!