Ir ao conteúdo
  • Cadastre-se
Igor Vargas

C Enviar uma função para outra função struct

Recommended Posts

 Estou com um problema onde eu tenho uma função que contem os dados mas não sei como mandar esses dados para printar a minha grade de horário,  meu código esta assim, já tentei de varias formas. Se puder me ajudar agradeço. Preciso entregar segunda-feira mas parei nessa parte.

A função que contem os dados é a grade_al. Estou tentando mandar os dados para a função consulta onde será print a matriz com as matérias que o aluno selecionou. Deixei abaixo do código e o pdf caso queira dar uma olhada.

 

#include <stdio.h>
#include <string.h>
  
    struct disciplinas
    {
    int codigo;
    char professor[20];
    int c_Horaria;
    char h_Semanal[30];
  
    };

    struct registro
    {        
    int matricula;
    char nome[20];
    char sobrenome[20];
    char email[40];
    int l_Disciplinas; 
	int grade[4][6];
    };
  
int cont;    
void grade_al(struct registro grade_T[4][6],struct disciplinas dis[5]){
    dis[0].codigo=122;
	dis[1].codigo=127;
	dis[2].codigo=132;
	dis[3].codigo=143;
	dis[4].codigo=135;
	
	strcpy(dis[0].h_Semanal,"08:00");
	strcpy(dis[1].h_Semanal,"10:00");
	strcpy(dis[2].h_Semanal,"13:00");
	strcpy(dis[3].h_Semanal,"15:00");
	
	dis[0].c_Horaria=60;
    dis[1].c_Horaria=60;
	dis[2].c_Horaria=60;
	dis[3].c_Horaria=30;
	dis[4].c_Horaria=60;
	int x,y; 
	
	for(x=0; x<4; x++){
	for(y=0; y<6; y++){
	
	grade_T[0][1].grade[x][y]=dis[x].codigo;
	grade_T[1][2].grade[x][y]=dis[x].codigo;
    
	grade_T[2][2].grade[x][y]=dis[x].codigo;
	grade_T[3][2].grade[x][y]=dis[x].codigo;
   
	grade_T[2][2].grade[x][y]=dis[x].codigo;
	grade_T[1][4].grade[x][y]=dis[x].codigo;
    
	grade_T[0][5].grade[x][y]=dis[x].codigo;
   
	grade_T[1][3].grade[x][y]=dis[x].codigo;
	grade_T[0][5].grade[x][y]=dis[x].codigo;	
	
	strcpy(grade_T[0][0].grade[x][y],dis[x].h_Semanal);
    strcpy(grade_T[1][0].grade[x][y],dis[x].h_Semanal);
	strcpy(grade_T[2][0].grade[x][y],dis[x].h_Semanal);
    strcpy(grade_T[3][0].grade[x][y],dis[x].h_Semanal);	
	}	
	}
   }

int add_Aluno(struct registro al[3], struct disciplinas add_Dis[5]){
    int dis,x,y,guarda[5],cont=0,num;
    char resp;
    int volta,j;
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou adicionar aluno.---\n");
    printf("--------------------------------------\n");
    printf("    Lista de Disciplinas\n");
    printf("    Codigo    Nome\n\n");
    printf("\n");
           int passa;
    do{
        int yy=1;
        printf("Digite seu nome:");
        fflush(stdin);                                                //Funcão de Cadastro do aluno
        gets(al[cont].nome);
        printf("Digite seu Sobrenome:");
        gets(al[cont].sobrenome);
        strcat(al[cont].nome, al[cont].sobrenome);
        printf("Digite sua Matricula:");
        scanf("%d",&al[cont].matricula);
        printf("Digite seu e-mail:");
        fflush(stdin);
        gets(al[cont].email);
        cont++;
        do{
        volta=1;    
        printf("Digite em quantas materias deseja se matricular:");
        scanf("%d",&num);    
        printf("Digite o codigo das diciplinas que voce deseja se matricular\n");    
        for(y=0; y<num; y++){
        scanf("%d",&al[y].l_Disciplinas);
 		for(j=0;j<num;j++){
        if((al[y].l_Disciplinas == 127 && al[j].l_Disciplinas == 132 && j != y )|| al[y].l_Disciplinas ==135 && al[j].l_Disciplinas == 143)
    {
        printf("voce não pode se inscrever em duas disciplas de mesmo horario\n");
        volta=0;
        al[y].l_Disciplinas=0;
        break;
    }
}
}      
        }while(volta != 1 ); 
	printf("Deseja Cadastrar outro aluno? s/n:");
    fflush(stdin);
    scanf("%c",&resp);	   
    }while(resp != 'n');
}
 
