Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida sobre structs


CarolineSantos

Pergunta

Estou realizando um trabalho para faculdade e estou  com dúvidas na utilização de structs e ponteiros, está aparecendo erros como o seguinte:

warning: implicit declaration of function 'CadCurso' [-Wimplicit-function-declaration]

warning: implicit declaration of function 'CadTurma' [-Wimplicit-function-declaration]

Não sei o porque desses erros aparecem no case se eu estou chamando as variaveis dos cadastros e listagens.
 

#include <stdio.h>
#include <stdlib.h>

struct Curso
{
    int codigo;
    char nome[50];
};
struct Turma
{
    int codigo;
    char nome[50];
    int codigoCurso;
};
struct Disciplina
{
    int codigo;
    char nome[50];
    int codigoTurma;
};
struct Aluno
{
    int matricula;
    char nome[50];
    int codigoDisciplina;
};

int Opcao()
{
    int valor = 0;

    printf("\n-------------------------------------------------------");
    printf("\n    1-Cadastrar Curso       2-Cadastrar Turma          ");
    printf("\n    3-Cadastrar Disciplina  4-Cadastrar Aluno          ");
    printf("\n    5-Listar Turmas         6-Listar Disciplinas       ");
    printf("\n    7-Listar Aluno          8-Listar Cursos            ");
    printf("\n    9-Sair                                             ");
    printf("\n-----------------------------------------------------\n");
    scanf("%d",&valor);
    return (valor);
}

