lista encadeada
pessoal, o programa cadastra mas na hora de listar esta dando problema e nao consigo descobrir qual é..
#include <stdlib.h>#include <stdio.h>struct dados { char nome[20]; int rg; dados prox; };void inserir();void listar();void menu();struct dados inicio;int main(){ inicio=NULL; menu(); }void inserir(){ if (inicio == (struct dados)NULL) { inicio=(struct dados)malloc(sizeof(struct dados)); } dados novo; novo=(struct dados)malloc(sizeof(struct dados)); dados aux; aux = inicio; aux->prox=novo; novo->prox=NULL; printf("digite o nome"); scanf("%s",&novo->nome); printf("digite o rg"); scanf("%d",&novo->rg); } void listar(){ if (inicio == (struct dados)NULL) { printf("nao existe cadastro\n"); } else { dados *aux; aux=inicio->prox; while (aux->prox!=NULL) { printf("nome: %s\n",aux->nome); printf("rg: %d\n",aux->rg); aux->prox=aux; } }}void menu(){ int op; while(op!=5) { printf("\n\n1 - Adicionar Contato\n2 - Listar Contato\n5 - Sair\n"); scanf("%d",&op); switch (op) { case 1: inserir();break; case 2: listar();break; default: system("pause");break; } }}
Discussão (5)
Carregando comentários...