David Fernandes Posted May 9, 2017 at 05:22 PM Report Share #604084 Posted May 9, 2017 at 05:22 PM Boa tarde. Encontro-me a realizar um trabalho para a faculdade em que consiste no desenvolvimento de um sistema de controlo de um supermercado. A linguagem utilizada é C. Acontece que uma (das várias) funcionalidades pretendidas com este trabalho, é a remoção de um produto x de um ficheiro. E após compilar e executar o programa obtenho o seguinte erro: "Falha de segmentação". Muito obrigado a quem poder ajudar. DF void del_prod(produto prod[], int a) { //função para eliminar um produto FILE *fx; FILE *ft; fx=fopen(FX,"r"); ft=fopen(FT,"w"); int i, comp; char temp[50], x[50], s[50]; printf("Indique o código do produto que quer eliminar: \n"); scanf("%s", s); while((fgets(temp, 51, fx))!=NULL) { for(i=0; temp[i]!=";"; i++) { x[i]=temp[i]; } comp=strcmp(x,s); if(comp!=0) { fputs(temp, ft); } x[0] = '\0'; } fclose(fx); fclose(ft); remove("supermercado.txt"); rename("temporario.txt", "supermercado.txt"); } Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted May 9, 2017 at 09:10 PM Report Share #604089 Posted May 9, 2017 at 09:10 PM existem várias coisas ai que poderia apontar, mas vou deixar para tu descubrires ... agor ano que toca ao problema descrito, faz este teste: depois de "escreveres" no array "x", faz um print da string e vê o que aparece 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
David Fernandes Posted May 9, 2017 at 09:45 PM Author Report Share #604092 Posted May 9, 2017 at 09:45 PM 28 minutos atrás, HappyHippyHippo disse: existem várias coisas ai que poderia apontar, mas vou deixar para tu descubrires ... agor ano que toca ao problema descrito, faz este teste: depois de "escreveres" no array "x", faz um print da string e vê o que aparece Já consegui tratar desse problema. Obrigado por a disponibilidade. Estou agora é retido na "modificação do produto". Ou seja, na edição de uma porção do ficheiro. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted May 9, 2017 at 10:30 PM Report Share #604094 Posted May 9, 2017 at 10:30 PM e qual é a dúvida ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
David Fernandes Posted May 9, 2017 at 10:42 PM Author Report Share #604097 Posted May 9, 2017 at 10:42 PM 4 minutos atrás, HappyHippyHippo disse: e qual é a dúvida ? Ora bem. Após os produtos serem adicionados no ficheiro ficará alguma coisa do género: "222;batatas;8;3;5" (Isto claro foi um exemplo) cada valor corresponde: código do produto, descrição, quantidade, custo de compra (unidade) e preço de venda (unidade) respetivamente. A função para modificar o produto deve pedir ao utilizador o código do produto e imediatamente a seguir ser possível alterar os últimos 3 dados. Segue-se o meu código(incompleto): void mod_produto(produto prod[], int a) { //função para alterar um produto no stock FILE *fx; fx=fopen(FX,"a+"); int i, comp, cont=0, pos; char s[50], temp[100], x[50]; printf("Indique o código do produto que quer alterar: \n"); scanf("%s", s); //DÚVIDA printf("Nova Quantidade: \n"); scanf(); printf("Novo Custo de compra (unidade): \n"); scanf(); printf("Novo Preço de venda (unidade): \n"); scanf(); } } } fclose(fx); } Obrigado. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted May 9, 2017 at 11:07 PM Report Share #604100 Posted May 9, 2017 at 11:07 PM não vi um único ponto de interrogação neste post ? existe alguma dúvida ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
David Fernandes Posted May 9, 2017 at 11:14 PM Author Report Share #604101 Posted May 9, 2017 at 11:14 PM 2 minutos atrás, HappyHippyHippo disse: não vi um único ponto de interrogação neste post ? existe alguma dúvida ? A dúvida é em editar um ficheiro...Não consigo ser mais claro que isto... Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted May 9, 2017 at 11:17 PM Report Share #604102 Posted May 9, 2017 at 11:17 PM fizeste ler e apagar, nao estou a ver a duvida... mesmo sabendo que a maneira que apresentaste anteriormente tem problemas, ao editar pode ser resolvida da mesma maneira 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now