Search the Community
Showing results for tags 'vetores arrays'.
-
Estou aqui com uma dúvida que não estou a conseguir ultrapassar e já tentei de várias maneiras. Estou a fazer um programa que entre outras coisas o utilizador tem que inserir dados sobre um produto em que o número de série tem que ser único e do tipo char. Ou seja é introduzida uma string e tenho que verificar se essa string já existe na estrutura de vetores. O que está a acontecer é que quando introduzo o número de série do 1º produto o programadiz que já existe um produto com esse numero de série apesar de ser o 1º que estou a registar. Eis o código que tenho: #include <stdio.h> #include <stdlib.h> typedef struct { char numeroserie; char descricao; float preço; } stProduto; /********************** Funcoes dos produtos *************************/ void inserirProduto(stProduto produtos[], int *contadorProdutos); int procurarNumeroserie(stProduto produtos[], int contadorProdutos, char produtoAProcurar); int main() { stProduto produtos[500]; int contadorProdutos=0; inserirProduto(produtos,&contadorProdutos); return 0; } void inserirProduto(stProduto produtos[], int *contadorProdutos) { char string1; char posicao; do { printf("Introduza o numero de serie do produto:"); scanf("%s",&string1); posicao = procurarNumeroserie(produtos,*contadorProdutos, string1); if (posicao == 0) { printf("já existe um produto com esse numero de serie!!!\n"); } } while(posicao == 0); strcpy(produtos[*contadorProdutos].numeroserie,string1); (*contadorProdutos)++; } int procurarNumeroserie(stProduto produtos[], int contadorProdutos, char produtoAProcurar) { int i; char posicao; posicao = 0; for(i = 0 ; i < contadorProdutos ; i++) { if (strcmp(produtos[i].numeroserie, produtoAProcurar) == 0) { posicao=i; i=contadorProdutos; } } return posicao; } Alguém me pode ajudar por favor!! É que já estou a ficar desesperado. Desde já o meu obrigado.