Ir para conteúdo
Fórum Script Brasil

iMorilon

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre iMorilon

iMorilon's Achievements

0

Reputação

  1. Fodermucker! Funcinou, valeu mano. Eu não faço idéia do que você fez, mas foi. UAEHuhaE. Xo comparar com o meu código. Editando: 16:46 Puts, vou enfiar uma agulha no meu olho. Eu achei o erro. &, esqueci do &. @_@ Excelente, ficou show. Valeu cara x) Agora vou adaptar ao meu programa de verdade, agora que sei como funciona, fica fácil. Editando: 16:50 Agora sim, 100% funcional: #include <stdio.h> #include <stdlib.h> int main() { char nome[31], yn; int loop; do { system("cls"); fflush(stdin); printf(" Digite seu nome: "); gets(nome); printf(" Seu nome \x82: %s \n\n", nome); printf(" Seu nome esta correto? (Y/N): "); scanf(" %c", &yn); switch (yn) { case 89: case 121: loop=0; break; case 78: case 110: loop=1; break; default: printf(" Digite apenas Y ou N.\n Insira seu nome novamente."); sleep(2500); loop=1; } } while (loop==1); return 0; } Valeu mesmo cara. É preciso outra pessoa pra achar os erros mais bestas, como pode?
  2. Essa barra eu sei lá porque está aí, no meu código num tá não. A comparação funciona porque é o valor ASCII das letras N e n. Mas eu já tentei com 'N' e 'n' e num foi também. As chaves { } no if também não são obrigatórias visto que só tenho uma linha de comando após. (pelo menos segundo meu professor) É, ainda deu erro. @_@ Tentar meter um switch ali. Que ce acha? To ficando louco, erro besta me irrita. Fazer um desse switch (yn) { case 'Y': case 'y': loop=0; break; case 'N': case 'n': loop=1; break; default: printf("Digite apenas Y ou N.\n"); } EDITANDO: 16:35 É, erro também. Que b@$!a viu. x)
  3. Bom pessoa, estou aprendendo C agora e estou com uma dúvida. Estou querendo fazer uma confirmação, ele tem que repetir todo o código do início caso o usuário digite a opção "Não" no final. Estou baseando a lógica no exemplo abaixo: char nome[31], yn; int loop; /do { system("cls"); printf(" Digite seu nome: "); gets(nome); printf(" Seu nome e: %s \n\n", nome); printf(" Seu nome esta correto? (Y/N): "); scanf(" %c", yn); if ((yn==78) || (yn==110)) loop=1; else loop=0; } while (loop==1); Resumidamente, o que eu quero é: Se o cabra digitar que o "Nome" está incorreto, ele consiga digitar NOVAMENTE... Não posso utilizar o goto. Preciso fazer com algo diferente. Estou recebendo o erro e o fechamento do cmd. Que faço? Sei que estou errando, mas onde? EDITANDO: Tentei assim também: [code]main () { char nome[31], yn; int loop; system("cls"); printf(" Digite seu nome: "); gets(nome); printf(" Seu nome e: %s", nome); if (NomeCHK()==1) return(0); if (NomeCHK()==0) main(); system("pause"); exit(0); } int NomeCHK () { char check; printf("\n\n Seu nome esta correto? (Y/N): "); scanf(" %c", check); printf("\n\n"); switch (check) { case 'Y': case 'y': return 0; break; case 'N': case 'n': return 1; break; default: printf("Digite apenas Y ou N.\n"); } }
  4. Parece que já foi resolvido, erro bobo mesmo. Olha, você usou "%i" também, o correto é o %d if(num==1) { scanf( "\n %i, Hoje é domingo: ", &num); } Não vai fazer nada, porque ele está "recebendo" uma variavel e enviando para o endereço (&) da variavel num. Tenta if(num==1) { print( "\n %d, Hoje \x82 domingo: ", num); } Evita usar acentuação direta no código, vai dar erro. Você precisa pegar o valor Hexadecimal do correspondente na tabela ASCII Extendida. No caso \x82 vai imprimir " é " Testei aqui o código do Rodrigo (aqui em cima) e foi de boa. A única alteração a mais que eu fiz foi essa do acento mesmo, mas fica a critério de cada um.
×
×
  • Criar Novo...