Baixe o app para aproveitar ainda mais
Prévia do material em texto
#include <stdlib.h> #include <stdio.h> struct prs { // int codigo[50]; campo tipo int não tem tamanho (colchetes com valor) int codigo; char marca[50]; char modelo[50]; // int anofab[50]; int anofab; // int kmrodado[50]; int kmrodado; char alugado[50]; // int diasalugado[50]; int diasalugado; // int valoralugado[50]; float valoralugado; struct prs *ptrprox; }; struct prs *ptrprim, *ptratual, *ptrnovo; novonome() { system("CLS"); ptrnovo = (struct prs*) malloc(sizeof(struct prs)); if (ptrprim == (struct prs*) NULL) { ptrprim = ptratual = ptrnovo; } else { ptratual = ptrprim; while (ptratual -> ptrprox != (struct prs*) NULL) { ptratual = ptratual -> ptrprox; } ptratual -> ptrprox = ptrnovo; ptratual = ptrnovo; } printf("\nDigite o codigo:"); // gets(ptratual -> codigo); fflush(stdin); scanf("%d", &ptratual -> codigo); // ptratual -> ptrprox = (struct prs*) NULL; linha desnecessária printf("\nDigite o marca:"); fflush(stdin); gets(ptratual -> marca); // ptratual -> ptrprox = (struct prs*) NULL; linha desnecessária printf("\nDigite o modelo:"); gets(ptratual -> modelo); // ptratual -> ptrprox = (struct prs*) NULL; linha desnecessária printf("\nDigite o anofab:"); // gets(ptratual -> anofab); fflush(stdin); scanf("%d", &ptratual -> anofab); // ptratual -> ptrprox = (struct prs*) NULL; linha desnecessária printf("\nDigite o kmrodado:"); //gets(ptratual -> kmrodado); scanf("%d", &ptratual -> kmrodado); // ptratual -> ptrprox = (struct prs*) NULL; linha desnecessária printf("\nDigite o alugado:"); fflush(stdin); gets(ptratual -> alugado); // ptratual -> ptrprox = (struct prs*) NULL; linha desnecessária printf("\nDigite o diasalugado:"); // gets(ptratual -> diasalugado); fflush(stdin); scanf("%d", &ptratual -> diasalugado); // ptratual -> ptrprox = (struct prs*) NULL;linha desnecessária printf("\nDigite o valoralugado:"); // gets(ptratual -> valoralugado); scanf("%f", &ptratual -> valoralugado); ptratual -> ptrprox = (struct prs*) NULL; // Esta linha é necessária somente aqui. return; } listatudo() { system("CLS"); printf("Listagem de Nomes cadastrados\n"); if (ptrprim == (struct prs*) NULL) { printf("Lista vazia!\n\n"); system("PAUSE"); return; } ptratual = ptrprim; do { printf("\n codigo: %d",ptratual -> codigo); printf("\n marca: %s",ptratual -> marca); printf("\n modelo: %s",ptratual -> modelo); printf("\n anofab: %d",ptratual -> anofab); printf("\n kmrodado: %d",ptratual -> kmrodado); printf("\n alugado: %s",ptratual -> alugado); printf("\n diasalugado: %d",ptratual -> diasalugado); printf("\n valoralugado: %f",ptratual -> valoralugado); ptratual = ptratual -> ptrprox; }while(ptratual != (struct prs*) NULL); printf("\n\n"); system("PAUSE"); return; } main() { char ch; ptrprim = (struct prs *) NULL; while (ch != 'S' && ch != 's') { system("CLS"); printf("\nDigite 'N' para novo"); printf("\nDigite 'L' para listar"); printf("\nDigite 'S' para sair"); ch = getche(); switch(ch) { case 'N': novonome(); break; case 'L': listatudo(); break; case 'n': novonome(); break; case 'l': listatudo(); break; } } }
Compartilhar