Ir ao conteúdo
  • Cadastre-se
Igor Vargas

C como fazer uma tabela

Recommended Posts

Galera estou com uma duvida nesse Trabalho. Eu preciso mostra umas lista parecida com esta. o problema é que ele n esta pegando os dados salvos na main.

o meu codigo esta mais ou menos assim.

 

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

	struct diciplinas
	{
	
	int codigo;
	char nome[20];
	char professor[20];
	int c_Horaria;
	char h_Semanal[50];	


		
	};

	struct registro
	{
		
	int matricula;
	char nome[20];
	char sobrenome[20];
	char email[20];
	int l_Diciplinas[20];
	char grade[5][5];	
		
	};



void add_Aluno(struct registro al[3], struct diciplinas add_Dis[5]){
	char sair;
	int dis,x,y=0,guarda[5];
	printf("\n\n");
	printf("--------------------------------------\n");
	printf("---voce selecionou adicionar aluno.---\n");
	printf("--------------------------------------\n");
	printf("Lista de diciplinas\n");
	for(x=0; x<5; x++){					//mostra a lista das materias
	printf("%d\n",add_Dis[x].codigo);

}


	for(x=0; x<3; x++){
		printf("Digite seu nome:");
		gets(al[x].nome);
		printf("Digite seu Sobrenome:");
		gets(al[x].sobrenome);
		strcat(al[x].nome,al[x].sobrenome);
		printf("Digite sua Matricula:");
		scanf("%d",&al[x].matricula);
		printf("Digite seu e-mail:");
		gets(al[x].email);
		printf("Quantas diciplinas voce deseja se matricular:");
		scanf("%d",&dis);
		printf("Digite o codigo das diciplinas que voce deseja se matricular:");
		while(y<dis){
		scanf("%d",&dis);
		guarda[y]=dis;
		y++;		
		}
		
	}
	
	
}




main(){
	
	struct diciplinas curso[5];
	struct registro alunos[3];
	int escolha;
	
	curso[0].codigo=0122;
	strcpy(curso[0].nome,"Algoritimos");
	curso[0].c_Horaria=60;
	strcpy(curso[0].h_Semanal,"Segunda bloco 1 e terca bloco 2");
	
	curso[1].codigo=0127;
	strcpy(curso[1].nome,"Estrutura de dados");
	curso[1].c_Horaria=60;
	strcpy(curso[1].h_Semanal,"terca bloco 3 e quarta bloco 4");
	
	curso[2].codigo=0132;												//dados salvos
	strcpy(curso[2].nome,"Sistemas Operacionais A ");
	curso[2].c_Horaria=60;
	strcpy(curso[2].h_Semanal,"Terca bloco 3 e Quinta bloco 2");
	
	curso[3].codigo=0143;
	strcpy(curso[3].nome,"Padroes de Projeto");
	curso[3].c_Horaria=30;
	strcpy(curso[3].h_Semanal,"Sexta bloco 2");
	
	curso[4].codigo=0135;
	strcpy(curso[4].nome,"Banco de dados ll");
	curso[4].c_Horaria=60;
	strcpy(curso[4].h_Semanal,"Quarta bloco 3 e sexta bloco 2");
	
	
	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");
	scanf("%d",&escolha);
	if(escolha == 1){
		add_Aluno(alunos,curso);
	  }else if(escolha == 2){
	
	}
	
	
}

 

 

tabela.jpg

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui arrumar. Agora a dúvida é se o que eu fiz até agora esta certo ou esta faltando algo.

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

	struct disciplinas
	{
	
	int codigo;
	char nome[20];
	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[5];
		
	};
int cont;	

void add_Aluno(struct registro al[3], struct disciplinas add_Dis[5]){
	int dis,x,y,guarda[5],cont=0,num;
	char resp;
	printf("\n\n");
	printf("--------------------------------------\n");
	printf("---voce selecionou adicionar aluno.---\n");
	printf("--------------------------------------\n");
	do{
		x=0;
		printf("Digite seu nome:");
		fflush(stdin);
		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);
		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);
}
	printf("Deseja Cadastrar outro aluno? s/n:");
	fflush(stdin);
	scanf("%c",&resp);


}while(x=!'n');
	
		}	
	
	
	




main(){
	
	struct disciplinas curso[5];
	struct registro alunos[3];
	int escolha;
	char grade[4][5];
	curso[0].codigo=122;
	strcpy(curso[0].nome,"Algoritimos");
	curso[0].c_Horaria=60;
	strcpy(curso[0].h_Semanal,"Segunda bloco 1 e terca bloco 2");
	
	curso[1].codigo=127;
	strcpy(curso[1].nome,"Estrutura de dados");
	curso[1].c_Horaria=60;
	strcpy(curso[1].h_Semanal,"terca bloco 3 e quarta bloco 4");
	
	curso[2].codigo=132;												//dados salvos
	strcpy(curso[2].nome,"Sistemas Operacionais A ");
	curso[2].c_Horaria=60;
	strcpy(curso[2].h_Semanal,"Terca bloco 3 e Quinta bloco 2");
	
	curso[3].codigo=143;
	strcpy(curso[3].nome,"Padroes de Projeto");
	curso[3].c_Horaria=30;
	strcpy(curso[3].h_Semanal,"Sexta bloco 2");
	
	curso[4].codigo=135;
	strcpy(curso[4].nome,"Banco de dados ll");
	curso[4].c_Horaria=60;
	strcpy(curso[4].h_Semanal,"Quarta bloco 3 e sexta bloco 2");
		
	
	do{
	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");
	scanf("%d",&escolha);
	if(escolha == 1){
		add_Aluno(alunos,curso);
	  }else if(escolha == 2){
	}
			}while(escolha !=3);
	}
	
	

	

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Igor Vargas       seu código está bom ,  e você esqueceu de incrementar o cont , assim ele vai guardar os dados sempre na mesma posição ,  e seu código anterior também está funcionando bem , só precisa colocar para imprimir os dados lá na função add_Aluno , então ele seria assim  :

#include <stdio.h>
#include <string.h>
#include <windows.h>
/*             0     1    2     3   4    5       6      7          8      */
typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY,
LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS;
/*  9          10        11       12         13        14     15          */
static int __BACKGROUND = BLACK;
static int __FOREGROUND = LIGHTGRAY;

