Luiz8 Postado Outubro 24, 2004 Denunciar Share Postado Outubro 24, 2004 gets("escolha");if(escolha[1]=='s'){cprintf("Acertou!");system("PAUSE");}else{gets("escolha");if(escolha[1]=='n'){cprintf("Voce perdeu!");system("PAUSE");}}}porque isso ai não funciona corretamente??? Eu criei a variavel toda certa e tal, o compilador também não acusou erro nenhum, o que está acontecendo??? alguém ajudae plz!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Outubro 24, 2004 Denunciar Share Postado Outubro 24, 2004 Olha, só de dar uma olhada reparei que ao chamar a função gets() você passou uma string como parametro (por causa das aspas""), tudo o que você tem a fazer é tirar as aspas. Fiz um programa a partir do seu: #include <stdio.h> #include <stdlib.h> int main() { char escolha[11]; printf("Introduza uma string: "); gets(escolha); if(escolha[1]=='s') printf("A segunda letra e \'s\'.\n"); else if(escolha[1]=='n') printf("A segunda letra e \'n\'.\n"); else printf("A segunda letra não e \'s\' nem \'n\'"); system("PAUSE"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Outubro 24, 2004 Denunciar Share Postado Outubro 24, 2004 não consegui não, vey!! Mas eu está aqui o programa todo, para ser melhor então visualizado e entendio. #include <stdio.h>#include <conio.h>#include <stdlib.h>char escolha[1];int main(){ clrscr(); textbackground(RED); cprintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); gotoxy(1,1); textcolor(YELLOW); cprintf("Ola Bem Vindo ao Perguntas e Respostas"); gotoxy(1,3); cprintf("\n\nCristovao Colombo descobriu a America? s ou n"); gets(escolha);if(escolha[1]=='s'){ cprintf("Acertou!"); system("PAUSE");}else{ gets(escolha);if(escolha[1]=='n'){ cprintf("Voce perdeu!"); system("PAUSE");}}}Me ajudem plzz!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Outubro 24, 2004 Denunciar Share Postado Outubro 24, 2004 Você não disse qual é o problema que ocorre. Pelo que vi, parece que quando o usuário escreve "sim" o programa não mostra a mensagem dizendo que acertou. Se esse for o problema eu sei como corrigi-lo. Não sei se você não sabe ou se foi só um descuido, mas quando declaramos um array o primeiro elemento é sempre ocupa a posição [0]. Então o comando correto seria: if (escolha[0] == 's') cprintf("Acertou"); Observe: escolha[0] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz8 Postado Outubro 24, 2004 Autor Denunciar Share Postado Outubro 24, 2004 Ae vey muito obrigado mesmo, você estah quase acertando mesmo mas, ainda tem um erro, quando eu aperto 's' ele funciona certin mas quando eu aperto 'n' ele não funciona ele pula para outra linha e fica só o tracinho. Compila ae para você ver!!!#include <stdio.h>#include <conio.h>#include <stdlib.h>char escolha[1];int main(){clrscr();textbackground(RED);cprintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");gotoxy(1,1);textcolor(YELLOW);cprintf("Ola Bem Vindo ao Perguntas e Respostas");gotoxy(1,3);cprintf("\n\nCristovao Colombo descobriu a America? s ou n");gets(escolha);if(escolha[0]=='s'){cprintf("Acertou!");system("PAUSE");}else{gets(escolha);if(escolha[1]=='n'){cprintf("Voce perdeu!");system("PAUSE");}}}Na boah, valeu ae, a gente tah quase conseguindo!!!!Continua ae me ajudando por favor!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Outubro 25, 2004 Denunciar Share Postado Outubro 25, 2004 É o mesmo problema anterior... ou seja...if(escolha[1]=='n'){ ... deveria ser: if(escolha[0]=='n'){ Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Outubro 25, 2004 Denunciar Share Postado Outubro 25, 2004 É o mesmo problema anterior...Isso aí!Mais uma coisa, no seu código quando o usuário não digita 's', o programa aguarda que o usuário digite novamente, mas indepententemente de ele acertar aparece a mensagem "Voce perdeu". Outra observação, quando o usuário introduz algo diferente de 's' e de 'n', o programa encerra sem avisar nada, tire o if (encolha[0] == 'n') do else.Veja, dei uma arrumada: #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { char escolha[1]; clrscr(); textbackground(RED); cprintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); gotoxy(1,1); textcolor(YELLOW); cprintf("Ola Bem Vindo ao Perguntas e Respostas"); gotoxy(1,3); cprintf("\n\nCristovao Colombo descobriu a America? s ou n\n"); gets(escolha); if(escolha[0]=='s' || escolha[0] == 'S') cprintf("Acertou!\n"); else cprintf("Voce perdeu!\n"); system("PAUSE"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Outubro 25, 2004 Denunciar Share Postado Outubro 25, 2004 Ou então, se a escolha for diferente de 's', 'S', 'n' ou 'N' faça ele voltar para a pergunta, veja um meio: #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { char escolha[1]; clrscr(); textbackground(RED); gotoxy(1,1); textcolor(YELLOW); cprintf("Ola Bem Vindo ao Perguntas e Respostas"); Pergunta: gotoxy(1,3); cprintf("\n\nCristovao Colombo descobriu a America? s ou n\n%c\r", 178); gets(escolha); if(escolha[0]=='s' || escolha[0] == 'S') cprintf("Acertou! \n"); else { if (escolha[0] == 'n' || escolha[0] == 'N') cprintf("Voce perdeu! \n"); else { cprintf("Digite \'s\' ou \'n\'"); goto Pergunta; } } system("PAUSE"); } Obs.: Para que aquele monte de'\n' para "desestruturar" a página? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz8 Postado Outubro 25, 2004 Autor Denunciar Share Postado Outubro 25, 2004 Ae gente valeu mesmo, consegui o que eu queria, valeu mesmo... Valeu Douplus e valeu Graymalkin Muito Obrigado mesmo...Heheheh Espero sempre poder contar com a ajuda de vc's e espero poder retribuir vc's um dia... Valeu mesmo!!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Luiz8
porque isso ai não funciona corretamente??? Eu criei a variavel toda certa e tal, o compilador também não acusou erro nenhum, o que está acontecendo??? alguém ajudae plz!!!!
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.