Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct registro_st{ // sequência de objetos do mesmo tipo
- char login[50];
- char nome[50];
- float valor;
- struct registro *prox;
- } registro;
- typedef struct nodo_st{
- registro dado;
- struct nodo *prox;
- } nodo;
- typedef struct Lista_st{
- nodo *cabeca;
- nodo *cauda;
- int tamanho;
- } lista;
- nodo* CriarNodo(registro p){
- nodo* n;
- n = (nodo*)malloc(sizeof(nodo));
- n->dado = p;
- n->prox= NULL;
- return n;
- }
- void criarLista(lista *l){
- return NULL;
- }
- void insere_ini(lista *l, registro dado){
- nodo* novo = (nodo*)malloc(sizeof(nodo));
- if(novo=NULL){
- return 0; //falta de espaço
- };
- novo->dado = dado;
- novo->prox = l->cauda; //antigo primeiro aponta para o próximo
- l->cauda = novo; // novo nodo recebe ponteiro para começo
- return novo;
- }
- //FUNÇÕES PARA UTILIZAR NO MAIN
- void imprime_nomes(nodo* lista){ // função que imprime os valores
- nodo* p;
- for(p = lista; p != NULL; p = p->prox){
- printf("Nome eh: %sn", p->dado->nome);
- }
- }
- void criar_registro(registro *p){
- printf("Qual login para registro:n");
- scanf("%s", &p->login);
- printf("Qual o nome do contato:n");
- scanf("%s", &p->nome);
- printf("Qual valor para registrar:n");
- scanf("%f", &p->valor);
- }
- int main(){
- registro p1_main;
- lista p2_main;
- nodo p3_main;
- char escolha;
- printf("Gostaria de registrar contatos?n");
- printf("Digite -->>!! sim!! <<-- para registrar e -->>!! não !!<<-- para sair.n");
- scanf("%s", &escolha);
- criarLista(&p2_main);
- do {
- criar_registro(&p1_main); //poderia usar esta forma alternativa registro *novoRegistro = criar_registro()
- insere_ini(&p2_main, p1_main);
- }
- while(escolha != "nao");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement