Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
dododo

Problema iniciante

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×