Alguém me ajude com esse código em C é urgente é um trabalho da faculdade valendo 10? esse é o código e eu estou perdido nessa linguagem, iniciei c agora e não sei o que fazer ai, leia a explicação e estou precisando é urgente vale 10 aqui esta a explicação do problema: espero q alguém me ajude e-mail Um sistema de gestão patrimonial permite relacionar todos os bens de uma organização a fim de garantir sua integridade patrimonial. Esse tipo de sistema tem como finalidade automatizar o controle de todos os bens permanentes de uma organização. TAREFA Desenvolver em linguagem C, seguindo estrutura do código fonte do anexo I, um sistema para gerenciar o patrimônio de computadores de uma organização. Além disso, redigir um texto descrevendo sucintamente (máximo de 300 palavras) quais as técnicas das disciplinas do primeiro ano do curso foram utilizadas neste estudo de caso. ENTRADA Consiste em um arquivo texto com o nome entrada.txt contendo uma linguagem de marcação textual descrita no anexo II. No anexo III há um exemplo de arquivo de entrada. SAÍDA A saída consiste na emissão de relatórios, descritos a seguir: ? Relatório 1: arquivo texto com o nome saida1.txt contendo somente o número de patrimônio dos computadores (um por linha) que satisfaçam à condição de memória RAM inferior a um valor informado pelo usuário. ? Relatório 2: arquivo texto com o nome saida2.txt contendo somente o número de patrimônio dos computadores (um por linha) que satisfaçam à condição de possuírem um aplicativo com uma determinada versão, dados informados pelo usuário. #include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define TAM_STRING 30
FILE *entrada;
typedef struct
{
int dia;
int mes;
int ano;
} data;
typedef struct opcionais_hardware
{
char nome[TAM_STRING];
char descricao[TAM_STRING*2];
struct opcionais_hardware *proximo;
} opcionais_hardware;
typedef struct aplicativos
{
char nome[TAM_STRING];
char versao[TAM_STRING/2];
data data_instalacao;
struct aplicativos *proximo;
} aplicativos;
typedef struct
{
char fabricante[TAM_STRING/2];
char modelo[TAM_STRING/2];
float clock;
} processador;
typedef struct
{
processador cpu;
int memoria;
int hd;
opcionais_hardware *op_hw;
} hardware;
typedef struct
{
char nome[TAM_STRING];
char versao[TAM_STRING/2];
data data_instalacao;
char senha[TAM_STRING];
} sistema_operacional;
typedef struct
{
sistema_operacional so;
aplicativos *app;
} software;
typedef struct
{
char setor[TAM_STRING];
char responsavel[TAM_STRING];
int patrimonio;
} logistica;
typedef struct computador
{
hardware hw;
software sw;
logistica logt;
} computador;
typedef struct no_computador
{
computador *pc;
struct no_computador *proximo;
} no_computador;
typedef struct lista
{
no_computador *inicio;
no_computador *fim;
} lista;
lista *lerArquivo(char endereco[])
{
lista *l=NULL;
//implemente aqui
return l;
}
void escreverSaida1(lista *l,char endereco[],int memoria)
{
//implemente aqui
}
void escreverSaida2(lista *l,char endereco[],char nome[],char versao[])
{
//implemente aqui
}
void imprimir(lista *l)
{
no_computador *aux=l->inicio;
while (aux!=NULL)
{
printf("fabricante: %s\n",aux->pc->hw.cpu.fabricante);
printf("modelo: %s\n",aux->pc->hw.cpu.modelo);
printf("clock: %f\n",aux->pc->hw.cpu.clock);
printf("memoria: %d\n",aux->pc->hw.memoria);
printf("hd: %d\n",aux->pc->hw.hd);
opcionais_hardware *aux1=aux->pc->hw.op_hw;
while (aux1!=NULL)
{
printf("opcional: %s %s\n",aux1->nome,aux1->descricao);
aux1=aux1->proximo;
}
printf("s.o.: %s\n",aux->pc->sw.so.nome);
printf("versao: %s\n",aux->pc->sw.so.versao);
printf("instalacao: %d/%d/%d\n",aux->pc->sw.so.data_instalacao.dia,aux->pc-
>sw.so.data_instalacao.mes,aux->pc->sw.so.data_instalacao.ano);
printf("senha: %s\n",aux->pc->sw.so.senha);
aplicativos *aux2=aux->pc->sw.app;
while (aux2!=NULL)
{
printf("aplicativos: %s %s %d/%d/%d\n",aux2->nome,aux2->versao,aux2-
>data_instalacao.dia,aux2->data_instalacao.mes,aux2->data_instalacao.ano);
aux2=aux2->proximo;
}
printf("setor: %s\n",aux->pc->logt.setor);
printf("responsavel: %s\n",aux->pc->logt.responsavel);
printf("patrimonio: %d\n\n",aux->pc->logt.patrimonio);
aux=aux->proximo;
}
}
void menu()
{
system("cls");
printf("\n |--------------------