Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <locale.h>
- // Protótipos:
- void funcao_cadastra_turma();
- void funcao_cadastra_aluno();
- void funcao_imprimir_dados();
- void funcao_imprimir_lista();
- typedef struct { // Estrutura para cadastro de alunos.
- char nome[31];
- int matricula;
- float notas;
- float media;
- int frequencia;
- char siatuacao;
- float prova1;
- float prova2;
- float trab1;
- float exer1;
- float exer2;
- }functp;
- functp cadastro[50];
- typedef struct { // Estrutura para cadastro de turma.
- char nometurma[10];
- int quant_turma;
- }functp2;
- functp2 turma[10];
- // Variáveis Globais.
- int cont=0;
- int numturma;
- int i=0;
- char decsit[20];
- // Função principal.
- main(){
- int opc;
- setlocale(LC_ALL, "Portuguese");
- while (opc !=4){
- printf("***********************************************************************\n");
- printf("UMA ESCOLINHA MUITCHO LOUCA\n");
- printf("***********************************************************************\n");
- printf("Por favor escolha uma opção.\n");
- printf("\nPor favor escolha uma opção.\n");
- printf("1 - Cadastrar turma.\n");
- printf("2 - Cadastrar aluno.\n");
- printf("3 - Ver listagem da situação de todos os alunos.\n");
- printf("4 - Sair.\n");
- scanf("%d", &opc);
- if (opc!=1 && opc != 2 && opc!= 3 && opc != 4){ // Impede que seja digitada uma opção inexistente.
- while (opc!=1 && opc != 2 && opc!= 3 && opc != 4){
- printf("Opção não reconhecida, por favor tente novamente.\n");
- printf("\nPor favor escolha uma opção.\n");
- printf("1 - Cadastrar turma.\n");
- printf("2 - Cadastrar aluno.\n");
- printf("3 - Ver listagem da situação de todos os alunos.\n");
- printf("4 - Sair.\n");
- scanf("%d", &opc);
- }
- }
- if (opc == 1) // Chama a função 1.
- funcao_cadastra_turma();
- if (opc == 2) // Chama a função 2.
- funcao_cadastra_aluno();
- if (opc == 3) // Chama a função 3.
- funcao_imprimir_lista();
- }
- system("cls");
- printf("\nVocê saiu com sucesso do sistema!\n") ;
- }
- void funcao_cadastra_turma(){ // Função para cadastrar a turma.
- printf ("Digite quantas turmas deseja cadastrar:");
- scanf ("%d", &numturma);
- for (cont=0; cont<numturma; cont++){
- printf ("\nDigite o nome da %d turma.\n", cont+1);
- scanf("%s", turma[cont].nometurma);
- }
- }
- void funcao_cadastra_aluno(){ // Função para cadastrar o aluno.
- int numturma, maisumturma;
- printf("Deseja cadastrar o aluno em mais de uma turma?\n");
- printf("1 - Sim.\n");
- printf("2 - Não.\n");
- scanf("%d", &maisumturma);
- if (maisumturma != 1 && maisumturma != 2){
- while (maisumturma != 1 && maisumturma != 2){
- printf("Opção não reconhecida, por favor tente novamente.\n");
- printf("1 - Sim.");
- printf("2 - Não.");
- scanf("%d", &maisumturma);
- }
- }
- if (maisumturma == 2){
- printf("Digite o número da turma que deseja cadastrar o aluno: \n");
- scanf("%d", &numturma);
- setbuf (stdin,NULL);
- printf("Por favor digite o nome do aluno que deseja cadastrar: \n");
- scanf("%[^\n]s", &cadastro[i].nome);
- cadastro[i].matricula = 10*12*i;
- printf("Digite a nota da prova 1: \n");
- scanf("%f", &cadastro[i].prova1);
- printf("Digite a nota da prova 2: \n");
- scanf("%f", &cadastro[i].prova2);
- printf("Digite a nota do Trabalho 1: \n");
- scanf("%f", &cadastro[i].trab1);
- printf("Digite a nota do Exercício 1: \n");
- scanf("%f", &cadastro[i].exer1);
- printf("Digite a nota do Exercício 2: \n");
- scanf("%f", &cadastro[i].exer2);
- cadastro[i].media = (cadastro[i].prova1 + cadastro[i].prova2 + cadastro[i].trab1 + cadastro[i].exer1 + cadastro[i].exer2)/5;
- printf("Agora digite por favor a frequência do aluno %s: \n", cadastro[i].nome);
- scanf("%d", &cadastro[i].frequencia);
- if (cadastro[i].media >= 70)
- printf("\nO aluno %s foi aprovado com média %.2f\n\n", cadastro[i].nome, cadastro[i].media);
- if (cadastro[i].media < 70 or cadastro[i].frequencia < 40)
- 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);
- i=i+1;
- }
- }
- void funcao_imprimir_lista(){ // Função para listagem dos alunos reprovados.
- if (i == 0)
- printf("\nVocê não tem alunos cadastrados. \n\n");
- else {
- printf ("\nDeseja imprimir os alunos aprovados, reprovados, ou todos? \n");
- scanf ("%s", &decsit);
- if (stricmp(decsit,"aprovados") == 0) {
- printf ("\nImprimindo os alunos aprovados: \n");
- }
- else if (stricmp(decsit,"reprovados") == 0) {
- printf ("\nImprimindo os alunos reprovados: \n");
- }
- else if (stricmp(decsit,"todos") == 0) {
- printf ("\nImprimindo todos os alunos: \n");
- }
- else {
- printf ("Use o teclado corretamente, 02");
- funcao_imprimir_lista();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement