0
I’m trying to make a C program that can not only validate the entire code of a registered product, but a certain sequence in any part of the product number. I mean, I want if the product code is 1798076, and I just type in fragment 876, it’s worth it anyway. below is what I’ve achieved so far, but on the part of finishing the input and typing the "-1" to get out it no longer feels very right....
#include <stdio.h>
int main(){
int codigo_do_biscoito[6] = {1,7,9,5,5,7};
int codigo_do_pao[6]= {1,7,9,5,0,0};
int codigo_do_suco[6]={1,7,9,6,5,0};
int tam_caixa = 0, id_switch; /* 1(biscoito), 2(pão) , 3(suco)*/
int codigo_caixa[6];
printf("Bem vindo ao caixa!\n");
printf("Digite, numero por numero do final do codigo de barras ou do mesmo inteiro(quando acabar Digite '-1'):\n");
for (int i = 0; i < 6; i++) {
do{
scanf("%i", &codigo_caixa[i]);
getchar();
tam_caixa +=1;
}while(codigo_caixa[i] > -1);
}
for(int indice = 0; indice < 3; indice++){
for(int c = tam_caixa + 1; c > 6; c++){
if(codigo_do_biscoito[c] == codigo_caixa[c]) {
id_switch = 1;
}else{
c -= 1;
if(codigo_do_pao[c] == codigo_caixa[c]) {
id_switch = 2;
}else{
c -= 1;
if(codigo_do_suco[c] == codigo_caixa[c]) {
id_switch = 3;
} else{
c -= 1;
}
}
}
}
}
switch (id_switch) {
case 1: printf("Produto : Biscoito. | codigo de barras numero: %i", codigo_do_biscoito); break;
case 2: printf("Produto : Biscoito. | codigo de barras numero: %i", codigo_do_pao); break;
case 3: printf("Produto : Biscoito. | codigo de barras numero: %i", codigo_do_suco); break;
}
}