void consulta(struct registro al_C[3],struct disciplinas dis[5]){
struct registro grade_T[4][6];
    int x,escolhe,a,b;
    char nome[20];
    char salva[3];
    int cont_L=0;
    int teste[3];
    char resp;
    int matricula_N,salva_V;
    char string[3];
    char horas[20];
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou Consultar aluno.---\n");
    printf("--------------------------------------\n");
    printf("1.Pesquisa por Nome\n");
    printf("2.Pesquisa por Matricula\n");
    fflush(stdin);
    scanf("%d",&escolhe);
    if(escolhe ==1){
    printf("Digite o nome do aluno:");    
    fflush(stdin);
    gets(nome);
    for(x=0; x<4; x++){
        if(strcmp(al_C[x].nome, nome)==0){   
            salva_V=1;
        }               
    }             
}                          
        else if(escolhe == 2)
        {
        printf("Digite a Matricula do aluno:");    
        fflush(stdin);
        scanf("%d",&matricula_N);
        for(x=0; x<4; x++)
    {
          if(al_C[x].matricula == matricula_N ){
          //compara as duas matricular se são iguais se for ele printa a grade do aluno
          salva_V=1;
          } 
          }   
        }
        if(salva_V == 1){
            printf("       Segunda Terca Quarta Quinta Sexta\n");
            for(a=0; a<4; a++){    
              for(b=0; b<6; b++){
              	printf("[%d]",grade_T[a][b].grade);
              	
            }    
        printf("\n");
        }
        }            
}
       
main(){
    
    struct disciplinas curso[5];
    struct registro alunos[3];
    int escolha;

        
    do{
    printf("\n\n");
    printf(" -----------------------\n");
    printf(" ------Bem Vindo!!------\n");
    printf(" -----------------------\n");
    printf("Escolha uma das opções abaixo\n");
    printf("1. Adicionar aluno\n");
    printf("2. Consultar aluno\n");
    printf("3. Sair\n");
    fflush(stdin);
    scanf("%d",&escolha);
    if(escolha == 1){
        add_Aluno(alunos,curso);
      }
      else if(escolha == 2)
      {
        consulta(alunos,curso);
      }
            }while(escolha !=3);
    }

 

Trabalho 2.pdf

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Igor Vargas    essa grade_T precisa estar no argumento da função onde está assim :

void consulta(struct registro al_C[3],struct disciplinas dis[5]){
struct registro grade_T[4][6];
    int x,escolhe,a,b;
    char nome[20];
    char salva[3];

coloque assim :

void consulta(struct registro al_C[3],struct disciplinas dis[5], struct registro grade_T[4][6]){
    int x,escolhe,a,b;
    char nome[20];
    char salva[3];

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Igor Vargas    coloque o struct que você quer imprimir , aqui seu código com algumas modificações :

#include <stdio.h>
#include <string.h>

    struct disciplinas
    {
    int codigo;
    char professor[20];
    int c_Horaria;
    char h_Semanal[30];

    };

    struct registro
    {
    int matricula;
    char nome[20];
    char sobrenome[20];
    char email[40];
    int l_Disciplinas;
	int grade[4][6];
    };

int cont;
void grade_al(struct registro grade_T[4][6],struct disciplinas dis[5]){
    dis[0].codigo=122;
	dis[1].codigo=127;
	dis[2].codigo=132;
	dis[3].codigo=143;
	dis[4].codigo=135;

	strcpy(dis[0].h_Semanal,"08:00");
	strcpy(dis[1].h_Semanal,"10:00");
	strcpy(dis[2].h_Semanal,"13:00");
	strcpy(dis[3].h_Semanal,"15:00");

	dis[0].c_Horaria=60;
    dis[1].c_Horaria=60;
	dis[2].c_Horaria=60;
	dis[3].c_Horaria=30;
	dis[4].c_Horaria=60;
	int x,y;

	for(x=0; x<4; x++){
	for(y=0; y<6; y++){

	grade_T[0][1].grade[x][y]=dis[x].codigo;
	grade_T[1][2].grade[x][y]=dis[x].codigo;

	grade_T[2][2].grade[x][y]=dis[x].codigo;
	grade_T[3][2].grade[x][y]=dis[x].codigo;

	grade_T[2][2].grade[x][y]=dis[x].codigo;
	grade_T[1][4].grade[x][y]=dis[x].codigo;

	grade_T[0][5].grade[x][y]=dis[x].codigo;

	grade_T[1][3].grade[x][y]=dis[x].codigo;
	grade_T[0][5].grade[x][y]=dis[x].codigo;

	strcpy(grade_T[0][0].grade[x][y],dis[x].h_Semanal);
    strcpy(grade_T[1][0].grade[x][y],dis[x].h_Semanal);
	strcpy(grade_T[2][0].grade[x][y],dis[x].h_Semanal);
    strcpy(grade_T[3][0].grade[x][y],dis[x].h_Semanal);
	}
	}
   }

int add_Aluno(struct registro al[3], struct disciplinas add_Dis[5]){
    int dis,x,y,guarda[5],cont=0,num;
    char resp;
    int volta,j;
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou adicionar aluno.---\n");
    printf("--------------------------------------\n");
    printf("    Lista de Disciplinas\n");
    printf("    Codigo    Nome\n\n");
    printf("\n");
           int passa;
    do{
        int yy=1;
        printf("Digite seu nome:");
        fflush(stdin);                                                /*//Funcão de Cadastro do aluno*/
        gets(al[cont].nome);
        printf("Digite seu Sobrenome:");
        gets(al[cont].sobrenome);
        strcat(al[cont].nome, al[cont].sobrenome);
        printf("Digite sua Matricula:");
        scanf("%d",&al[cont].matricula);
        printf("Digite seu e-mail:");
        fflush(stdin);
        gets(al[cont].email);
        cont++;
        do{
        volta=1;
        printf("Digite em quantas materias deseja se matricular:");
        scanf("%d",&num);
        printf("Digite o codigo das diciplinas que voce deseja se matricular\n");
        for(y=0; y<num; y++){
        scanf("%d",&al[y].l_Disciplinas);
 		for(j=0;j<num;j++){
        if((al[y].l_Disciplinas == 127 && al[j].l_Disciplinas == 132 && j != y )|| al[y].l_Disciplinas ==135 && al[j].l_Disciplinas == 143)
    {
        printf("voce não pode se inscrever em duas disciplas de mesmo horario\n");
        volta=0;
        al[y].l_Disciplinas=0;
        break;
    }
}
}
        }while(volta != 1 );
	printf("Deseja Cadastrar outro aluno? s/n:");
    fflush(stdin);
    scanf("%c",&resp);
    }while(resp != 'n');
}

void consulta(struct registro al_C[3],struct disciplinas dis[5], struct registro grade_T[4][6]){
    int x=0,escolhe,a,b;
    char nome[20];
    char salva[3];
    int cont_L=0;
    int teste[3];
    char resp;
    int matricula_N,salva_V;
    char string[3];
    char horas[20];
    for(a=0;a<4;a++)
        for(b=0;b<6;b++){
            grade_T[a][b].grade[a][b]=x;
            x++;
        }
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou Consultar aluno.---\n");
    printf("--------------------------------------\n");
    printf("1.Pesquisa por Nome\n");
    printf("2.Pesquisa por Matricula\n");
    fflush(stdin);
    scanf("%d",&escolhe);
    if(escolhe ==1){
    printf("Digite o nome do aluno:");
    fflush(stdin);
    gets(nome);
    for(x=0; x<4; x++){
        if(strcmp(al_C[x].nome, nome)==0){
            salva_V=1;
        }
    }
}
        else if(escolhe == 2)
        {
        printf("Digite a Matricula do aluno:");
        fflush(stdin);
        scanf("%d",&matricula_N);
        for(x=0; x<4; x++)
    {
          if(al_C[x].matricula == matricula_N ){
          /*//compara as duas matricular se são iguais se for ele printa a grade do aluno*/
          salva_V=1;
          }
          }
        }
        if(salva_V == 1){
            printf("       Segunda Terca Quarta Quinta Sexta\n");
            for(a=0; a<4; a++){
              for(b=0; b<6; b++){
              	printf("[%d] ",grade_T[a][b].grade[a][b]);

            }
        printf("\n");
        }
        }
}

int main(){

    struct disciplinas curso[5];
    struct registro alunos[3];
    struct registro grade_T[4][6];
    int escolha;


    do{
    printf("\n\n");
    printf(" -----------------------\n");
    printf(" ------Bem Vindo!!------\n");
    printf(" -----------------------\n");
    printf("Escolha uma das opções abaixo\n");
    printf("1. Adicionar aluno\n");
    printf("2. Consultar aluno\n");
    printf("3. Sair\n");
    fflush(stdin);
    scanf("%d",&escolha);
    if(escolha == 1){
        add_Aluno(alunos,curso);
      }
      else if(escolha == 2)
      {
        consulta(alunos,curso, grade_T);
      }
            }while(escolha !=3);
    return 0;
}

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 Obrigado pela ajuda, mas irei te incomodar de novo, ele esta printando outros numeros e não printa os códigos das disciplinas dentro da matriz. O que eu quero fazer é que quando o aluno digite o código da disciplina ele mande esse código pra dentro da matriz.

 

colocarei a mudanças que fiz com com aspas pra ficar melhor de enxergar.

#include <stdio.h>
#include <string.h>

    struct disciplinas
    {
    int codigo;
    char professor[20];
    int c_Horaria;
    char h_Semanal[30];

    };

    struct registro
    {
    int matricula;
    char nome[20];
    char sobrenome[20];
    char email[40];
    int l_Disciplinas;
	int grade[4][6];
    };

int cont;
void grade_al(struct registro grade_T[4][6],struct disciplinas dis[5]){
    dis[0].codigo=122;
	dis[1].codigo=127;
	dis[2].codigo=132;
	dis[3].codigo=143;
	dis[4].codigo=135;

	strcpy(dis[0].h_Semanal,"08:00");
	strcpy(dis[1].h_Semanal,"10:00");
	strcpy(dis[2].h_Semanal,"13:00");
	strcpy(dis[3].h_Semanal,"15:00");

	dis[0].c_Horaria=60;
    dis[1].c_Horaria=60;
	dis[2].c_Horaria=60;
	dis[3].c_Horaria=30;
	dis[4].c_Horaria=60;
	int x,y;

	for(x=0; x<4; x++){
	for(y=0; y<6; y++){

	grade_T[0][1].grade[x][y]=dis[x].codigo;
	grade_T[1][2].grade[x][y]=dis[x].codigo;

	grade_T[2][2].grade[x][y]=dis[x].codigo;
	grade_T[3][2].grade[x][y]=dis[x].codigo;

	grade_T[2][2].grade[x][y]=dis[x].codigo;
	grade_T[1][4].grade[x][y]=dis[x].codigo;

	grade_T[0][5].grade[x][y]=dis[x].codigo;

	grade_T[1][3].grade[x][y]=dis[x].codigo;
	grade_T[0][5].grade[x][y]=dis[x].codigo;

	"grade_T[0][0].grade[x][y]=dis[0].h_Semanal;"
   " grade_T[1][0].grade[x][y]=dis[1].h_Semanal;"
	"grade_T[2][0].grade[x][y]=dis[2].h_Semanal;"
    "grade_T[3][0].grade[x][y]=dis[3].h_Semanal;"
	}
	}
   }

int add_Aluno(struct registro al[3], struct disciplinas add_Dis[5], struct registro grade_T[4][6]){
    int dis,x,y,guarda[5],cont=0,num,a,b;
    char resp;
    int volta,j;
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou adicionar aluno.---\n");
    printf("--------------------------------------\n");
    printf("    Lista de Disciplinas\n");
    printf("    Codigo    Nome\n\n");
    printf("\n");
           int passa;
    do{
        int yy=1;
        printf("Digite seu nome:");
        fflush(stdin);                                                /*//Funcão de Cadastro do aluno*/
        gets(al[cont].nome);
        printf("Digite seu Sobrenome:");
        gets(al[cont].sobrenome);
        strcat(al[cont].nome, al[cont].sobrenome);
        printf("Digite sua Matricula:");
        scanf("%d",&al[cont].matricula);
        printf("Digite seu e-mail:");
        fflush(stdin);
        gets(al[cont].email);
        cont++;
        do{
        volta=1;
        printf("Digite em quantas materias deseja se matricular:");
        scanf("%d",&num);
        printf("Digite o codigo das diciplinas que voce deseja se matricular\n");
        for(y=0; y<num; y++){
        scanf("%d",&al[y].l_Disciplinas);
 		for(j=0;j<num;j++){
        if((al[y].l_Disciplinas == 127 && al[j].l_Disciplinas == 132 && j != y )|| al[y].l_Disciplinas ==135 && al[j].l_Disciplinas == 143)
    {
        printf("voce não pode se inscrever em duas disciplas de mesmo horario\n");
        volta=0;
        al[y].l_Disciplinas=0;
        break;
    }
}
}		"for(a=0;a<4;a++)"
        "for(b=0;b<6;b++){"
    "if(al[a].l_Disciplinas==add_Dis[a].codigo){"
	"grade_T[a][b].grade[a][b]=add_Dis[a].codigo;"	
	} 

}
        }while(volta != 1 );
	printf("Deseja Cadastrar outro aluno? s/n:");
    fflush(stdin);
    scanf("%c",&resp);
    }while(resp != 'n');
}

