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;
};
//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);
Pergunta
CarolineSantos
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.