Ir ao conteúdo

Posts recomendados

Postado

Estou precisando de ajuda Para criar o algoritmo em C, você deve considerar que o usuário que irá comprar o ingresso tem a disposição como dispositivo de entrada somente um teclado numérico, composto pelos algarismos de 0 a 9, teclas Enter e Backspace. O dispositivo de saída será uma tela com prompt de comando, onde deverão aparecer as informações do programa e instruções para a compra dos ingressos. O valor de cada ingresso para o carrinho de bate-bate será de R$ 5,00, dando direito a 10 minutos no brinquedo, e os métodos de pagamento aceitos serão cartão de crédito ou débito.

  • Amei 1
Postado

Escreva em torno dos dados. É o mais simples: você já tem a receita: crie os dois dispositivos. Seria mais fácil em C++ mas considere que basta isso: a entrada e a saida. Na saida pode ter o que você quiser, Da entrada só vem 0..9 ENTER e BACKSPACE.

 

Você escreve na saída, lê da entrada, em um loop.

 

E a lógica faz acontecer a compra do ingresso

  • Curtir 1
  • Obrigado 1
Postado

Entenda que isso não é um programa de computador, para um monitor 4K e um teclado de 105+ teclas e tal. É um brinquedo de parquinho, podia ser um totem de auto-atendimento com um tecladinho e um display LCD de 8 linhas x 40 colunas...

 

Isso é visto como uma transação, uma simples troca de mensagens com um alfabeto mínimo. Você não faz um programa, você especifica a transação. É muito mais simples e por isso um computador com 1 Megabyte de memória conseguia rodar centenas de terminais de loja nos anos 80.

 

Considere

 

[1]bem-vindo!

voce pode comprar ate 4 ingressos

Preço do ingresso: R$5,00 por 10' de uso
dos carrinhos

Pagamento via cartão de crédito ou débito

Quantidade:
.....................
[2]Pagamento: 1 para débito 2 para crédito
......................
[3]Numero do Cartão
.......................
[4]Confirma a comprar dos X ingressos com pagamento via cartão de y no total de Z?
.........................

 

Isso pode ser todo o universo do display, mais os números... e resolveria seu programa, ANTES de fazer um programa. Escreva em torno dos dados.

 

 

Postado

@arfneto  A primeira parte ja fiz agora fatal um saber fazer a parte de cobra os ingressos. obrigado pela ajuda 

 

int main()
{
    printf("Hello world!\n\n");
    printf("Bem Vindo ao Parque das Araras Amalelas!\n\n Estamos localizados:\n \n Rua: das Larangeiras, 373 \n Bairro: Taquaral \n Cidade: Campinas SP \n CEP: 02256 000 \n\n");

    printf("Horario de Atendimento:\n Seg a Sex das 8h as 22h \n Sab e Dom das 6h as 23h\n\n\n");

    printf("Preço do ingresso: R$5,00 por 10m de usodos carrinhos\n\n");

    system("pause");
    system("cls");

    printf("voce pode comprar seu ingressos aqui");

return 0;
}
 

Postado
Em 01/10/2021 às 17:29, arfneto disse:

Entenda que isso não é um programa de computador, para um monitor 4K e um teclado de 105+ teclas e tal. É um brinquedo de parquinho, podia ser um totem de auto-atendimento com um tecladinho e um display LCD de 8 linhas x 40 colunas...

 

Você está escrevendo um programa comum. Não está considerando o lance de dois dispositivos, como está no enunciado. Como o TOTEM de que eu falei. E seu programa não faz nada ainda.

 

Só mostra a mensagem de boas vindas...

 

Imagine que você tenha o terminal e o tecladinho pra vender. É algo mais simples.

 

Vou tentar um exemplo:

 

int mensagem(int n)
{
    const char* prompt[] = {
        "\
    bem-vindo !\
\n\
    voce pode comprar ate 4 ingressos\n\
\n\
    Preco do ingresso : R$5,00 por\n\
    10 minutos de uso dos carrinhos\n\
\n\
    Pagamento via cartao\n\
    de credito ou debito\n\
\n\
    Quantidade [Max 4]: ",

        "Pagamento:\nEntre 1 para debito 2 para credito: ",

        "Numero do Cartao de CREDITO: ",

        "Numero do Cartao de DEBITO: ",

        "Digite 1 para Confirmar a compra: "
    };

    int total = sizeof(prompt) / sizeof(prompt[0]);
    if ((n < 1) || (n > total))
    {
        fprintf(
            stderr, "mensagem(): %d mensagens cadastradas\n",
            sizeof(prompt) / sizeof(prompt[0]));
        return total;
    }
    printf("%s", prompt[n - 1]);
    return 0;
}

 

Essa função só tem um comando: recebe um número mostra uma mensagem. Esse é o dispositivo de saída.

 

O de entrada tem os números de 0 a 9 o backspace e o enter.

 

E no meio está o seu programa.

 

Rode essa função que eu te mostrei....

 

Os dispositivos não tem lógica. Apenas passam informação. nesse caso. Pense nisso.

 

 

 

 

Use o botão code, como explicado no primeiro post do forum...

 

