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.
Question
satbr
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:
Alguém me pode ajudar por favor!! É que já estou a ficar desesperado.
Desde já o meu obrigado.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.