//aqui comeca o main
int main()
{

    int opc=99;
    int TOTAL = 0;
    int qtdCursos = 0;
    int qtdTurmas = 0;
    int qtdDisciplinas = 0;
    int qtdAlunos = 0;


    struct Curso * cursos;
    struct Turma * turmas;
    struct Disciplina * disciplinas;
    struct Aluno * alunos;

    printf("\nInforme o numero de cadastros:");
    scanf("%d", &TOTAL);

    cursos = (struct Curso*)malloc(sizeof(struct Curso) * TOTAL);
    turmas = (struct Turma*)malloc(sizeof(struct Turma) * TOTAL);
    disciplinas = (struct Disciplina*)malloc(sizeof(struct Disciplina) * TOTAL);
    alunos = (struct Aluno*)malloc(sizeof(struct Aluno) * TOTAL);

       while (opc > 0){
        opc = Opcao();
        switch (opc){
        case 1:
            CadCurso(cursos, TOTAL);
            break;
        case 2:
            if(qtdCursos < 1){
                  printf("não existe um curso cadastrado.Cadastre-o primeiro!");
            }
            else{
                 qtdTurmas++;
                 CadTurma(turmas, cursos, TOTAL);

            break;
        case 3:
             if(qtdTurmas < 1){
              printf("não existe uma turma cadastrada.Cadastre-a primeiro!");
              break;
             }
             else{
               qtdDisciplinas++;
               CadDisciplina(cursos,turmas,disciplinas,TOTAL,qtdTurmas);
               break;
        case 4:
            if(qtdDisciplinas < 1){
               printf("não existe uma disciplina cadastrada.Cadastre-a primeiro!");
               break;
            }else{
                qtdAlunos++;
                CadAluno(alunos,cursos,turmas,disciplinas,TOTAL);
            break;
        case 5:
            ListarTurmas(cursos,turmas,TOTAL);
            break;
        case 6:
            ListarDisciplinas(cursos,disciplinas,turmas,TOTAL);
            break;
        case 7:
            ListarAluno(alunos,turmas,disciplinas,cursos,TOTAL);
            break;
        case 8:
            qtdCursos++;
            ListarCursos(cursos,TOTAL,qtdCursos);
            break;
        case 9:
           opc = 0;
           break;
         default :
           break;
        }
       }

    free(cursos);
    free(turmas);
    free(disciplinas);
    free(alunos);
    return 0;
}

//acabou o main
void CadCurso(struct Curso * cursos, int TOTAL)
{
    int x = 0;
    for(; x < TOTAL; x++)
    {
        printf("\nInforme o codigo do curso: ");
        scanf("%d", &cursos[x].codigo);

        printf("\nInforme o nome do curso: ");
        scanf("%s", cursos[x].nome);
       }
}
void CadTurma(struct Curso * cursos, struct Turma * turmas, int TOTAL)
{
    int x = 0;
    for(; x< TOTAL; x++)
    {
        printf("\n Informe o codigo do curso %d: ", cursos[x].codigo);
        printf("\n Informe o codigo da turma: ");
        scanf("%d", &turmas[x].codigo);
        printf("Informe o nome da turma: ");
        scanf("%s", &turmas[x].nome);
    }
}

void CadDisciplina(struct Disciplina * disciplinas,struct Turma * turmas, struct Curso * cursos, int TOTAL,int qtdTurmas)
{
    if(qtdTurmas < 1 )
    {
    printf( "Não existe turma(s) cadastradas no sistema !\n" );
    }else{

    int x = 0;
    for(; x< TOTAL; x++)

    {
        printf("\n Informe o codigo do curso %d : ", cursos[x].codigo);
        printf("\n Informe o codigo da turma %s: ");
        scanf("%d", &turmas[x].codigo);
        printf("\n Informe o codigo da disciplina: ");
        scanf("%d", &disciplinas[x].codigo);
        printf("Informe o nome da disciplina: ");
        scanf("%s",&disciplinas[x].nome);

 

    }
    qtdTurmas++;
}
void CadAluno(struct Aluno * alunos, struct Turma * turmas, struct Disciplina * disciplinas, struct Curso * cursos, int TOTAL)
{
int x = 0;
      for (;x < TOTAL;x++){
        printf("\n Informe a matricula do aluno:");
        scanf("%d",&alunos[x].matricula);

       printf("\n Informe o nome do aluno:");
       scanf("%s",&alunos[x].nome);

       printf("\n Informe o curso que o aluno esta inserido:");
       scanf("%d",&cursos[x].codigo);

       printf("\n Informe as disciplinas que o aluno cursa:");
        int i = 0;
         for(; i < 3;i++){
             printf("\n Codigo da disciplina:");
             scanf("%d",&disciplinas.codigo);

             printf("\n Nome da disciplina:");
             scanf("%s",&disciplinas.nome);
     }
     }

     }


void ListarAluno( struct Aluno * alunos,struct  Disciplina * disciplinas, struct Turma * turmas,struct  Curso * cursos, int qtdAlunos)
{
    if(qtdAlunos < 1 )
    {
    printf( "Não existe aluno(s) cadastrados no sistema !\n" );
    }else{
        int matriculaAluno;
         printf( "\n Matricula do aluno: " );
         scanf( "%d",&matriculaAluno);

         int i = 0;
         for(; i < qtdAlunos; i++ )
          if( alunos.matricula == matriculaAluno )
        {
    printf("Matricula: %d | Nome: %s\n", alunos.matricula, alunos.nome );
    printf("__________________________________________________");

    printf("Disciplina:\n");
    printf("Codigo da disciplina: %d \n", disciplinas.codigo);
    printf("Nome do aluno:  %s \n", disciplinas.nome);
    printf("__________________________________________________");

    printf("Turma:\n");
    printf("Codigo da Turma: %d \n", turmas.codigo);
    printf("Nome da turma:  %s \n", turmas.nome);
    printf("__________________________________________________");

    printf("Curso:\n");
    printf("Codigo do Curso: %d \n", cursos.codigo);
    printf("Nome do Curso  %s \n", cursos.nome);
    printf("__________________________________________________");
    printf("\n");
        }

    }
            }


void ListarTurmas(struct Curso * cursos,struct Turma * turmas, int qtdTurmas)
{
//verificando se a quantidade de turmas é menor que 0
    if(qtdTurmas < 1  ){
        printf( "Não existe turmas cadastradas!\n" );
    }
    //lendo o codigo do curso
    int codigoCurso;
    printf( "\n Código do Curso: " );
    scanf( "%d", &codigoCurso);
    //listando turmas
    int i = 0;
    for( i; i < qtdTurmas; i++ )
        if( turmas.codigoCurso == codigoCurso ){
            printf("Código da Turma: %d \n", turmas.codigo);
            printf("Nome da turma: %s \n", turmas.nome);

    printf("\n");
}
}
void ListarDisciplinas(struct Curso * cursos,struct Turma * turmas,struct Disciplina * disciplinas, int qtdDisciplinas)
{
    int codigoCurso = 0;
    printf( "\n Código do Curso: " );
    scanf( "%d", &codigoCurso);

    if(qtdDisciplinas < 1){
        printf( "Não existe disciplinas!\n" );
    }

    int i = 0;
    int codigoTurma = 0;
   for(; i < qtdDisciplinas; i++ )
        if( disciplinas.codigoTurma == codigoTurma ){
            printf("Código da Turma: %d \n", disciplinas.codigo);
            printf("Nome da turma:  %s \n", disciplinas.nome);

}
}
void ListarCursos(struct Curso * cursos,int qtdCursos)
{
    int codigoCurso;
    printf( "\n Código do Curso: " );
    scanf( "%d", &codigoCurso);

    if(qtdCursos < 1){
        printf( "Não existe cursos cadastrados!\n" );
    }
   int i = 0;
   for(; i < qtdCursos; i++ )
        if(cursos.codigo == codigoCurso ){
            printf("Código do Curso: %d \n", cursos.codigo);
            printf("Nome do curso:  %s \n", cursos.nome);

}
}
}

 

 

 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...