Ir ao conteúdo
  • Cadastre-se

Problema iniciante


dododo

Posts recomendados

Boa tarde. Tenho um trabalho para entregar até amanhã e estou às aranhas com isto.. Será que alguém me pode ajudar ? O exercício é o seguinte:

Uma empresa de desmantelamento de veículos automóveis pretende desenvolver um programa de apoio à venda de componentes de modo a otimizar o seu serviço. Para esse fim, considere que cada veículo tem um ficheiro de componentes associado, que é introduzido, no sistema, mal chegue ao armazém. O ficheiro contém 3 colunas: Componente; Quantidade; Observações. O programa deve actualizar os dados à medida que os componentes sejam vendidos.

Elabore um programa que

· Leia o ficheiro de componentes de um veículo para uma lista.

· Apresente no ecrã todos os componentes da lista.

· Visualize um componente pelo nome exacto.

· Decremente de n unidades um determinado número de peças. Por exemplo, no caso seguinte, quando o utilizador insere os dados indicados o programa deve actualizar o número de pneus,

neste caso 3 (5-2).

· Permita listar todas as peças que contenham um determinado nome. Por exemplo: Quando o utilizador insere a palavra “espelho” devem ser listados, no ecrã, todos os componentes que contenham esta palavra.

O código que tenho desenvolvido até agora é este :

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

struct comp {

int quantidade;

char componente [20];

char observacoes [20];

};

int readf (comp v[],char*peca);

void visualizar (comp v[], int n);

void novocomponente(comp*v);

int vendercomponente (comp v[], int n);

void guardarcomponentes(char*peca,comp v[], int n);

void main (void)

{

const int n_max_comp=50;

comp v[n_max_comp];

int n;

int nc=0;

int out=0;

int c;

nc=readf(v,"Trabalho1.txt");

if(n<4)

{

do {

printf("0 - sair\n");

printf("1 - visualizar lista de componentes\n");

printf("2 - novo componente\n");

printf("3 - vender componente\n");

printf("4 - procurar componente\n");

printf("escolha a opção - ");

c=getchar();

while (getchar()!='\n')

switch©{

case'0': out=1;

break;

case'1': visualizar(v,nc);

break;

case'2': novocomponente(comp*v);

break;

case'3': vendercomponente(v,nc);

break;

case'4': procurarcomponente(v,nc);

break;

}

}

}

else

{

printf("escolha uma opcao valida\n");

}

}

guardarcomponentes("trabalho1.txt", v[], nc);

//voltar para introduzir o write no ficheiro

int readf(comp v[],char*peca)

{

FILE*ficheiro;

int n=0;

int i;

ficheiro=fopen(peca,"r");

if (fp==NULL)

return 0;

do{

i=fscan(fp, " %[^;];&d;%[^;];", v[n].componente, &v[n].quantidade, v[n].observacoes);

n++;

}

void visualizar (comp v[], int n)

{

int i;

for (i=0; i<n; i++)

printf("%s;%d;%s;\n", v.componente, v.quantidade, v.observacoes);

}

void novocomponente(comp*v)

{

comp b;

printf("nome do componente:");

scanf("%[^\n]",v[n].componente);

while(getchar()!='\n');

printf("quantidade de componentes?:");

scanf("%[^\n]",&v[n].quantidade);

while(getchar()!='\n');

v[n].observacoes=0;

*v=b;

}

void guardarcomponentes(char*peca,comp v[], int n)

{

FILE*fq;

int i;

fq=fopen(peca,"w");

if(fq==NULL)

{

printf("Erro na gravacao do ficheiro");

exit(i);

}

for(i=0; i<n; i++)

fprintf(fq,"%s;%s;%s;%d\n",v[n].componente,&v[n].quantidade,v.observacoes);

fclose(fq);

return;

}

Está constantemente a dar-me erros e estou a ter imensa dificuldade nos parâmetros de adicionar um componente, vender um componente e procurar o mesmo.

Será que me podem ajudar ? Muito obrigado

Link para o comentário
Compartilhar em outros sites

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...