Array

3 respostas
C
import java.util.Scanner;


public class array {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	String []texto = new String [5];
	String []resposta = new String [5];
	String aluno;
	int nota=0,cont=0,op;
	float media;
	System.out.println("Digite o nome do Aluno: ");
	aluno = input.next();
	do{
	     System.out.print("                      Digite uma das opções abaixo\n");
	     System.out.println();
	     System.out.println("1 - Calcular nota de aluno");
	     System.out.println("2 - Nome de outro aluno a ser avaliado");
	     System.out.println("3 - Nº de questões");
	     System.out.println("4 - Sair");
	     op = input.nextInt();
	     if ((op<0)||(op>4)){
	    	 System.out.print("Opção Inválida! Digite novamente: ");
			 op = input.nextInt();
	     }
	     System.out.println();
	     if (op == 1){
	     
	      System.out.println("Digite o gabarito da prova: ");
	         for (int i=0;i<texto.length;i++){
		       System.out.printf("%dª Questão: ", i+1);
		       texto[i]= input.next();
		     }
	        System.out.println();
	
	        System.out.println("Digite as questões marcadas pelo aluno: ");
		          for (int j=0;j<resposta.length;j++){
		      System.out.printf("%dª Questão: ", j+1);
		      resposta[j]= input.next();
		  }
		  System.out.println();
		  
	         if (texto[0].equals(resposta[0])){
	        	nota = 2;
	        	cont++;
	          	}
	         if (texto[1].equals(resposta[1])){
	        	nota += 2;	
	        	cont++;
	         }
	         
	         if (texto[2].equals(resposta[2])){
		        	nota += 2;	
		        	cont++; 
		         }
		         
	         if (texto[3].equals(resposta[3])){
		        	nota += 2;	
		        	cont++;
		         }
		         
	         if (texto[4].equals(resposta[4])){
		        	nota += 2;	
		        	cont++;
		         }
	         
		         media=nota/cont;
	               
       
         System.out.printf("O Aluno: %s \n Acertou: %d questões \n e sua média é: %.2f",aluno,nota,media);
	     }
	     if (op==2){
	    	 aluno = input.next();
	    	
	     }
	     System.out.println();
	}while(op!=0);
	System.out.println("Programa Finalizado");
	}
}
		// TODO Auto-generated method stub

Seguinte tenho que criar um arquivo com gabarito e notas de avaliação de alunos. Criar e grava eu sei. Cada questão de 1 a 10 possui com respostas (gabarito de "a" à "e"). Cada questão vale 2 pontos. No final será feito o somatório de questões acertadas e a média. Meu questionamento é:
1 - Como fazer ser o usuário digitar outro nome para ser avaliado;
2 - Deixar o usuário determinar o número de questões (gabarito e resposta);
3 - Informar quantas e quais questões acertou e quais e quantas questões errou;

Obrigado

3 Respostas

drsmachado

1 - O que a regra de negócios diz sobre tal situação?
2 - Declare duas variáveis cujos valores serão informados pelo usuário, ao invés de manter em hardcode.
3 - Laços de repetição e estruturas de desvio condicional podem resolver facilmente o problema.

C

Respondendo a pergunta do colega, não é para nenhuma aplicação. Eu só queria saber de duas coisas: caso eu queira que o usuário digite um nº aleatório de perguntas e respostas (ele determinaria o tamanho dos dois array) e assim compará-los (como esta no código acima) e minha dúvida maior (“Laços de repetição e estruturas de desvio condicional podem resolver facilmente o problema”) como eu faço isso?

drsmachado

Você já estudou algoritmos? Se não, é uma boa hora.
Pode ir diretamente para laços de repetição e estruturas de desvio condicional. Mesmo por que o código postado já contempla os mesmos.

Criado 19 de novembro de 2013
Ultima resposta 22 de nov. de 2013
Respostas 3
Participantes 2