структур Добрый день,Найти, если строка существует в векторе
Я здесь с сомнением, что я не в состоянии преодолеть и я попробовал несколько способов. Я делаю программу, в которой, помимо прочего, пользователь должен вводить данные о продукте, где серийный номер должен быть уникальным и иметь тип char. Что происходит, когда я печатаю серийный номер 1-го продукта, программа возвращает это уже продукт с этим серийным номером, несмотря на то, что он является первым.
Вот код, у меня есть:
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char numeroserie;
char descricao;
float preco;
} 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("Ja 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;
}
Кто-то помогите пожалуйста !! я уже получаю разочарование.
Благодаря
Но как я преобразую свой код, чтобы делать правильную вещь !!!! – BRBL
Это требует работы, я могу это сделать, если вы заплатите мне 20 $ paypal. –
Пожалуйста, помогите мне! У меня нет таких денег ..... – BRBL