Ir ao conteúdo

programa c++


furt

Posts recomendados

Postado

e ae galera, estou tentando ler uma arquivo txt em c++ usando o dev-c++ e não consigo, a estrutura principal está pronta só tenho que fazer a implementação.... quem puder me ajudar agradeço..

estrutura principal:

#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 |------------------------------------------------|\n");

printf(" | |\n");

printf(" | UNIVERSIDADE DO TOCANTINS |\n");

printf(" | |\n");

printf(" |------------------------------------------------|\n");

printf(" | |\n");

printf(" | <1> Abrir \"entrada.txt\" |\n");

printf(" | <2> Imprimir |\n");

printf(" | <3> Relatorio 1 (\"saida1.txt\") |\n");

printf(" | <4> Relatorio 2 (\"saida2.txt\") |\n");

printf(" | <5> Sair |\n");

printf(" | |\n");

printf(" |------------------------------------------------|\n\n");

printf("\t\tOpcao: ");

}

int main()

{

lista *l=NULL;

char opcao;

do

{

menu();

fflush(stdin);

opcao=getchar();

switch(opcao)

{

case '1':

l=lerArquivo("entrada.txt");

system("cls");

printf("\n\tArquivo aberto com sucesso!\n\n\n");

system("pause");

break;

case '2':

system("cls");

if (l!=NULL)

imprimir(l);

else

printf("\n\tLista vazia!\n\n\n");

system("pause");

break;

case '3':

system("cls");

if (l!=NULL)

{

int memoria;

printf("\n\n\tMemoria menor que : ");

scanf("%d",&memoria);

escreverSaida1(l,"saida1.txt",memoria);

printf("\n\tRelatorio 1 emitido com sucesso!\n\n\n");

}

else

printf("\n\tNao foi possivel emitir relatorio 1!\n\n\n");

system("pause");

break;

case '4':

system("cls");

if (l!=NULL)

{

char nome[TAM_STRING];

char versao[TAM_STRING/2];

printf("\n\n\tNome : ");

fflush(stdin);

fgets(nome,TAM_STRING,stdin);

nome[strlen(nome)-1]='\0';

printf("\n\tVersao : ");

fflush(stdin);

fgets(versao,TAM_STRING/2,stdin);

versao[strlen(versao)-1]='\0';

escreverSaida2(l,"saida2.txt",nome,versao);

printf("\n\tRelatorio 2 emitido com sucesso!\n\n\n");

}

else

printf("\n\tNao foi possivel emitir relatorio 2!\n\n\n");

system("pause");

break;

default:

if (opcao!='5')

continue;

}

} while(opcao!='5');

}

Postado

Amigo, primeiro que isso aí é C e não C++...

Depois, você não fez nada do código né? Estude a linguagem melhor, structs, vetores e tente fazer alguma coisa. Surgindo dúvidas, a gente pode ajudar. Mas esse exercício é seu. ;)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!