Advertisement
Guest User

pedrerson

a guest
Jul 18th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.85 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. #include<locale.h>
  5. //Variáveis globais
  6. typedef struct{
  7. char n_aluno[40];
  8. int mat_aluno;
  9. float p1[10], p2[10], e1[10], e2[10], t1[10],med_aluno[10];//Cada nota tem um vetor para um máximo de matérias possível
  10. int num_cad[10], freq_aluno[10];
  11. }cad_aluno;
  12. cad_aluno aluno[500];//Vetor para o maior número de alunos possível. //Nota: Tentar trocar para matriz//
  13. int mat_aluno = 0;
  14.  
  15. typedef struct{
  16. char n_sala[25];
  17. int num_sala, num_aluno;
  18. }cad_sala;
  19. cad_sala sala[10];
  20. int num_sala = 0;
  21.  
  22. //
  23. //Funções ALUNO
  24. void f_aluno_cad();
  25. void f_aluno_edit();
  26. void f_aluno_nota();
  27. //
  28.  
  29. //Funções SALA
  30. void f_sala_cad();
  31. void f_sala_edit();
  32. void f_sala_cad_aluno();
  33. void f_sala_list();
  34. //
  35.  
  36. //Funções INFO
  37. void f_info_al();
  38. void f_info_sala();
  39. void f_info_nota();
  40. //
  41.  
  42. main(){
  43. setlocale(LC_ALL,"");
  44. int op_al,op_sl,op_info,op;
  45. do{
  46. printf("Selecione a operação desejada: \n");
  47. printf("1-ALUNOS\n2-SALAS\n3-INFORMAÇÕES\n4-SAIR\n");
  48. scanf("%d", &op);
  49. system("cls");
  50. switch(op){
  51. case 1:{
  52. printf("1-CADASTRAR ALUNO\n2-EDITAR ALUNO\n3-EDITAR NOTAS\n4-VOLTAR\n");
  53. scanf("%d", &op_al);
  54. system("cls");
  55. switch(op_al){
  56. case 1:{
  57. f_aluno_cad();
  58. break;
  59. }
  60. case 2:{
  61. f_aluno_edit();
  62. break;
  63. }
  64. case 3:{
  65. f_aluno_nota();
  66. break;
  67. }
  68. default:{
  69. if(op_al == 4){
  70. system("cls");
  71. return main();
  72. }
  73. else
  74. printf("OPERAÇÃO INVÁLIDA.DIGITE NOVAMENTE.\n");
  75. break;
  76. }
  77. }
  78. break;
  79. }
  80. case 2:{
  81. printf("1-CADASTRAR SALA\n2-EDITAR SALA\n3-ADICIONAR ALUNOS\n4-LISTAR ALUNOS\n5-VOLTAR\n");
  82. scanf("%d", &op_sl);
  83. system("cls");
  84. switch(op_sl){
  85. case 1:{
  86. f_sala_cad();
  87. break;
  88. }
  89. case 2:{
  90. f_sala_edit();
  91. break;
  92. }
  93. case 3:{
  94. f_sala_cad_aluno();
  95. break;
  96. }
  97. case 4:{
  98. f_sala_list();
  99. break;
  100. }
  101. default:{
  102. if(op_sl == 5){
  103. system("cls");
  104. return main();
  105. }
  106. else
  107. printf("OPERAÇÃO INVÁLIDA. DIGITE NOVAMENTE.");
  108. break;
  109. }
  110. }
  111. break;
  112. }
  113. case 3:{
  114. printf("1-LISTAR ALUNOS\n2-LISTAR SALA\n3-NOTAS ALUNOS\n4-VOLTAR\n");
  115. scanf("%d", &op_info);
  116. system("cls");
  117. switch(op_info){
  118. case 1:{
  119. printf("teste_sub3_02");
  120. break;
  121. }
  122. case 2:{
  123. printf("teste_sub3_03");
  124. break;
  125. }
  126. default:{
  127. if(op_info == 4){
  128. system("cls");
  129. return main();
  130. }
  131. else
  132. printf("OPERAÇÂO INVÁLIDA.DIGITE NOVAMENTE.\n");
  133. break;
  134. }
  135. }
  136. break;
  137. }
  138. default:{
  139. if(op == 4){
  140. printf("VOCÊ SAIU");
  141. }
  142. else{
  143. printf("OPERAÇÃO INVÁLIDA. DIGITE NOVAMENTE.\n");
  144. }
  145. break;
  146. }
  147. }
  148. }while(op != 4);
  149. }
  150.  
  151. //funções ALUNO
  152. void f_aluno_cad(){
  153. int i, comp_mat,cont;
  154. printf("CADASTRO DE ALUNO\n");
  155. printf("Digite o número de matrícula do aluno: \n");
  156. scanf("%d", &i);
  157. if(i>500){
  158. printf("MATRÍCULA MÁXIMA = 500\n");
  159. return f_aluno_cad();
  160. }
  161. else{
  162.  
  163. if(aluno[i].mat_aluno != 0){
  164. comp_mat = 2;
  165. }
  166. if(comp_mat == 2){
  167. printf("NÃO É POSSÍVEL REALIZAR O CADASTRO. O NÚMERO DE MATRÍCULA ESCOLHIDO JÁ ESTÁ EM USO.\n");
  168. return f_aluno_cad();
  169. }
  170. else{
  171. aluno[i].mat_aluno = i;
  172. printf("Digite o nome do aluno de matrícula n° %d\n", aluno[i].mat_aluno);
  173. scanf("%s", &aluno[i].n_aluno);
  174. printf("CADASTRO REALIZADO COM SUCESSO!\n");
  175. printf("NOME = %s\nMATRÍCULA = %d\n", aluno[i].n_aluno, aluno[i].mat_aluno);
  176. printf("Você deseja cadastrar outro aluno?\n1-SIM\n2-NÃO\n");
  177. scanf("%d",&i);
  178. if(i == 1){
  179. system("cls");
  180. return f_aluno_cad();
  181. }
  182. else{
  183. system("cls");
  184. }
  185. }
  186. }
  187. }
  188. void f_aluno_edit(){
  189. int i,cont,comp_mat, ntt;
  190. for(cont=0;cont<=500;cont++){
  191. ntt = ntt + aluno[cont].mat_aluno;
  192. }
  193. if(ntt == 0) //Essa comparação é para análise. Se a soma dos números de matrícula for 0, então não há nenhum aluno cadastrado
  194. comp_mat = 1;
  195.  
  196. if(comp_mat == 1){
  197. printf("NENHUM ALUNO CADASTRADO!\n");
  198. return f_aluno_cad();
  199. }
  200. printf("EDIÇÃO DE ALUNOS\n");
  201. printf("Digite o número de matrícula que você deseja editar: \n");
  202. scanf("%d", &i);
  203. if(aluno[i].mat_aluno == 0){
  204. printf("Não há nenhum aluno cadastrado com esse número de matrícula\n");
  205. getch();
  206. system("cls");
  207. }
  208. else{
  209. printf("Digite o nome do aluno: \n");
  210. scanf("%s", &aluno[i].n_aluno);
  211. printf("EDIÇÃO BEM SUCEDIDA! \n");
  212. getch();
  213. system("cls");
  214. }
  215. }
  216. void f_aluno_nota(){
  217. int i,cont,comp_mat,ntt;
  218. for(cont=0;cont<=500;cont++){
  219. ntt = ntt + aluno[cont].mat_aluno;
  220. }
  221. if(ntt == 0)
  222. comp_mat = 1;
  223.  
  224. if(comp_mat == 1){
  225. printf("NENHUM ALUNO CADASTRADO!\n");
  226. }
  227. else{
  228. printf("EDIÇÃO DE NOTAS\n");
  229. printf("Digite a matrícula do aluno que você deseja mudar notas: \n");
  230. scanf("%d", &i);
  231. if(aluno[i].mat_aluno == 0){
  232. printf("NÃO HÁ NENHUM ALUNO CADASTRADO COM ESSE NÚMERO DE MATRÍCULA\n");
  233. }
  234. else{
  235. printf("Digite a primeira nota do aluno %s\n", aluno[i].n_aluno);
  236. scanf("%f", &aluno[i].p1);
  237. printf("Digite a segunda nota do aluno: \n");
  238. scanf("%f", &aluno[i].p2);
  239. printf("Digite a nota do primeiro exercício do aluno: \n");
  240. scanf("%f", &aluno[i].e1);
  241. printf("Digite a nota do segundo exercício do aluno: \n");
  242. scanf("%f", &aluno[i].e2);
  243. printf("Agora a nota do trabalho final do aluno: \n");
  244. scanf("%f", &aluno[i].t1);
  245. printf("NOTAS CADASTRADAS COM SUCESSO!");
  246. printf("NOME = %s",aluno[i].n_aluno);
  247. printf("MATRÍCULA = %d",aluno[i].mat_aluno);
  248. printf("NOTAS = Prova 01 = %.2f\nProva 2 = %.2f\nExercício 1 = %.2f\nExercício 2 = %.2f\nTrabalho Final = %.2f",aluno[i].p1,aluno[i].p2,aluno[i].e1,aluno[i].e2,aluno[i].t1);
  249. }
  250. }
  251. }
  252.  
  253. //funções SALAS
  254. void f_sala_cad(){
  255. int i;
  256. printf("CADASTRO DE SALA\n");
  257. printf("Digite o número para cadastro da sala: \n");
  258. scanf("%d", &i);
  259. if(i > 10){
  260. printf("NUM MÁX DE SALAS = 10\n");
  261. }
  262. else{
  263. sala[i].num_sala = i;
  264. printf("Digite o nome da disciplina:\n");
  265. scanf("%s", &sala[i].n_sala);
  266. printf("DISCIPLINA CADASTRADA!\n");
  267. printf("Nome da disciplina: %s\nNúmero da sala: %d\n",sala[i].n_sala,sala[i].num_sala);
  268. }
  269. }
  270. void f_sala_edit(){
  271. int i;
  272. printf("Digite o número da sala para edição: \n");
  273. scanf("%d", &i);
  274. if(i>10){
  275. printf("NÚMERO MÁXIMO DE SALAS = 10\n");
  276. return f_sala_edit();
  277. }
  278. else{
  279. printf("Digite o nome da disciplina: \n");
  280. scanf("%s", &sala[i].n_sala);
  281. printf("EDIÇÃO REALIZADA COM SUCESSO!\n");
  282. printf("NOME = %s\n", sala[i].n_sala);
  283. }
  284.  
  285. }
  286. void f_sala_cad_aluno(){
  287. int i,j;
  288. printf("Digite o número da sala: \n");
  289. scanf("%d", &i);
  290. if(i>100){
  291. printf("NUMERO MÁXIMO DE SALAS = 10\n");
  292. return f_sala_cad_aluno();
  293. }
  294. if(sala[i].num_sala == 0){
  295. printf("A SALA ESCOLHIDA NÃO ESTÁ CADASTRADA.\nDESEJA CADASTRA-LA?\n1-SIM\n2-NÃO\n");
  296. scanf("%d", &i);
  297. if(i == 1){
  298. system("cls");
  299. return f_sala_cad();
  300. }
  301. if(i == 2){
  302. return f_sala_cad_aluno();
  303. }
  304. }
  305. else{
  306. printf("Digite o número do aluno para ser adicionado à sala: \n");
  307. scanf("%d", &j);
  308. if(aluno[j].mat_aluno == 0){
  309. printf("NÃO HÁ NENHUM ALUNO COM ESSE CADASTRO: \n");
  310. return f_sala_cad_aluno();
  311. }
  312. else{
  313. aluno[j].num_cad[i] = i;
  314. printf("CADASTRO BEM SUCEDIDO\n");
  315. printf("Aluno = %s\n",aluno[j].n_aluno);
  316. printf("Disciplina = %s\n", sala[i].n_sala);
  317. sala[i].num_aluno = sala[i].num_aluno + 1;
  318. }
  319. }
  320. }
  321. void f_sala_list(){
  322. int i,cont;
  323. printf("Digite de qual sala você quer informações: \n");
  324. scanf("%d", &i);
  325. if(sala[i].num_sala == 0){
  326. printf("A SALA ESCOLHIDA NÃO ESTÁ CADASTRADA.\nDESEJA CADASTRA-LA?\n1-SIM\n2-NÃO\n");
  327. scanf("%d", &i);
  328. if(i == 1){
  329. system("cls");
  330. return f_sala_cad();
  331. }
  332. else{
  333. return f_sala_list();
  334. }
  335. }
  336. else{
  337. if(sala[i].num_aluno == 0){
  338. printf("NÃO HÁ NENHUM ALUNO CADASTRADO NESSA SALA\n");
  339. return f_sala_list();
  340. }
  341. for(cont=0;cont<=50;cont++){
  342. if(aluno[cont].num_cad[i] == i){
  343. printf("Nome = %s\nMatrícula = %d\n",aluno[cont].n_aluno,aluno[cont].mat_aluno);
  344. }
  345. }
  346.  
  347. }
  348. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement