TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

[Linguagem C] - Trabalho Estruturas de Dados

Por:   •  23/8/2017  •  Abstract  •  403 Palavras (2 Páginas)  •  442 Visualizações

Página 1 de 2

// TRABALHO ESTRUTURAS DE DADOS - G2

// ALUNO: LUCAS AMBROSI DERROSSI

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <string.h>

#include <malloc.h>

void inserir();

void listar();

void pesquisar();

void remover();

struct listadupla{

struct listadupla *antes;

int sala, ano;

char nome[10];

struct listadupla *depois;

};

int saladigitada, anodigitado;

char nomedigitado[10];

struct listadupla *inicial=NULL, *novo, *aux, *anterior, *pos;

main(){

int op;

while(op != 5){

system("cls");

printf("\n ========MENU DE OPCOES========\n");

printf("\n [1] - Inserir computador");

printf("\n [2] - Listar computadores");

printf("\n [3] - Pesquisar computador");

printf("\n [4] - Remover computador");

printf("\n [5] - Sair");

printf("\n\n\n Opcao escolhida: ");

scanf("%i",&op);

switch(op){

case 1:

inserir();

break;

case 2:

listar();

break;

case 3:

pesquisar();

break;

case 4:

remover();

break;

case 5:

printf("\n Tecle algo para sair...");

getch();

break;

default:

printf("\n Opcao invalida. Tecle algo para voltar ao menu.");

getch();

break;

}

}

}

/*==================================

----------FUNCAO INSERIR-----------

===================================*/

void inserir(){

system("cls");

printf("\n =========INSERIR COMPUTADOR=========");

printf("\n Digite o nome desejado.................: ");

fflush(stdin);

fgets(nomedigitado,10,stdin);

printf("\n Digite a sala do computador............: ");

scanf("%i",&saladigitada);

printf("\n Digite o ano de aquisicao do computador: ");

scanf("%i",&anodigitado);

if(inicial==NULL){

novo = (struct listadupla*)malloc(sizeof(struct listadupla));

novo->antes = NULL;

strcpy(novo->nome,nomedigitado);

novo->sala = saladigitada;

novo->ano = anodigitado;

novo->depois = NULL;

inicial = novo;

}

else{

if(strcmp(inicial->nome,nomedigitado) >= 0){

novo = (struct listadupla*)malloc(sizeof(struct listadupla));

novo->antes = NULL;

strcpy(novo->nome,nomedigitado);

novo->sala = saladigitada;

novo->ano = anodigitado;

novo->depois = inicial;

inicial->antes = novo;

inicial = novo;

}

else{

anterior = inicial;

aux = inicial;

while((strcmp(aux->nome,nomedigitado) <= 0) && (aux->depois != NULL)){

anterior = aux;

aux = aux->depois;

}

if(aux->depois != NULL){

novo = (struct listadupla*)malloc(sizeof(struct listadupla));

novo->antes = anterior;

...

Baixar como (para membros premium)  txt (6.7 Kb)   pdf (53.5 Kb)   docx (15.7 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com