Advertisement
Guest User

Untitled

a guest
May 25th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.37 KB | None | 0 0
  1. /*
  2.  
  3. Desenvolver um programa para realizar a correção de um prova de múltipla escolha.
  4.  
  5. Os dados iniciais a serem lidos são:
  6.  
  7. - A quantidade de candidatos (N) e
  8.  
  9. - A quantidade de questões aplicadas (M).
  10.  
  11. As respostas possíveis que poderão ser aceitas são: A, B, C, D e E.
  12. O primeiro conjunto de dados a ser lido será o gabarito com as respostas corretas das M questões.
  13.  
  14. Após o gabarito, serão lidos os nomes as respostas de cada candidato.
  15.  
  16. Os valores das questões são iguais.
  17.  
  18. A nota máxima é 10 e a de classificação é 5.
  19.  
  20. O programa deverá:
  21.  
  22. a) Gerar o vetor NOTA; ----------------------- CHECK
  23.  
  24. b) Apresentar o relatório geral contendo o nome do candidato e sua nota; ----------------------- CHECK
  25.  
  26. c) Calcular e apresentar a média geral dos candidatos; ----------------------- CHECK
  27.  
  28. d) Apresentar a quantidade e o percentual de classificados e desclassificados;
  29.  
  30. e) Apresentar o relatório de candidatos classificados; ----------------------- CHECK
  31.  
  32. f) Apresentar a melhor nota obtida e seu(s) respectivo(s) candidato(s); ----------------------- CHECK
  33.  
  34. g) Gerar o vetor ACERTOS com o percentual correspondente e apresentá-lo. ----------------------- CHECK
  35.  
  36.  
  37. Trabalho realizado por Júlio César e Vitor Giuliani
  38. */
  39.  
  40. #include <iostream>
  41.  
  42. using namespace std;
  43.  
  44. main()
  45. {
  46. int N, M;
  47. setlocale (LC_ALL, "Portuguese");
  48.  
  49. cout<<"INFORMAÇÕES DA PROVA:"<<endl;
  50. cout<<"\nQuantidade de candidatos que participaram: "; cin>>N;
  51. cout<<"Quantidade de questões aplicadas: "; cin>>M;
  52.  
  53. string nome[N], gabarito[M], tabela[N][M], maiornome[N];
  54. int l, c, i, clas=0, desc=0;
  55. float pontquestao, nota[N], acertos[M], media, maiornota;
  56.  
  57. // GABARITO
  58. for(i=0; i<M; i++)
  59. {
  60. cout<<"Resposta da "<<i+1<<"ª questão: "; cin>>gabarito[i];
  61.  
  62. if(gabarito[i]!="A" and gabarito[i]!="B" and gabarito[i]!="C" and gabarito[i]!="D" and gabarito[i]!="E")
  63. {
  64. cout<<"\nResposta inválida! Tente novamente.";
  65. i=i-1;
  66. cout<<endl;
  67. }
  68. }
  69. // FIM GABARITO
  70.  
  71. // NOMES
  72. cout<<"\nRELAÇÃO DOS CANDIDATOS:"<<endl;
  73. for(l=0; l<N; l++)
  74. {
  75. cout<<"Nome do "<<l+1<<"º candidato: "; cin>>nome[l];
  76.  
  77. // RESPOSTAS
  78. for(c=0; c<M; c++)
  79. {
  80. cout<<"Resposta marcada na "<<c+1<<"ª questão: "; cin>>tabela[l][c];
  81.  
  82. if(tabela[l][c]==gabarito[c])
  83. {
  84. acertos[c]=acertos[c]+1;
  85. }
  86.  
  87. if(tabela[l][c]!="A" and tabela[l][c]!="B" and tabela[l][c]!="C" and tabela[l][c]!="D" and tabela[l][c]!="E")
  88. {
  89. cout<<"\nResposta inválida! Tente novamente."<<endl;
  90. c=c-1;
  91. }
  92. }
  93. // FIM RESPOSTAS
  94.  
  95. cout<<endl;
  96. }
  97. // FIM NOMES
  98.  
  99. pontquestao = 10/M;
  100.  
  101. // ACUMULADOR NOTA
  102. for(l=0; l<N; l++)
  103. {
  104. nota[l]=0;
  105. for(c=0; c<M; c++)
  106. {
  107. if(tabela[l][c]==gabarito[c])
  108. {
  109. nota[l]=nota[l]+pontquestao;
  110.  
  111. if(nota[l]>maiornota)
  112. {
  113. maiornota=nota[l];
  114. maiornome[c]=nome[c];
  115. }
  116. }
  117. }
  118. }
  119. // FIM ACUMULADOR NOTA
  120.  
  121. // RELATÓRIO ALUNOS
  122. cout<<"\n\nRELATÓRIO DOS ALUNOS: \n\n";
  123. for(i=0; i<N; i++)
  124. {
  125. cout<<i+1<<"º aluno: "<<nome[i]<<" / Nota: "; cout<<nota[i]<<endl;
  126.  
  127. if(nota[i]>=5)
  128. {
  129. cout<<"Aluno classificado!"<<endl;
  130. clas++;
  131. }
  132. else
  133. {
  134. cout<<"Aluno desclassificado!"<<endl;
  135. desc++;
  136. }
  137. cout<<endl;
  138. }
  139. // FIM RELATÓRIO ALUNOS
  140.  
  141. // ALUNOS APROVADOS
  142. cout<<"\nRelatório de alunos aprovados: \n";
  143. for(i=0; i<N; i++)
  144. {
  145. if(nota[i]>5)
  146. {
  147. cout<<i+1<<"º aluno: "<<nome[i]<<endl;
  148. }
  149. }
  150. // FIM ALUNOS APROVADOS
  151.  
  152. // MÉDIA
  153. for(i=0;i<N;i++)
  154. {
  155. media=media+nota[l];
  156. }
  157. // FIM MÉDIA
  158.  
  159. // SAÍDA
  160. media=media/N;
  161. cout<<"\n\nMÉDIA DOS ALUNOS: "<<media<<endl;
  162. cout<<"Quantidade & Percentual de Alunos Classificados: "<<clas<<" alunos / "<<clas*100/N<<"% da turma;"<<endl;
  163. cout<<"Quantidade & Percentual de Alunos Desclassificados: "<<desc<<" alunos / "<<desc*100/N<<"% da turma."<<endl;
  164. // FIM SAÍDA
  165.  
  166. // CANDIDATOS MAIOR NOTA
  167. for(i=0;i<N;i++)
  168. {
  169. if(nota[i]==maiornota)
  170. {
  171. cout<<"\n"<<i+1<<"º candidato com a maior nota: "<<maiornome[i]<<", com nota "<<maiornota<<".";
  172. }
  173. }
  174. // FIM CANDIDATOS MAIOR NOTA
  175.  
  176. // VETOR ACERTOS
  177. cout<<"\n\nQuantidade de acertos para cada questão: "<<endl;
  178. for(i=0;i<M;i++)
  179. {
  180. acertos[i]=(acertos[i]/N*100.0);
  181. cout<<i+1<<"ª questão: "<<acertos[i]<<"%"<<endl;
  182. }
  183.  
  184. cout<<endl;
  185.  
  186. system("pause");
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement