sera q alguem podia dar uma ajudinha para comentar esse codigo…
[code]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct cliente
{
char nome[50];
char endereco[100];
int cpf;
int fone;
struct cliente *prox;
} DadoCliente;
void insere_ordenado(DadoCliente **cabeca_cliente);
void insere_ordenado(DadoCliente **cabeca_cliente)
{
char aux[50];
int num;
char endereco[100];
int cpf;
int fone;
printf("CPF: ");
scanf("%d%*c",&num);
int achou = 0;
DadoCliente *novo = malloc(sizeof(DadoCliente));
DadoCliente *ant = NULL;
DadoCliente *p = *cabeca_cliente;
while( p != NULL )
{
if (p->cpf == num)
{
printf("CPF %d ja cadastrado!!\n nao inserido!!",num );
achou = 1;
p = NULL ;
}
else
{
ant = p;
p = p->prox;
}
}
if ( achou != 1 )
{
novo->cpf = num;
printf("Nome: ");
scanf("%49[^\n]",aux);
strcpy(novo->nome, aux);
printf("Telefone: ");
scanf("%d%*c",&fone);
novo-> fone = fone;
printf("Endereco: ");
scanf("%99[^\n]",endereco);
strcpy(novo->endereco, endereco);
ant = NULL;
p = *cabeca_cliente;
while( p != NULL )
{
if ( strcmp(p->nome, aux) < 0 || strcmp(p->nome, aux)== 0)
{
ant = p;
p = p->prox;
}
else if ( strcmp(p->nome, aux) > 0 )
{
p = NULL;
}
}
if (ant == NULL)
{
novo->prox = *cabeca_cliente;
*cabeca_cliente = novo;
}
else
{
novo->prox = ant->prox;
ant->prox = novo;
}
}
}
[/code]