int main()
{
    printf("Hello world!\n\n");
    printf("Bem Vindo ao Parque das Araras Amalelas!\n\n Estamos localizados:\n \n Rua: das Larangeiras, 373 \n Bairro: Taquaral \n Cidade: Campinas SP \n CEP: 02256 000 \n\n");

    printf("Horario de Atendimento:\n Seg a Sex das 8h as 22h \n Sab e Dom das 6h as 23h\n\n\n");

    printf("Preço do ingresso: R$5,00 por 10m de usodos carrinhos\n\n");

    system("pause");
    system("cls");

    printf("voce pode comprar seu ingressos aqui");

return 0;
}

 

Não use system(). Nunca.  Não vai estar fazendo nada. Não vai estar aprendendo nada.

 

Entenda que um printf de 4 linhas é muito, mas muito mais certo que 4 printf de uma linha:
 

  • vai estar chamando 4 vezes uma função lenta
  • vai ficar muito mais chato de ver o que vai sair na tela e mudar algo
Postado

Tem que ser assim

 

O seu programa deve conter as seguintes características:

 • Tela de boas-vindas com informações sobre o parque (nome, endereço e cidade, que você deve criar), valor do ingresso, tempo de duração que cada ingresso dá direito e uma mensagem dizendo para o usuário apertar alguma tecla para comprar um ingresso. • Após a tela de boas-vindas, a tela deve ser limpa e o usuário será direcionado a tela de seleção de quantos ingressos ele deseja comprar. Essa tela deve conter o valor do ingresso, o tempo de duração e a pergunta de quantos ingressos o usuário deseja comprar, indicando que ele digite quantos deseja e tecle enter para prosseguir.

 • A tela seguinte é a de seleção de forma de pagamento. Nela devem constar quantos ingressos estão sendo comprados e o valor total, além da pergunta do método de pagamento. Lembrese que o usuário só tem a disposição um teclado numérico. • Selecionado o pagamento, chega-se à tela de confirmação. Nessa tela, deve se apresentar a quantidade de ingressos selecionados, o valor total e a forma de pagamento, juntamente com uma mensagem para que se confirme as informações.

• Se o usuário confirmar as seleções se passa para a tela de cobrança, caso contrário, se retorna para a tela de boas-vindas.

 • Na tela de cobrança deve se apresentar uma mensagem para que o usuário siga as instruções da máquina de cartão. Além disso, para simular o pagamento do usuário, você deve criar uma barra gráfica que se preenche em 15 segundos. Com a barra preenchida, se passa automaticamente para a próxima tela, de impressão. 

• Na última tela, de impressão, você deve criar um recibo, com as informações do parque, quantos ingressos foram comprados e o valor total pago, além da mensagem para se aguardar a impressão do ingresso e agradecimento pela compra. Aqui, novamente, deve ser colocada uma barra gráfica, que agora deve se preencher em 12 segundos. Passado o tempo, o programa deve voltar para a tela de boas-vindas, permitindo que uma nova compra seja realizada. Ou seja, o programa não deve ser encerrado automaticamente. 

 

Repare que o programa possui 6 momentos, relativos a cada uma das telas. Além disso, saiba que a cada transição a tela deve ser limpa, ou seja, na tela de confirmação não devem aparecer os dados da tela de forma de pagamento. Fique à vontade em adicionar personalizações nas telas e funcionalidades além das descritas. Apenas garanta que as características apresentadas sejam atendidas em sua totalidade.

Postado
25 minutos atrás, CeifadorAx disse:

Repare que o programa possui 6 momentos, relativos a cada uma das telas

 

Em 01/10/2021 às 13:23, arfneto disse:

Escreva em torno dos dados. É o mais simples: você já tem a receita: crie os dois dispositivos. Seria mais fácil em C++ mas considere que basta isso: a entrada e a saida. Na saida pode ter o que você quiser, Da entrada só vem 0..9 ENTER e BACKSPACE

 

Em 01/10/2021 às 17:29, arfneto disse:

Isso é visto como uma transação, uma simples troca de mensagens com um alfabeto mínimo. Você não faz um programa, você especifica a transação. É muito mais simples e por isso um computador com 1 Megabyte de memória conseguia rodar centenas de terminais de loja nos anos 80

 

Pois é: veja a função que te mostrei, e use algo assim. Está escrevendo um programa comum para teclado e monitor. E o enunciado é de uma transação com estados.

 

Veja esse "programa" por exemplo:

 

int main(void)
{  
    int m = 0;
    int n = mensagem(0);
    printf("Mensagem [0..%d]: ", n);
    int res = scanf("%u", &m);
    while (res == 1)
    {   if (m < n) mensagem(m);
        res = scanf("%u", &m);
    }
    printf("\nfim\n");
    return 0;
}

 

 

 

 

Em 01/10/2021 às 17:29, arfneto disse:

Isso é visto como uma transação, uma simples troca de mensagens com um alfabeto mínimo. Você não faz um programa, você especifica a transação. É muito mais simples e por isso um computador com 1 Megabyte de memória conseguia rodar centenas de terminais de loja nos anos 80.

 

Leia o enunciado considerando isto... Pode ajudar

  • 3 semanas depois...

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...