Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LucasPS

[Resolvido] Algoritmo Prova

Recommended Posts

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

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

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

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

bom mostra seu código ae!

e sim o certo é 'a'!!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

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

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

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

faça simplesmente assim:

if(cont >= 7) puts("Aprovado");
else		  puts("Reprovado");

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca int main(void) pra ver!

e no final return 0!

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.