Ir ao conteúdo
  • Cadastre-se

kassuy

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

posts postados por kassuy

  1. Ai galera, já aprendi C, C# e agora estou aprendendo JAVA.
    Minha namorada está aprendendo C agora  também e pediu minha ajuda, mas eu meio que desaprendi/esqueci.
    Então, antes de começar a ensinar ela, pois ela tem uma prova na sexta, eu preciso tirar umas dúvidas.

    No cadastramento das contas bancárias, deverá se garantir que o campo 'Número do Cliente' somente seja preenchido por um valor previamente armazenado no array do Cliente. A execução festa verificação deverá ser implementada por uma função.

    Segue abaixo o que eu fiz. Mas não sei arrumar o erro. Não está caindo no meu IF, vai direto pro ELSE.
     

    #include <stdio.h>struct cliente {int numCliente;char nome[50];int fone;char end[50];};struct conta_banco {    int numConta;    int numCliente;    float saldo;};int verifica (struct cliente c, struct conta_banco cb) {        if (c.numCliente == cb.numCliente){        return 1;    }    else {        return 0;    }}void main () {struct cliente c[4];struct conta_banco cb[4];int i;for (i=0; i<4; i++){    printf("---------- Digite os dados do CLIENTE [%d] ----------\n", i+1);    fflush(stdin);    printf("\nDigite o [ID] do CLIENTE [%d] \t\n", i+1);    scanf("%d", &c[i].numCliente);    fflush(stdin);    printf("Digite o [NOME] do CLIENTE [%d] \t\n", i+1);    gets(c[i].nome);    fflush(stdin);    printf("Digite o [TELEFONE] do CLIENTE [%d] \t\n", i+1);    scanf("%d", &c[i].fone);    fflush(stdin);    printf("Digite o [ENDERECO] do CLIENTE [%d] \t\n", i+1);    gets(c[i].end);    printf("\n");}for (i=0; i<4; i++){    printf("---------- Digite os dados da CONTA BANCARIA [%d] ----------\n", i+1);    fflush(stdin);    printf("\nDigite o [NUMERO] da CONTA BANCARIA [%d] \t\n", i+1);    scanf("%d", &cb[i].numConta);    fflush(stdin);    printf("Digite o [NUMERO DO CLIENTE] da CONTA BANCARIA [%d] \t\n", i+1);    if(verifica == 1){        scanf("%d", &cb[i].numCliente);    }    else{        printf("Numero de cliente inexistente");    }    fflush(stdin);    printf("Digite o [SALDO] da CONTA BANCARIA [%d] \t\n", i+1);    scanf("%f", &cb[i].saldo);}}
  2. Só por esclarecimentos, não há limite de notas, e nem limite de dinheiro a ser sacado.

    Só preciso retornar os dois tipos de saques após o usuário entrar com a quantia de dinheiro a ser retirada.

    Alguém me ajuda com a parte do código de menor quantidade de notas? Fiz um try catch para tratar as exceções , que no caso seria 0, 1 e 3.

  3. Preciso simular um caixa eletrônico, nele, o usuário entra com a quantia de dinheiro que quer sacar. Após isso, tenho que oferecer a opção de "menor quantidade de notas" e a opção de "maior variedade de notas" (100, 50, 20, 10, 5 e 2).

    Como eu começo? Alguém me da uma luz, por favor.

  4. Então galera, sou iniciante na área de programação, e me deparei com o seguinte problema:

     

    O problema de Josephus é um jogo que simula um suicídio em massa: n pessoas, numeradas de 1 a n, estão sentadas em um círculo. Começando na pessoa 1, um revólver é passado de mão em mão para as pessoas subsequentes. Após m passos, a pessoa que estiver segurando o revólver comete suicídio e seu corpo é removido, a lista se reconfigura (diminuindo de tamanho) e o revólver passa para a pessoa seguinte à que morreu. Haverá apenas um sobrevivente ao final do jogo.

     

    Exemplo: se m = 0 e n = 5, então os suicídios são cometidos em ordem e o sobrevivente é a pessoa número 5.

    Se m = 1 e n = 5, então a ordem dos suicídios é 2, 4, 1, 5 e o sobrevivente é a pessoa número 3.

     

    Aí então que vem minha dúvida. Eu preciso simular este jogo, em linguagem C, lendo M e N do teclado, montando uma lista circular de N nomes. Onde eu preciso, no final, no "mostrar fila", exibir a sequencia em que os nomes são removidos da lista, que no caso são os suicídios, e o nome do último sobrevivente.

     

    O máximo que eu consegui fazer foi o seguinte:

    #include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct caixa {    int valor;    struct caixa* prox;} Caixa;typedef struct fila {    Caixa* inicio;    Caixa* fim;} Fila;Fila* fila;int primeiro = 1;void inicializa_fila() {    fila = (Fila*) malloc(sizeof(Fila));    if(fila == NULL) {        printf("Memoria insuficiente\n");        exit(1);    }    fila->inicio = NULL;    fila->fim = NULL;}void enqueue(int elemento) {    if(primeiro == 1) {        Caixa* caixa = (Caixa*) malloc(sizeof(Caixa));        fila->inicio = caixa;        fila->fim = caixa;        caixa->prox = NULL;        caixa->valor = elemento;        primeiro = -123;    } else {        Caixa* caixa = (Caixa*) malloc(sizeof(Caixa));        caixa->valor = elemento;        caixa->prox = NULL;        Caixa* aux = fila->fim;        aux->prox = caixa;        fila->fim = caixa;    }}int dequeue() {    int elemento;    Caixa* aux = fila->inicio;    elemento = aux->valor;    if(fila->inicio == fila->fim) {        fila->fim = NULL;    }    fila->inicio = aux->prox;    free(aux);    return elemento;}void mostrar_fila() {    Caixa* aux = fila->inicio;    while(aux != NULL) {        printf("%d ", aux->valor);        aux = aux->prox;    }    printf("\n");}void main() {}

    Será que alguém poderia me dar uma força?

    Para fazer a fila virar circular eu tenho que apontar para o final da lista em vez de NULL?

    Como eu implemento este problema no que já foi feito até agora?
    Sugestões, por favor.
    Obrigado desde já!

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