void consulta(struct registro al_C[3],struct disciplinas dis[5], struct registro grade_T[4][6]){
    int x=0,escolhe,a,b;
    char nome[20];
    char salva[3];
    int cont_L=0;
    int teste[3];
    char resp;
    int matricula_N,salva_V;
    char string[3];
    char horas[20];
      
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou Consultar aluno.---\n");
    printf("--------------------------------------\n");
    printf("1.Pesquisa por Nome\n");
    printf("2.Pesquisa por Matricula\n");
    fflush(stdin);
    scanf("%d",&escolhe);
    if(escolhe ==1){
    printf("Digite o nome do aluno:");
    fflush(stdin);
    gets(nome);
    for(x=0; x<4; x++){
        if(strcmp(al_C[x].nome, nome)==0){
            salva_V=1;
        }
    }
}



        else if(escolhe == 2)
        {
        printf("Digite a Matricula do aluno:");
        fflush(stdin);
        scanf("%d",&matricula_N);
        for(x=0; x<4; x++)
    {
          if(al_C[x].matricula == matricula_N ){
          /*//compara as duas matricular se são iguais se for ele printa a grade do aluno*/
          salva_V=1;
          }
          }
        }
        if(salva_V == 1){
            printf("       Segunda Terca Quarta Quinta Sexta\n");
            for(a=0; a<4; a++){
              for(b=0; b<6; b++){
              	printf("[%d]",grade_T[a][b].grade[a][b]);
            }
        printf("\n");
        }
        
		}
        }