void textcolor (int color, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = color;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    color + (__BACKGROUND << 4));
}
void gotoxy(int x, int y){
  COORD c;
  c.X = x;
  c.Y = y;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
struct diciplinas{
	int codigo;
	char nome[20];
	char professor[20];
	int c_Horaria;
	char h_Semanal[50];
};
struct registro{
	int matricula;
	char nome[20];
	char sobrenome[20];
	char email[20];
	int l_Diciplinas[20];
	char grade[5][5];
};
void add_Aluno(struct registro al[3], struct diciplinas add_Dis[5]){
	char sair;
	int dis,diss,x,y,guarda[5];
	system("cls");
	printf("\n\n");
	printf("--------------------------------------\n");
	printf("---voce selecionou adicionar aluno.---\n");
	printf("--------------------------------------\n");
	printf("Lista de diciplinas\n");
	printf("-----------------------------------------------------\n");
	printf("Codigo  Nome                  Horas  Horario\n"   );
	printf("-----------------------------------------------------");
	textcolor(12,15);
	for(x=0;x<5;x++){
        gotoxy(0,9+x);
        printf("                                                                      ");
	}
	for(x=0; x<5; x++){					/*//mostra a lista das materias*/
        gotoxy(2,9+x);
        printf("%d",add_Dis[x].codigo);
        gotoxy(8,9+x);
        printf("%s  ",add_Dis[x].nome);
        gotoxy(30,9+x);
        printf("%d  ",add_Dis[x].c_Horaria);
        gotoxy(37,9+x);
        printf("%s\n",add_Dis[x].h_Semanal);
    }
    textcolor(7,0);
	for(x=0; x<3; x++){
        y=0;
		printf("Digite seu nome:");
		fflush(stdin);
		gets(al[x].nome);
		printf("Digite seu Sobrenome:");
		fflush(stdin);
		gets(al[x].sobrenome);
		strcat(al[x].nome,al[x].sobrenome);
		printf("Digite sua Matricula:");
		fflush(stdin);
		scanf("%d",&al[x].matricula);
		printf("Digite seu e-mail:");
		fflush(stdin);
		gets(al[x].email);
		printf("Quantas diciplinas voce deseja se matricular:");
		fflush(stdin);
		scanf("%d",&dis);
		printf("Digite o codigo das diciplinas que voce deseja se matricular:");
		while(y<dis){
            fflush(stdin);
		    scanf("%d",&diss);
            guarda[y]=diss;
            y++;
        }
	}
}
int main(){
	struct diciplinas curso[5];
	struct registro alunos[3];
	int escolha;
	curso[0].codigo=0122;
	strcpy(curso[0].nome,"Algoritimos");
	curso[0].c_Horaria=60;
	strcpy(curso[0].h_Semanal,"Segunda bloco 1 e terca bloco 2");
	curso[1].codigo=0127;
	strcpy(curso[1].nome,"Estrutura de dados");
	curso[1].c_Horaria=60;
	strcpy(curso[1].h_Semanal,"terca bloco 3 e quarta bloco 4");
	curso[2].codigo=0132;												/*//dados salvos*/
	strcpy(curso[2].nome,"Sistemas Operacionais A ");
	curso[2].c_Horaria=60;
	strcpy(curso[2].h_Semanal,"Terca bloco 3 e Quinta bloco 2");
	curso[3].codigo=0143;
	strcpy(curso[3].nome,"Padroes de Projeto");
	curso[3].c_Horaria=30;
	strcpy(curso[3].h_Semanal,"Sexta bloco 2");
	curso[4].codigo=0135;
	strcpy(curso[4].nome,"Banco de dados ll");
	curso[4].c_Horaria=60;
	strcpy(curso[4].h_Semanal,"Quarta bloco 3 e sexta bloco 2");
	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");
	scanf("%d",&escolha);
	if(escolha == 1){
		add_Aluno(alunos,curso);
    }
    else
        if(escolha == 2){
	    }
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pela ajuda infelizmente tive que ficar com o código de baixo, pois terei que explicar pro professor o que eu fiz ahah não estou muito avançado em C ainda, mas muito obrigado pela ajuda. Tem mais coisa pra fazer no trabalho quando eu tiver dúvida vou postar aqui @devair1010.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 estou com uma dúvida no meu trabalho onde preciso passar as máterias que o aluno escolheu para a grade, o problema é que a minha grade esta dentro do meu registro alunos, o que eu estou pensando em fazer é colocar outro registro só com a grade e depois adicionar as matérias. Eu não sei se tem uma maneira mais prática de fazer isso.

 

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

	struct disciplinas
	{
	
	int codigo;
	char nome[20];
	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[5];
	char grade[4][5];
		
	};
	struct grade
	{
		char grade[4][5];	
	};
int cont;	

void add_Aluno(struct registro al[3], struct disciplinas add_Dis[5], struct grade g_Materias[4][5]){
	int dis,x,y,guarda[5],cont=0,num;
	char resp;
	printf("\n\n");
	printf("--------------------------------------\n");
	printf("---voce selecionou adicionar aluno.---\n");
	printf("--------------------------------------\n");
	printf("	Lista de Disciplinas\n");
	printf("	Codigo    Nome\n\n");
	for(x=0; x<5; x++){
	printf("	%d     %s \n",add_Dis[x].codigo,add_Dis[x].nome);
	}
	printf("\n");
		printf("	Horas    Horario\n\n");	
		for(x=0; x<5; x++){
			printf("	%d     %s\n",add_Dis[x].c_Horaria,add_Dis[x].h_Semanal);	
			}
			printf("\n");
	do{
		x=0;
		printf("Digite seu nome:");
		fflush(stdin);
		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);
		printf("Digite em quantas materias deseja se matricular:");
		scanf("%d",&num);
		printf("Digite o codigo das diciplinas que voce deseja se matricular\n");
		cont++;
		for(y=0; y<num; y++){
		scanf("%d",&al[y].l_Disciplinas);
}
	for(x=0; x<num; x++){
		if(al[x].l_Disciplinas==122)
		{
			strcpy(g_Materias[0][0].grade,"Algo");
			strcpy(g_Materias[1][1].grade,"Algo");
		}
		else if(al[x].l_Disciplinas==127)
		{
			strcpy(g_Materias[2][1].grade,"Estr");
			strcpy(g_Materias[4][2].grade,"Estr");
		}
		else if(al[x].l_Disciplinas==132)
		{
			strcpy(g_Materias[2][1].grade,"Sist");
			strcpy(g_Materias[1][3].grade,"Sist");
		}
		else if(al[x].l_Disciplinas==143)
		{
			strcpy(g_Materias[1][4].grade,"Padr");			
		}
		else if(al[x].l_Disciplinas==143)
		{
			strcpy(g_Materias[1][2].grade,"Banc");
			strcpy(g_Materias[1][4].grade,"Banc");
		}
		
		
	}
	
	printf("Deseja Cadastrar outro aluno? s/n:");
	fflush(stdin);
	scanf("%c",&resp);


}while(x=!'n');
	
		}	
	
	
	




main(){
	
	struct disciplinas curso[5];
	struct registro alunos[3];
	struct grade m_Salva[4][5];
	int escolha;
	curso[0].codigo=122;
	strcpy(curso[0].nome,"Algoritimos");
	curso[0].c_Horaria=60;
	strcpy(curso[0].h_Semanal,"Segunda bloco 1 e terca bloco 2");
	
	curso[1].codigo=127;
	strcpy(curso[1].nome,"Estrutura de dados");
	curso[1].c_Horaria=60;
	strcpy(curso[1].h_Semanal,"terca bloco 3 e quarta bloco 4");
	
	curso[2].codigo=132;												//dados salvos
	strcpy(curso[2].nome,"Sistemas Operacionais A ");
	curso[2].c_Horaria=60;
	strcpy(curso[2].h_Semanal,"Terca bloco 3 e Quinta bloco 2");
	
	curso[3].codigo=143;
	strcpy(curso[3].nome,"Padroes de Projeto");
	curso[3].c_Horaria=30;
	strcpy(curso[3].h_Semanal,"Sexta bloco 2");
	
	curso[4].codigo=135;
	strcpy(curso[4].nome,"Banco de dados ll");
	curso[4].c_Horaria=60;
	strcpy(curso[4].h_Semanal,"Quarta bloco 3 e sexta bloco 2");
		
	
	do{
	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");
	scanf("%d",&escolha);
	if(escolha == 1){
		add_Aluno(alunos,curso,m_Salva);
	  }
	  else if(escolha == 2)
	  {
	
	  }
			}while(escolha !=3);
	}
	
	

	

 

 

trabalhoo.jpg

trabalhooo.jpg

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

×