Olá! Sou nova por aqui. Estou tentando fazer um pequeno cadastro em C utilizando struct e ponteiros. Acontece que minha função listagem está retornando (null) mesmo depois de ter cadastrado um nome. Alguém pode me ajudar? Segue o código abaixo:
#include<stdio.h>
#include<conio.h>
struct cadastro /* cria a estrutura cadastro e define suas variaveis */
{
char nome[30];
char cargo[20];
char sexo;
char cidade [30];
char estado [2];
int codigo;
int telefone;
int cpf;
int idade;
int salario;
};
struct cadastro cad; /*cria a variavel cad do tipo estrutura
com todos os campos definidos em cadastro */
struct cadastro *p; /*cria um ponteiro para a estrutura*/
void listagem(struct cadastro *p)
{
printf("Nome:%s", p -> nome);
getch();
}
void inclusao(void)
{
printf("Digite o nome completo: ");
fflush(stdin);
gets(p -> nome);
listagem(p);
}
void exclusao(void)
{
printf("EXCLUSAO.");
getch();
}
void alteracao(void)
{
printf("ALTERACAO.");
getch();
}
void main()
{
struct cadastro cad; /*cria a variavel cad do tipo estrutura
com todos os campos definidos em cadastro */
struct cadastro* p;
int opcao;
p=&cad; //inicializando o ponteiro p com o endereco de cad
Pergunta
Eliane21
Olá! Sou nova por aqui. Estou tentando fazer um pequeno cadastro em C utilizando struct e ponteiros. Acontece que minha função listagem está retornando (null) mesmo depois de ter cadastrado um nome. Alguém pode me ajudar? Segue o código abaixo:
#include<stdio.h>
#include<conio.h>
struct cadastro /* cria a estrutura cadastro e define suas variaveis */
{
char nome[30];
char cargo[20];
char sexo;
char cidade [30];
char estado [2];
int codigo;
int telefone;
int cpf;
int idade;
int salario;
};
struct cadastro cad; /*cria a variavel cad do tipo estrutura
com todos os campos definidos em cadastro */
struct cadastro *p; /*cria um ponteiro para a estrutura*/
void listagem(struct cadastro *p)
{
printf("Nome:%s", p -> nome);
getch();
}
void inclusao(void)
{
printf("Digite o nome completo: ");
fflush(stdin);
gets(p -> nome);
listagem(p);
}
void exclusao(void)
{
printf("EXCLUSAO.");
getch();
}
void alteracao(void)
{
printf("ALTERACAO.");
getch();
}
void main()
{
struct cadastro cad; /*cria a variavel cad do tipo estrutura
com todos os campos definidos em cadastro */
struct cadastro* p;
int opcao;
p=&cad; //inicializando o ponteiro p com o endereco de cad
clrscr();
printf("CADASTRO");
printf("============================\n\n");
printf("\t\t 1 INCLUSAO\n\t\t 2 EXCLUSAO\n\t\t 3 ALTERAR\n\t\t 4 LISTAGEM\n\t\t 5 SAIR\n\n");
do
{
printf("Qual a sua opcao? ");
scanf("%d", &opcao);
switch(opcao)
{
case 1: inclusao();
break;
case 2: exclusao();
break;
case 3: alteracao();
break;
case 4: listagem(p);
break;
}
}
while ((opcao < 1) || (opcao > 4));
}
Link para o comentário
Compartilhar em outros sites
3 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.