int main(){

    struct disciplinas curso[5];
    struct registro alunos[3];
    struct registro grade_T[4][6];
    int escolha;


    do{
    printf("\n\n");
    printf(" -----------------------\n");
    printf(" ------Bem Vindo!!------\n");
    printf(" -----------------------\n");
    printf("Escolha uma das opções abaixo\n");
    printf("1. Adicionar aluno\n");
    printf("2. Consultar aluno\n");
    printf("3. Sair\n");
    fflush(stdin);
    scanf("%d",&escolha);
    if(escolha == 1){
        add_Aluno(alunos,curso,grade_T);
      }
      else if(escolha == 2)
      {
        consulta(alunos,curso, grade_T);
      }
            }while(escolha !=3);
    return 0;
}

 

Editado por Igor Vargas
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui a parte de printar as matrizes conforme o aluno escolhe o problema é que o código  não guarda a matriz  para cada aluno. @devair1010

 

#include <stdio.h>
#include <string.h>

    struct disciplinas
    {
    int codigo;
    char professor[20];
    int c_Horaria;
    char h_Semanal[30];

    };

    struct registro
    {
    int matricula;
    char nome[20];
    char sobrenome[20];
    char email[40];
    int l_Disciplinas;
	int grade[4][6];
    };

int cont;
void grade_al(struct disciplinas dis[5]){
    dis[0].codigo=122;
	dis[1].codigo=127;
	dis[2].codigo=132;
	dis[3].codigo=143;
	dis[4].codigo=135;

	strcpy(dis[0].h_Semanal,"08:00");
	strcpy(dis[1].h_Semanal,"10:00");
	strcpy(dis[2].h_Semanal,"13:00");
	strcpy(dis[3].h_Semanal,"15:00");

	dis[0].c_Horaria=60;
    dis[1].c_Horaria=60;
	dis[2].c_Horaria=60;
	dis[3].c_Horaria=30;
	dis[4].c_Horaria=60;
	
	}


