Ir ao conteúdo
  • Cadastre-se

C Desenvolver uma gestão de uma Marina


jorge.b

Posts recomendados

Olá a todos, estou com uma duvida.

Estou a fazer um trabalho final para uma disciplina e é sobre a gestão de uma marina.

Nessa gestão tenho que fazer a disponibilidade em cada cais e estes cais estão divididos para diferentes tamanhos de barcos.

Exemplo: Barco A tem 8 metros vai para o Cais 1 que tem 40 lugares disponiveis.

A duvida basicamente é como eu faço um código para dizer a disponibilidade do cais. o código até então é assim:

if(opcao=1){
        printf("Insira os dados do seu barco.\n");
        printf("Matricula: ");
        scanf("%d", &matric);
        printf("Nome do proprietario: \n");
        scanf("%s", &propr);
        printf("Nome capitao: ");
        scanf("%s", &capitao);
        printf("Numero de passageiros: ");
        scanf("%d", &n_passageiro);
        printf("Data de entrada: ");
        scanf("%d", &d_entrada);
        printf("Data de saida: ");
        scanf("%d", &d_saida);
        printf("Tamanho: ");
        scanf("%f", &tam );
    
        if(tam<=7.99){
        cais_a(tam ,lug_a = lug_a-1);
        printf("")
        }
        else{
            if(8<tam<=9.99){
            cais_b(tam ,lug_b = lug_b-1);
            }
            else{
                if(10<tam<11.99){
                    cais_c(tam ,lug_c = lug_c-1);
                }
                else{
                    if(12<tam<14.99)
                    cais_d(tam, lug_d = lug_d -1);
                }
            }
        }
        }

 

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

  • Membro VIP

Permita-me aplicar minha tradicional visão minimalista superficial.. Acho que você pode simplificar pra algo como...
 

if((tam>8) && (tam<12) cais_8_12--; menos uma vaga
if((tam>12) && (tam<16) cais_12_16--; menos uma vaga
// ...

Nem sei se entendi muito but hope this helps

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

Use o botão code como explicado com exemplos no primeiro post do forum:

 

if(opcao=1){
        printf("Insira os dados do seu barco.\n");
        printf("Matricula: ");
        scanf("%d", &matric);
        printf("Nome do proprietario: \n");
        scanf("%s", &propr);
        printf("Nome capitao: ");
        scanf("%s", &capitao);
        printf("Numero de passageiros: ");
        scanf("%d", &n_passageiro);
        printf("Data de entrada: ");
        scanf("%d", &d_entrada);
        printf("Data de saida: ");
        scanf("%d", &d_saida);
        printf("Tamanho: ");
        scanf("%f", &tam );
    
        if(tam<=7.99){
        cais_a(tam ,lug_a = lug_a-1);
        printf("")
        }
        else{
            if(8<tam<=9.99){
            cais_b(tam ,lug_b = lug_b-1);
            }
            else{
                if(10<tam<11.99){
                    cais_c(tam ,lug_c = lug_c-1);
                }
                else{
                    if(12<tam<14.99)
                    cais_d(tam, lug_d = lug_d -1);
                }
            }
        }
        }

 

Use uma tabela, como uma planilha. O simples. Pode até usar uma planilha primeiro para ver como ficaria.

 

E NUNCA escreva um programa interativo.

 

Não misture leitura de dados com a lógica. Isso torna claro um INFERNO testar o programa. Com por exemplo 8 dados para cada barco vai MESMO  digitar 80 coisas CADA VEZ que for testar o programa com 10 barquinhos?

 

  • Leia de arquivos. É muito mais simples em C.
  • Leia o manual: scaf() retorna um int. TESTE. É ingênuo seguir sem testar
  • Consuma os '\n' que encerram cada scanf...

 

 

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

Escreva em torno dos dados

 

Veja a diferença

 

image.png.7cf24b88e6b77665891cfbee2ab3c6a4.png

 

Uma tabela com os barcos

 

image.png.baa8e9e2384e317adbbabfe432344403.png

 

Uma tabela com os cais

 

Comece assim. É muito mais simples.

 

Crie um arquivo com os barcos ou gere em uma função factory() que retorna um barco.

 

Faça a mesma coisa com o cais.

 

E defina funções de entrada e saída de barcos e as óbvias para listar os barcos e a ocupação das marinas. 

 

Depois pense em programar, em C ou qualquer linguagem.

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!