Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.86 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <locale.h>
  5.  
  6.  
  7. // Protótipos:
  8.  
  9. void funcao_cadastra_turma();
  10. void funcao_cadastra_aluno();
  11. void funcao_imprimir_dados();
  12. void funcao_imprimir_lista();
  13.  
  14.  
  15.  
  16. typedef struct { // Estrutura para cadastro de alunos.
  17. char nome[31];
  18. int matricula;
  19. float notas;
  20. float media;
  21. int frequencia;
  22. char siatuacao;
  23. float prova1;
  24. float prova2;
  25. float trab1;
  26. float exer1;
  27. float exer2;
  28. }functp;
  29.  
  30. functp cadastro[50];
  31.  
  32. typedef struct { // Estrutura para cadastro de turma.
  33. char nometurma[10];
  34. int quant_turma;
  35. }functp2;
  36.  
  37. functp2 turma[10];
  38.  
  39. // Variáveis Globais.
  40.  
  41. int cont=0;
  42. int numturma;
  43. int i=0;
  44. char decsit[20];
  45.  
  46. // Função principal.
  47.  
  48. main(){
  49.  
  50. int opc;
  51.  
  52. setlocale(LC_ALL, "Portuguese");
  53.  
  54. while (opc !=4){
  55. printf("***********************************************************************\n");
  56. printf("UMA ESCOLINHA MUITCHO LOUCA\n");
  57. printf("***********************************************************************\n");
  58.  
  59. printf("Por favor escolha uma opção.\n");
  60.  
  61. printf("\nPor favor escolha uma opção.\n");
  62. printf("1 - Cadastrar turma.\n");
  63. printf("2 - Cadastrar aluno.\n");
  64. printf("3 - Ver listagem da situação de todos os alunos.\n");
  65. printf("4 - Sair.\n");
  66. scanf("%d", &opc);
  67.  
  68. if (opc!=1 && opc != 2 && opc!= 3 && opc != 4){ // Impede que seja digitada uma opção inexistente.
  69. while (opc!=1 && opc != 2 && opc!= 3 && opc != 4){
  70. printf("Opção não reconhecida, por favor tente novamente.\n");
  71. printf("\nPor favor escolha uma opção.\n");
  72. printf("1 - Cadastrar turma.\n");
  73. printf("2 - Cadastrar aluno.\n");
  74. printf("3 - Ver listagem da situação de todos os alunos.\n");
  75. printf("4 - Sair.\n");
  76. scanf("%d", &opc);
  77. }
  78. }
  79.  
  80.  
  81.  
  82. if (opc == 1) // Chama a função 1.
  83. funcao_cadastra_turma();
  84.  
  85. if (opc == 2) // Chama a função 2.
  86. funcao_cadastra_aluno();
  87.  
  88. if (opc == 3) // Chama a função 3.
  89. funcao_imprimir_lista();
  90.  
  91.  
  92. }
  93.  
  94. system("cls");
  95. printf("\nVocê saiu com sucesso do sistema!\n") ;
  96.  
  97. }
  98.  
  99. void funcao_cadastra_turma(){ // Função para cadastrar a turma.
  100.  
  101. printf ("Digite quantas turmas deseja cadastrar:");
  102. scanf ("%d", &numturma);
  103.  
  104. for (cont=0; cont<numturma; cont++){
  105. printf ("\nDigite o nome da %d turma.\n", cont+1);
  106. scanf("%s", turma[cont].nometurma);
  107. }
  108.  
  109. }
  110.  
  111. void funcao_cadastra_aluno(){ // Função para cadastrar o aluno.
  112.  
  113. int numturma, maisumturma;
  114.  
  115.  
  116. printf("Deseja cadastrar o aluno em mais de uma turma?\n");
  117. printf("1 - Sim.\n");
  118. printf("2 - Não.\n");
  119. scanf("%d", &maisumturma);
  120. if (maisumturma != 1 && maisumturma != 2){
  121. while (maisumturma != 1 && maisumturma != 2){
  122. printf("Opção não reconhecida, por favor tente novamente.\n");
  123. printf("1 - Sim.");
  124. printf("2 - Não.");
  125. scanf("%d", &maisumturma);
  126. }
  127. }
  128.  
  129. if (maisumturma == 2){
  130. printf("Digite o número da turma que deseja cadastrar o aluno: \n");
  131. scanf("%d", &numturma);
  132. setbuf (stdin,NULL);
  133. printf("Por favor digite o nome do aluno que deseja cadastrar: \n");
  134. scanf("%[^\n]s", &cadastro[i].nome);
  135.  
  136. cadastro[i].matricula = 10*12*i;
  137.  
  138. printf("Digite a nota da prova 1: \n");
  139. scanf("%f", &cadastro[i].prova1);
  140. printf("Digite a nota da prova 2: \n");
  141. scanf("%f", &cadastro[i].prova2);
  142. printf("Digite a nota do Trabalho 1: \n");
  143. scanf("%f", &cadastro[i].trab1);
  144. printf("Digite a nota do Exercício 1: \n");
  145. scanf("%f", &cadastro[i].exer1);
  146. printf("Digite a nota do Exercício 2: \n");
  147. scanf("%f", &cadastro[i].exer2);
  148.  
  149. cadastro[i].media = (cadastro[i].prova1 + cadastro[i].prova2 + cadastro[i].trab1 + cadastro[i].exer1 + cadastro[i].exer2)/5;
  150.  
  151. printf("Agora digite por favor a frequência do aluno %s: \n", cadastro[i].nome);
  152. scanf("%d", &cadastro[i].frequencia);
  153.  
  154.  
  155. if (cadastro[i].media >= 70)
  156. printf("\nO aluno %s foi aprovado com média %.2f\n\n", cadastro[i].nome, cadastro[i].media);
  157.  
  158. if (cadastro[i].media < 70 or cadastro[i].frequencia < 40)
  159. printf("\nO aluno %s foi reprovado, pois sua média foi %.2f e sua frequência foi %d.\n\n", cadastro[i].nome, cadastro[i].media, cadastro[i].frequencia);
  160.  
  161.  
  162. i=i+1;
  163. }
  164. }
  165.  
  166.  
  167. void funcao_imprimir_lista(){ // Função para listagem dos alunos reprovados.
  168.  
  169. if (i == 0)
  170. printf("\nVocê não tem alunos cadastrados. \n\n");
  171.  
  172. else {
  173.  
  174. printf ("\nDeseja imprimir os alunos aprovados, reprovados, ou todos? \n");
  175.  
  176. scanf ("%s", &decsit);
  177.  
  178. if (stricmp(decsit,"aprovados") == 0) {
  179. printf ("\nImprimindo os alunos aprovados: \n");
  180. }
  181.  
  182. else if (stricmp(decsit,"reprovados") == 0) {
  183. printf ("\nImprimindo os alunos reprovados: \n");
  184. }
  185.  
  186. else if (stricmp(decsit,"todos") == 0) {
  187. printf ("\nImprimindo todos os alunos: \n");
  188. }
  189.  
  190. else {
  191. printf ("Use o teclado corretamente, 02");
  192. funcao_imprimir_lista();
  193. }
  194.  
  195. }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement