Ir para conteúdo
Fórum Script Brasil

Vinicius230

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre Vinicius230

Vinicius230's Achievements

0

Reputação

  1. Eai pessoal, muito boa noite! Estou com uma pequena dúvida, fiz um algoritmo que o usuário digita 5 numero, mas caso seja igual algum numero já digitado, mostre uma mensagem de aviso e volte novamente... Tipo assim, abaixo está o código... #include <stdio.h> #include <stdlib.h> int main() { int c, numero[5]; for(c=0; c<5; c++) { do { printf("Escolha um numero:\n"); scanf("%d",&numero[c]); system("clear"); if(numero[c] == numero[c]) { printf("Numero já escolhido\n"); } } while(numero[c] == numero[c]); } printf("Numeros escolhidos foram\n"); for(c=0; c<5; c++) { printf("%d\n",numero[c]); } return 0; } O problema é que no primeiro numero que digita já entra na condição do IF... o erro eu já descobri, mas não sei como resolver... Quem puder me ajudar, ficarei muito grato!!
  2. Valeu mano! Voce ajudou muito!! Percebi tambem que quando eu tiro o comando Getchar(); não funciona... sabe porque ? Ah! uma outra coisa, porque acrescentou "%*c"? scanf ( "%d%*c", &menu );
  3. Olá pessoal! Preciso que vocês me ajudem... me ajudando irá abrir muitas portas para algumas dificuldades que tenho sobre isso... fiz um código como exemplo... Aqui está o código... #include <stdio.h> #include <stdlib.h> void ins() { printf("Instruçoes!\n"); printf("Tecle 0 para voltar\n"); scanf("%d",&cont); } void novo() { printf("Novo jogo!\n"); printf("Tecle 0 para voltar\n"); scanf("%d",&cont); } int main() { int menu; char nome[20]; printf("Digite seu nome\n"); scanf("%s",nome); system("clear"); /* PRECISO RETORNAR AQUI EM DIANTE....*/ printf("%s escolha uma opção\n",nome); printf("[1] - Novo Jogo\n"); printf("[2] - Instruções\n"); scanf("%d",&menu); switch(menu) { case 1: novo(); break; case 2: ins(); break; } return 0; } Galera... Depois que eu escolho uma opção ele vai para o void e tals... mas depois disso, quero saber como retornar ao começo das opção, ali onde está os comentários. Mas, eu NÃO quero usar o comando GOTO... Obrigado pessoal!
  4. Olá galera, estou com uma duvida na linguagem C. Um simples código que deve inserir um nome e depois confirmar o nome, se o nome estiver correto, de-lhe as boas vindas, senão, informa que o nome está incorreto e tente novamente... Essa seria minha ideia... #include <stdio.h> #include <stdlib.h> int main() { char nome[10],nome1[10]; printf("------------\n"); printf("- CADASTRO -\n"); printf("------------\n"); printf("Digite seu nome\n"); scanf("%s",nome); system("clear"); do { printf("-----------------------\n"); printf("CONFIRMAÇÃO DE CADASTRO\n"); printf("-----------------------\n"); printf("Digite novamente seu nome\n"); scanf("%s",nome1); system("clear"); if(nome != nome1) { printf("Nome Invalido!\n"); } } while(nome != nome1); printf("Bem vindo %s \n",nome); return 0; } Mas... mesmo inserindo o nome correto diz para tentar novamente... porque isso? Se alguém falar a solução e explicando agradeço muito!!
  5. Boa noite pessoal! Acabei de iniciar na linguagem C e estou com uma "pequena" duvida... AQUI ABAIXO ESTA O CODIGO.... #include <stdio.h> #include <stdlib.h> int main() { int dinheiro,n1,n2,conti; int n11,n22,aposta,div; printf("Inicie com um valor\n"); scanf("%d",&dinheiro); system("clear"); menu: do { printf("-----------------------------\n"); printf(" J O G O D A A P O S T A \n"); printf("-----------------------------\n"); printf("Voce possui %d Reais\n",dinheiro); printf("Escolha dois numeros de 1 a 20\n"); scanf("%d",&n1); scanf("%d",&n2); if((n1 < 1)||(n1 > 20)||(n2 < 1)||(n2 > 20)); { printf("Numeros Invalidos!\n"); printf("Tecle 0 para continuar\n"); scanf("%d",&conti); system("clear"); } } while ((n1 < 1 || n1 > 20)||(n2 < 1 || n2 > 20)); system("clear"); do { printf("Quanto desaja apostar no [%d] e [%d]\n",n1,n2); scanf("%d",&aposta); if(aposta > dinheiro || aposta < 0) { printf("Quantia Invalida!\n"); printf("Tecle 0 para continuar\n"); scanf("%d",&conti); system("clear"); } } while(aposta > dinheiro || aposta < 0); system("clear"); n11 = 1+(rand()%20); n22 = 1+(rand()%20); printf("Numeros sorteados foram [%d] e [%d]\n",n11,n22); if(n1 == n11 && n1 == n22 && n2 == n11 && n2 == n22) { printf("Voce acertou os dois numeros e ganhou %d\n",aposta); dinheiro = dinheiro + aposta; printf("Tecle 0 para continuar\n"); scanf("%d",&conti); system("clear"); goto menu; } if(n1 == n11 || n1 == n22 || n2 == n11 || n2 == n22) { div = aposta / 2; printf("Voce acertou um numero e ganhou %d\n",div); dinheiro = dinheiro + div; printf("Tecle 0 para continuar\n"); scanf("%d",&conti); system("clear"); goto menu; } else printf("Voce errou os dois numeros e perdeu %d\n",aposta); dinheiro = dinheiro - aposta; printf("Tecle 0 para continuar\n"); scanf("%d",&conti); system("clear"); goto menu; return 0; } Perceba que no primeiro (IF) caso esteja verdadeiro, para que isso aconteça, deverá inserir um numero menor que 1 e maior que 20... ele irá mostrar, Numero Invalido e etc.... MAS.... mesmo eu inserindo números entre 1 a 20 ele entra nessa condição... Porque? Essa é a minha primeira e a principal duvida... Tenho outra duvida, porem um pouco importante, perceba que tem a função (GOTO) ele redireciona láááá no comecinho... Mas gostaria de retirar essa utilização do GOTO. O que tanto posso fazer para não usar o GOTO? Obrigado desde já!
×
×
  • Criar Novo...