int add_Aluno(struct registro al[3], struct disciplinas add_Dis[5], struct registro grade_T[4][6]){
    int dis,x,y,guarda[5],cont=0,num,a,b;
    char resp;
    int volta,j;
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou adicionar aluno.---\n");
    printf("--------------------------------------\n");
    printf("    Lista de Disciplinas\n");
    printf("    Codigo    Nome\n\n");
    printf("\n");
           int passa;
    do{
        int yy=1;
        printf("Digite seu nome:");
        fflush(stdin);                                                /*//Funcão de Cadastro do aluno*/
        gets(al[cont].nome);
        printf("Digite seu Sobrenome:");
        gets(al[cont].sobrenome);
        strcat(al[cont].nome, al[cont].sobrenome);
        printf("Digite sua Matricula:");
        scanf("%d",&al[cont].matricula);
        printf("Digite seu e-mail:");
        fflush(stdin);
        gets(al[cont].email);
        cont++;
        do{
        volta=1;
        printf("Digite em quantas materias deseja se matricular:");
        scanf("%d",&num);
        printf("Digite o codigo das diciplinas que voce deseja se matricular\n");
        for(y=0; y<num; y++){
        scanf("%d",&al[y].l_Disciplinas);
 		for(j=0;j<num;j++){
        if((al[y].l_Disciplinas == 127 && al[j].l_Disciplinas == 132 && j != y )|| al[y].l_Disciplinas ==135 && al[j].l_Disciplinas == 143)
    {
        printf("voce não pode se inscrever em duas disciplas de mesmo horario\n");
        volta=0;
        al[y].l_Disciplinas=0;
        break;
    }

			  else if(al[y].l_Disciplinas==122)
			{
			   grade_T[0][1].grade[0][1]=122;
               grade_T[1][2].grade[1][2]=122;
			}
				else if(al[y].l_Disciplinas==127)
			{
				grade_T[2][2].grade[2][2]=127;
				grade_T[3][2].grade[3][2]=127;
					
			}

				else if(al[y].l_Disciplinas==132)
			{
				grade_T[2][2].grade[2][2]=132;
				grade_T[1][4].grade[1][4]=132;
		    }

				else if(al[y].l_Disciplinas==143)
			{
				grade_T[0][5].grade[0][5]=143;
		    }
	
	
			    else if(al[y].l_Disciplinas==145)
			{
				grade_T[1][3].grade[1][3]=145;
				grade_T[0][5].grade[0][5]=135;
		    }	



}


					
        	
}		

}while(volta != 1 );
     printf("Deseja Cadastrar outro aluno? s/n:");
    fflush(stdin);
    scanf("%c",&resp);   
		
		
		}while(resp != 'n');
	
    }


