Ir ao conteúdo
  • Cadastre-se

kassuy

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

0
  1. Mas então eu coloco o que no verifica do IF? Nos parametros. Quais eu passo para dar certo? Eu não sei..
  2. 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);}}
  3. 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.
  4. 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.
  5. 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!