Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

César Boulevar

[Código]Escola+Mensão

Recommended Posts

Simples código escrito em C, espero que gostem.

 

#include <stdio.h>
#include <stdlib.h>
#define MAX 30
typedef struct Aluno{
       int matricula, nroFaltas;
       char nome[MAX];
       float nota[2];
}aluno;
typedef struct Disciplina{
       char nome[MAX];
       int carga;
}disciplina;
int menu();
void mostraMensao(float,int,int);
int main(int argc, char *argv[])
{
 aluno *alunos=NULL;
 disciplina disciplinas;
 int cont=0, men,i,flag,flag2=0;
 do{
     men = menu();
     switch (men){
            case 1:
                 fflush(stdin);
                 if(flag2)
                    puts("disciplina ja cadastrada");
                 else{
                     puts("informe o nome da disciplina");
                     fgets(disciplinas.nome,30,stdin);
                     do{
                         puts("informe a carga da disciplina");
                         scanf("%d",&disciplinas.carga);
                     }while(disciplinas.carga<0);
                     flag2=1;
                 }
                 break;
            case 2:
                 alunos=(aluno*) realloc(alunos,sizeof(aluno)+1+cont);
                 do{
                     flag=1;
                     puts("informe a matricula do aluno");
                     scanf("%d",&alunos[cont].matricula);
                     for(i=0;i<cont;i++)
                        if(alunos[i].matricula==alunos[cont].matricula)
                           flag=0;
                 }while(!flag);
                 fflush(stdin);
                 puts("informe o nome do aluno");
                 fgets(alunos[cont].nome,30,stdin);
                 do{
                     puts("informe o nro de faltas do aluno");
                     scanf("%d",&alunos[cont].nroFaltas);
                 }while(alunos[cont].nroFaltas<0);
                 for(i=0;i<2;i++){
                    do{
                        printf("informe a nota %d do aluno\n",i+1);
                        scanf("%f",&alunos[cont].nota[i]);
                    }while(alunos[cont].nota[i]<0||alunos[cont].nota[i]>10);
                 }
                 cont++;
                 break;
            case 3:
                 for(i=0;i<cont;i++){
                     puts("disciplina");
                     printf("nome: %s",disciplinas.nome);
                     printf("carga: %d\n",disciplinas.carga);
                     puts("aluno");
                     printf("nome: %s",alunos[i].nome);
                     printf("matricula: %d\n",alunos[i].matricula);
                     printf("nro de faltas: %d\n",alunos[i].nroFaltas);
                     printf("media das notas: %3.2f\n",(alunos[i].nota[0]+alunos[i].nota[1])/2);
                     printf("mensao: ");
                     mostraMensao(((alunos[i].nota[0]+alunos[i].nota[1])/2), alunos[i].nroFaltas, disciplinas.carga);
                 }
                 break;
     }
 }while(men!=4);
 return 0;
}
int menu(){
   int menu;
   do{
       puts("1 - cadastrar disciplina");
       puts("2 - cadastrar aluno");
       puts("3 - exibir pauta");
       puts("4 - sair");
       scanf("%d",&menu);
   }while(menu<1||menu>4);
   return menu;
}
void mostraMensao(float media,int faltas,int carga){
    if((faltas*1.0/carga*1.0)>0.25)
       puts("RF");
    else{
        if(media>=9)
           puts("A");
        if(media>=7&&media<9)
           puts("B");
        if(media>=5&&media<7)
           puts("C");
        if(media>=3&&media<5)
           puts("D");
        if(media>=0.1&&media<3)
           puts("E");
        if(media==0)
           puts("F");
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Err... o que ele faz?

 

 

Fica difícil saber lendo um código desses... nenhum comentário, utilizando de funções que podem dar bugs, etc....

 

 

O que ele faz?

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

HAHA esse código foi um dos meus primeiros em C, Ele consiste em a pessoa cadastrar a matérias, o usuario com suas respectivas notas, no final irá mostrar a mensão do aluno.

 

Abraços, César Boulevar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.