void consulta(struct registro al_C[3],struct disciplinas dis[5], struct registro grade_T[4][6]){
    int x=0,escolhe,a,b;
    char nome[20];
    char salva[3];
    int cont_L=0;
    int teste[3];
    char resp;
    int matricula_N,salva_V;
    char string[3];
    char horas[20];
    
    printf("\n\n");
    printf("--------------------------------------\n");
    printf("---voce selecionou Consultar aluno.---\n");
    printf("--------------------------------------\n");
    printf("1.Pesquisa por Nome\n");
    printf("2.Pesquisa por Matricula\n");
    fflush(stdin);
    scanf("%d",&escolhe);
    if(escolhe ==1){
    printf("Digite o nome do aluno:");
    fflush(stdin);
    gets(nome);
    for(x=0; x<4; x++){
        if(strcmp(al_C[x].nome, nome)==0){
            salva_V=1;
        }
    }
}



        else if(escolhe == 2)
        {
        printf("Digite a Matricula do aluno:");
        fflush(stdin);
        scanf("%d",&matricula_N);
        for(x=0; x<4; x++)
    {
          if(al_C[x].matricula == matricula_N ){
          /*//compara as duas matricular se são iguais se for ele printa a grade do aluno*/
          salva_V=1;
          }
          }
        }
        if(salva_V == 1){
            printf("      	  Segunda  Terca   Quarta  Quinta  Sexta\n");
            for(a=0; a<4; a++){
              for(b=0; b<6; b++){
              if(grade_T[a][b].grade[a][b]==127 || grade_T[a][b].grade[a][b]==122 || grade_T[a][b].grade[a][b]==135 || grade_T[a][b].grade[a][b]==132 ||grade_T[a][b].grade[a][b]==143){
					printf("   ");
					printf("[%d]", grade_T[a][b].grade[a][b]);
								
			}else{
				printf("   ");
				   printf("[---]");	
			}
			
			}
            
        printf("\n");
        }
        
		
		}
        
		}



int main(){

    struct disciplinas curso[5];
    struct registro alunos[3];
    struct registro grade_T[4][6];
    int escolha;


    do{
    printf("\n\n");
    printf(" -----------------------\n");
    printf(" ------Bem Vindo!!------\n");
    printf(" -----------------------\n");
    printf("Escolha uma das opções abaixo\n");
    printf("1. Adicionar aluno\n");
    printf("2. Consultar aluno\n");
    printf("3. Sair\n");
    fflush(stdin);
    scanf("%d",&escolha);
    if(escolha == 1){
        add_Aluno(alunos,curso,grade_T);
      }
      else if(escolha == 2)
      {
        consulta(alunos,curso, grade_T);
      }
            }while(escolha !=3);
    return 0;
    
	}

 

Editado por Igor Vargas
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×