LucasPS 1 Denunciar post Postado Junho 24, 2008 galera, na verdade quero uma sugestao de vcs, eu preciso fazer um programa que simula uma prova, 10 questoes com 5 alternativas, dai o usuriao digita a alternativa correta e o programa fala errada ou certa e segue pra outra pergunta, eu pensei em fazer algo assim: printf("questao1\n"); printf("Resposta: "); scanf("%d",&a); if (a=="a") { printf("Resposta certa.\n"); } else { printf("Resposta errada.\n"); }onde o "a" indica questao 1 e o "a" seria resposta certa, só que se for faze assim, uma que ficara gigante e outra que teria que criar 10 variaveis, 1 pra cada questao,e esse jeito ali, nao sei oq taria errado, mais você responde a questao1 e ele aparece todas as outras como se estivesem erradas, tpw nao aparece pra você responde essa foi a primeira coisa que me veio na cabeça de como fazer, se alguem me sugerir algo mais simples e nao muito "elaborado" ao msm tempo eu agradeço Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 24, 2008 Use um vetor para armazenar as respostas corretas. char resposta[10]; Armazene em cada posição do vetor a resposta da questão. resposta[0] -> questao 1 resposta[1] -> questao 2 . . . resposta[9] -> questao 10 Agora voce precisa de uma estrutura de repetição que leia a resposta de cada pergunta e compare com o vetor resposta. Algo do tipo: para i de 0 ate 9 faca leia(n) se(n==resposta[i]) escreva "Resposta correta" senao escreva "Resposta incorreta" fimse fimpara Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 LucasPS veja o método q vai fazer, + se seguir o seu qnd for caracter utilize aspas simples e qnd for cadeia de caracter use aspas duplas! ---Título editado--- [Ajuda] Prova http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Algoritmo Prova Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 ali no if(a=="a")... usar 'a'? e tpw, eu respondo a primeira pergunta, ele diz se ta certa ou errada e as outras aparace tudo na sequencia ja escrito resposta errada, pq ele nao ta fazendo as outras? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 bom mostra seu código ae! e sim o certo é 'a'!! []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 seria +- assim, só que ficaria muito grande, queria ve se tem como dar uma simplificada mais sem deixar muito elaborado hehe, de uma olhada ai: main(){ char a,b,c,d,e,f,g,h,j,k; int cont; cont=0; printf("questao1\n"); printf("Resposta: "); scanf("%c",&a); if (a=='a') { printf("Resposta certa.\n"); cont++; } else { printf("Resposta errada.\n"); }esse cont seria pra contar os acertos Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 bom realmente as questões você vai ter q colocar todas! + as respostas você pode fazer como o Kandrade mostrou, ai você usa vetor e simplifica td! []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 entao, eu nao sei como fazer vetor, e tambem ainda nao usei vetor nas aulas, entao ele vai achar que nao fui eu que fiz, tem outra maneira? e oq pode tar acontecendo que ele nao vai pra 2 questao pra responder? tpw, eu respondo a 1, ele mostra a 2 como resp. errada, dai vem a 3 eu respondo, dai a 4 como errada e assim por diante, vai de 2 em 2 Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 bom jah q seu professor naum qr vetor naum vejo outra maneira a naum ser um codigo mew grandinho, + me diga uma coisa usar módulos(funções, procedimentos) você pode? []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 funções a gente ja deu uma mexida, é que em outro trabalho que eu usei algumas coisas mais "elaboradas" ele diz que é falta de autoria hehe vou colar uma parte do code aqui pra você ver como ta e o que mudar: #include <stdio.h> #include <stdlib.h> main(){ char a,b,c,d,e,f,g,h,j,k; int cont; cont=0; printf("questao1\n"); printf("Resposta: "); scanf("%c",&a); if (a=='a') { printf("Resposta certa.\n"); cont++; } else { printf("Resposta errada.\n"); } printf("questao2\n "); printf("Resposta: "); scanf("%c",&b); if (b=='a') { printf("Resposta certa.\n"); cont++; } else { printf("Resposta errada.\n"); } printf("\nquestao3\n "); printf("Resposta: "); scanf("%c",&c); if (c=='a') { printf("Resposta certa.\n"); cont++; } else { printf("Resposta errada.\n"); } if ((cont*0.7)>7){ printf("\nAPROVADO.\n"); } else { printf("\nREPROVADO.\n"); } printf("\nAcertos: %d.\n\n",cont); system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 bom da pra fazer algo assim: char resp; int cont; printf("questao1\n"); printf("Resposta: "); scanf("%c",&resp); if (resp=='a') { printf("Resposta certa.\n"); cont++; } else printf("Resposta errada.\n"); getchar(); printf("questao2\n "); printf("Resposta: "); scanf("%c",&resp); if (resp=='a') { printf("Resposta certa.\n"); cont++; } else printf("Resposta errada.\n"); bom jah q ele naum qr nd de + no codigo msm ficando extenso vai ficar + ow - do jeito q você ta fazendo msm! []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 otra coisa, eu fiz aqui pra calcula 70% de acerto, se for maior que isso ta aprovado se for menor reprovado, ta certo isso? ou simplesmente fazer acertos>7 aprovado? if (7<=(cont*0.7)) { printf("\nAPROVADO.\n"); } else printf("\nREPROVADO.\n");desse jeito msm tendo 10 acertos ele ta mostrando reprovado Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 faça simplesmente assim: if(cont >= 7) puts("Aprovado"); else puts("Reprovado"); []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 vou fazer assim como você disse entao, o que diz nesse warning? warning: control reaches end of non-void function Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 coloca int main(void) pra ver! e no final return 0! []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 24, 2008 deu certo hehe esse return 0; é pra dize que acabo? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 24, 2008 ele retorna q td ocorreu com sucesso http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 25, 2008 me diz para que serve aquele getchar();? se tirar ele nao vai funcionar? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 25, 2008 bom eu naum compilei seu c'odigo + você falo q ele estava passando direto entaum eu sempre uso o getchar(); para tipo limpar algum \n q fica preso no buffer! agora c vai funfar ow naum... testa ae xD []'s Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 25, 2008 tentei tirar mais nao funciona dai hehe ele pula de 2 em 2 mais qual a função disso? pra explicar dps :P Compartilhar este post Link para o post Compartilhar em outros sites