Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.33 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_alunos();
  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. f_info_al();
  120. break;
  121. }
  122. case 2:{
  123. printf("teste_sub3_02");
  124. break;
  125. }
  126. case 3:{
  127. printf("teste_sub3_03");
  128. break;
  129. }
  130. default:{
  131. if(op_info == 4){
  132. system("cls");
  133. return main();
  134. }
  135. else
  136. printf("OPERAÇÂO INVÁLIDA.DIGITE NOVAMENTE.\n");
  137. break;
  138. }
  139. }
  140. break;
  141. }
  142. default:{
  143. if(op == 4){
  144. printf("VOCÊ SAIU");
  145. }
  146. else{
  147. printf("OPERAÇÃO INVÁLIDA. DIGITE NOVAMENTE.\n");
  148. }
  149. break;
  150. }
  151. }
  152. }while(op != 4);
  153. }
  154.  
  155. //funções ALUNO
  156. void f_aluno_cad(){
  157. int i, comp_mat,cont;
  158. printf("CADASTRO DE ALUNO\n");
  159. printf("Digite o número de matrícula do aluno: \n");
  160. scanf("%d", &i);
  161. if(i>500){
  162. printf("MATRÍCULA MÁXIMA = 500\n");
  163. return f_aluno_cad();
  164. }
  165. else{
  166.  
  167. if(aluno[i].mat_aluno != 0){
  168. comp_mat = 2;
  169. }
  170. if(comp_mat == 2){
  171. printf("NÃO É POSSÍVEL REALIZAR O CADASTRO. O NÚMERO DE MATRÍCULA ESCOLHIDO JÁ ESTÁ EM USO.\n");
  172. return f_aluno_cad();
  173. }
  174. else{
  175. aluno[i].mat_aluno = i;
  176. printf("Digite o nome do aluno de matrícula n° %d\n", aluno[i].mat_aluno);
  177. scanf("%s", &aluno[i].n_aluno);
  178. printf("CADASTRO REALIZADO COM SUCESSO!\n");
  179. printf("NOME = %s\nMATRÍCULA = %d\n", aluno[i].n_aluno, aluno[i].mat_aluno);
  180. printf("Você deseja cadastrar outro aluno?\n1-SIM\n2-NÃO\n");
  181. scanf("%d",&i);
  182. if(i == 1){
  183. system("cls");
  184. return f_aluno_cad();
  185. }
  186. else{
  187. system("cls");
  188. }
  189. }
  190. }
  191. }
  192. void f_aluno_edit(){
  193. int i,cont,comp_mat, ntt;
  194. for(cont=0;cont<=500;cont++){
  195. ntt = ntt + aluno[cont].mat_aluno;
  196. }
  197. 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
  198. comp_mat = 1;
  199.  
  200. if(comp_mat == 1){
  201. printf("NENHUM ALUNO CADASTRADO!\n");
  202. return f_aluno_cad();
  203. }
  204. printf("EDIÇÃO DE ALUNOS\n");
  205. printf("Digite o número de matrícula que você deseja editar: \n");
  206. scanf("%d", &i);
  207. if(aluno[i].mat_aluno == 0){
  208. printf("Não há nenhum aluno cadastrado com esse número de matrícula\n");
  209. getch();
  210. system("cls");
  211. }
  212. else{
  213. printf("Digite o nome do aluno: \n");
  214. scanf("%s", &aluno[i].n_aluno);
  215. printf("EDIÇÃO BEM SUCEDIDA! \n");
  216. getch();
  217. system("cls");
  218. }
  219. }
  220. void f_aluno_nota(){
  221. int i,cont,comp_mat,ntt;
  222. for(cont=0;cont<=500;cont++){
  223. ntt = ntt + aluno[cont].mat_aluno;
  224. }
  225. if(ntt == 0)
  226. comp_mat = 1;
  227.  
  228. if(comp_mat == 1){
  229. printf("NENHUM ALUNO CADASTRADO!\n");
  230. }
  231. else{
  232. printf("EDIÇÃO DE NOTAS\n");
  233. printf("Digite a matrícula do aluno que você deseja mudar notas: \n");
  234. scanf("%d", &i);
  235. if(aluno[i].mat_aluno == 0){
  236. printf("NÃO HÁ NENHUM ALUNO CADASTRADO COM ESSE NÚMERO DE MATRÍCULA\n");
  237. }
  238. else{
  239. printf("Digite a primeira nota do aluno %s\n", aluno[i].n_aluno);
  240. scanf("%f", &aluno[i].p1);
  241. printf("Digite a segunda nota do aluno: \n");
  242. scanf("%f", &aluno[i].p2);
  243. printf("Digite a nota do primeiro exercício do aluno: \n");
  244. scanf("%f", &aluno[i].e1);
  245. printf("Digite a nota do segundo exercício do aluno: \n");
  246. scanf("%f", &aluno[i].e2);
  247. printf("Agora a nota do trabalho final do aluno: \n");
  248. scanf("%f", &aluno[i].t1);
  249. printf("NOTAS CADASTRADAS COM SUCESSO!");
  250. printf("NOME = %s",aluno[i].n_aluno);
  251. printf("MATRÍCULA = %d",aluno[i].mat_aluno);
  252. 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);
  253. }
  254. }
  255. }
  256.  
  257. //funções SALAS
  258. void f_sala_cad(){
  259. int i;
  260. printf("CADASTRO DE SALA\n");
  261. printf("Digite o número para cadastro da sala: \n");
  262. scanf("%d", &i);
  263. if(i > 10){
  264. printf("NUM MÁX DE SALAS = 10\n");
  265. }
  266. else{
  267. sala[i].num_sala = i;
  268. printf("Digite o nome da disciplina:\n");
  269. scanf("%s", &sala[i].n_sala);
  270. printf("DISCIPLINA CADASTRADA!\n");
  271. printf("Nome da disciplina: %s\nNúmero da sala: %d\n",sala[i].n_sala,sala[i].num_sala);
  272. }
  273. }
  274. void f_sala_edit(){
  275. int i;
  276. printf("Digite o número da sala para edição: \n");
  277. scanf("%d", &i);
  278. if(i>10){
  279. printf("NÚMERO MÁXIMO DE SALAS = 10\n");
  280. return f_sala_edit();
  281. }
  282. else{
  283. printf("Digite o nome da disciplina: \n");
  284. scanf("%s", &sala[i].n_sala);
  285. printf("EDIÇÃO REALIZADA COM SUCESSO!\n");
  286. printf("NOME = %s\n", sala[i].n_sala);
  287. }
  288.  
  289. }
  290. void f_sala_cad_aluno(){
  291. int i,j;
  292. printf("Digite o número da sala: \n");
  293. scanf("%d", &i);
  294. if(i>100){
  295. printf("NUMERO MÁXIMO DE SALAS = 10\n");
  296. return f_sala_cad_aluno();
  297. }
  298. if(sala[i].num_sala == 0){
  299. printf("A SALA ESCOLHIDA NÃO ESTÁ CADASTRADA.\nDESEJA CADASTRA-LA?\n1-SIM\n2-NÃO\n");
  300. scanf("%d", &i);
  301. if(i == 1){
  302. system("cls");
  303. return f_sala_cad();
  304. }
  305. if(i == 2){
  306. return f_sala_cad_aluno();
  307. }
  308. }
  309. else{
  310. printf("Digite o número do aluno para ser adicionado à sala: \n");
  311. scanf("%d", &j);
  312. if(aluno[j].mat_aluno == 0){
  313. printf("NÃO HÁ NENHUM ALUNO COM ESSE CADASTRO: \n");
  314. return f_sala_cad_aluno();
  315. }
  316. else{
  317. aluno[j].num_cad[i] = i;
  318. printf("CADASTRO BEM SUCEDIDO\n");
  319. printf("Aluno = %s\n",aluno[j].n_aluno);
  320. printf("Disciplina = %s\n", sala[i].n_sala);
  321. sala[i].num_aluno = sala[i].num_aluno + 1;
  322. }
  323. }
  324. }
  325. void f_sala_list(){
  326. int i,cont;
  327. printf("Digite de qual sala você quer informações: \n");
  328. scanf("%d", &i);
  329. if(sala[i].num_sala == 0){
  330. printf("A SALA ESCOLHIDA NÃO ESTÁ CADASTRADA.\nDESEJA CADASTRA-LA?\n1-SIM\n2-NÃO\n");
  331. scanf("%d", &i);
  332. if(i == 1){
  333. system("cls");
  334. return f_sala_cad();
  335. }
  336. else{
  337. return f_sala_list();
  338. }
  339. }
  340. else{
  341. if(sala[i].num_aluno == 0){
  342. printf("NÃO HÁ NENHUM ALUNO CADASTRADO NESSA SALA\n");
  343. return f_sala_list();
  344. }
  345. for(cont=0;cont<=50;cont++){
  346. if(aluno[cont].num_cad[i] == i){
  347. printf("Nome = %s\nMatrícula = %d\n",aluno[cont].n_aluno,aluno[cont].mat_aluno);
  348. }
  349. }
  350.  
  351. }
  352. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement