Ir para conteúdo
Fórum Script Brasil
  • 0

A situação tá FEIA! AJUDA URGENTE!


Brunoaa

Pergunta

Desenvolva um projeto para cadastrar e listar itens de um laboratório em um

arquivo.

O programa deve ter um menu principal com 4 opções: cadastrar um novo

item, gravar novos itens no arquivo, listar os itens armazenados no arquivo e

encerrar programa.

Para inserir um novo item, os dados informados pelo usuário devem ser

gravados em membros de uma variável estruturada, e esta então, deverá ser

gravada em um novo nó de uma lista encadeada.

Para gravar os novos itens no arquivo, deve-se percorrer a lista encadeada ler

os dados dos nós e gravar no arquivo. Depois de efetuada a gravação, a lista

deve ser liberada.

Para listar o conteúdo do arquivo, deve-se ler linha a linha, gravando os dados

numa variável estruturada, e esta então, deverá ser gravada em um novo nó de

uma lista encadeada. Finalizada a leitura do arquivo, deve-se imprimir o

conteúdo da lista encadeada na tela do computador.

Obs1: Cada item do laboratório deve conter ao menos: nome, quantidade

existente no laboratório, número de patrimônio, e 2 outras propriedades do item

(cor, voltagem, sistema operacional, fabricante, material do qual é feito, etc).

Essas duas propriedades mencionadas deve ser comum a todos os itens

cadastrados.

Obs2: Obrigatoriamente usar (cria-lo) um TAD Lista.

Obs3: Cadastrar ao menos 10 itens do laboratório.

O QUE EU ESCREVI ATÉ AGORA NO MEU PROGRAMA ESTÁ ABAIXO, EU NÃO SEI COMO DECLARAR A FUNÇÃO GRAVAR, POR FAVOR ME AJUDEM.... MUITO OBRIGADO...

#include<stdio.h>

#include<stdlib.h>

char i;

typedef struct tipo_laboratorio

{

char nome, cor, fabricante;

double quantidade, numero;

struct item_laboratorio *proximo;

}TADLista;

void cadastrar(TADLista ***ab);

void gravar(TADLista **ab);

void listar(TADLista *ab);

int main()

{

TADLista *ab = NULL;

TADLista *noatual;

char q;

do

{

printf (" \nOpcoes\n ");

printf ("C ou c -> Cadastrar\n");

printf ("G ou g -> Gravar\n");

printf ("L ou l -> Para Listar\n");

printf ("S ou s -> Sair");

scanf ("%c",&q);

switch (q)

{

case 'C':

case 'c':

cadastrar(&ab);

i++;

break;

case 'G':

case 'g':

gravar(&ab);

break;

case 'l':

case 'L':

listar(&ab);

break;

case 'S':

case 's':

break;

default:

printf ("\n\n\n Opcao não Valida! Tente Novamente!\n\n\n");

}

fflush (stdin);

} while ((q !='s') && (q != 'S'));

noatual = ab;

while (noatual != NULL)

{

ab = noatual -> proximo;

free (noatual);

noatual = ab;

}

}

void listar (TADLista *noatual)

{

int i=0;

while (noatual != NULL)

{

i++;

printf ("\n\nNome: %d \nQuantidade: %f \nCor: %d \nFabricante: %d", i, noatual->nome, noatual->quantidade, noatual->cor, noatual->fabricante);

noatual = noatual->proximo;

}

}

void cadastrar(TADLista ***ab)

{

TADLista *noatual, *nonovo;

int name, corr, fabric;

double quant;

printf ("\n Nome do item: ");

scanf ("%d", &name);

printf ("\n Cor do intem: ");

scanf ("%d", &corr);

printf ("\n Fabricante do item: ");

scanf ("%d", &fabric);

printf ("\n Quantidade de itens: ");

scanf ("%lf", &quant);

if (*ab == NULL)

{

*ab = (TADLista ***) malloc (sizeof(TADLista));

(**ab)->nome = name;

(**ab)->cor = corr;

(**ab)->fabricante = fabric;

(**ab)->quantidade = quant;

(**ab)->proximo = NULL;

}

else

{

noatual = *ab;

while (noatual->proximo != NULL)

noatual = noatual->proximo;

nonovo = (TADLista *) malloc (sizeof(TADLista));

nonovo-> nome = name;

nonovo-> cor = corr;

nonovo-> fabricante = fabric;

nonovo-> quantidade = quant;

noatual-> proximo = nonovo;

}

}

void gravar (TADLista *ab)

{

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...