Bom, pelo que testei aqui no meu computador. Troquei todos os que preços pelo preço [sem cedilha] e funcionou. /*
crie uma estrutura produtos com os segintes campos
codigo
nome-produto
descricao
quantidade
preço
faça um proframa com as seguinte funcionabilidades:
cadastrar produtos
listar produtos
localizar produtos por codigos
localizar produtos por nome
*/
# include <stdlib.h>
# include <stdio.h>
# include <string.h>
main (){
int escolha,n,i,status=0,bc=0;
struct {
int cod;
char nome[50];
char desc[50];
int quant;
float preço;
char bn[50];
}cadas[n];
do {
printf("\n\t\t\t+--------------------------------+");
printf("\n\t\t\t| MENU |");
printf("\n\t\t\t+--------------------------------+");
printf("\n\t\t\t|1- CADASTRAR PRODUTOS |");
printf("\n\t\t\t|2- LISTAR PRODUTOS |");
printf("\n\t\t\t|3- LOCALIZAR PRODUTOS POR CODIGO|");
printf("\n\t\t\t|4- LOCALIZAR PRODUTOS POR NOME |");
printf("\n\t\t\t|5- SAIR |");
printf("\n\t\t\t+--------------------------------+\n");
printf("\n\t\t\tOPCAO: ");
scanf("%d",&escolha);
system ("cls");
//------------------------------------------------------------
switch (escolha){
case 1:
printf("QUANTOS PRODUTOS A CADASTRAR: ");
scanf("%d",&n);
system("cls");
for (i=0;i<n;i++){// entrada de dados
printf("CODIGO : ");
scanf("%d",&cadas[i].cod);
printf("\nNOME: ");
fflush(stdin);
gets(cadas[i].nome);
printf("\nDESCRICAO: ");
fflush(stdin);
gets(cadas[i].desc);
printf("\nQUANTIDADE: ");
scanf("%d",&cadas[i].quant);
printf("\nPRECO: ");
scanf("%f",&cadas[i].preço);
system ("cls");
status=1;
}
break;
case 2://listar produtos
if(status>0){
for (i=0;i<n;i++){
printf ("CODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f \t",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);
printf("\n+-----------------------------------------------------------------------------+\n");
}//FECHA O FOR
}//FECHA IF
else
printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
break;
case 3://localizar produtos por cod
if(status>0){
system ("cls");
printf("Digite o CODIGO DO PRODUTO: ");
scanf("%d",&bc);
for(i=0;i<n;i++){
if (bc==cadas[i].cod)
printf ("\n\nCODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f\n\n\n\n",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);
else{
system("cls");
printf("\n\n\t!PRODUTO não ENCONTRADO!\n\n");
}
}//fecha for
}// fecha if
else
printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
break;
case 4://localizar produtos por nome
if(status>0){
system ("cls");
printf("Digite o NOME DO PRODUTO: ");
fflush(stdin);
gets(cadas[1].bn);
for(i=0;i<n;i++){
if (strcmp(cadas[1].bn,cadas[i].nome)==0)
printf ("\n\nCODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f\n\n\n\n",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);
else{
system("cls");
printf("\n\n\t!PRODUTO não ENCONTRADO!\n\n");
}
}//fecha for
}// fecha if
else
printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
break;
default:
printf("\n\n\n\t!OPCAO INVALIDA, POR FAVOR ENTRE COM UMA OPCAO VALIDA!\n\n\n");
}//FEHA SWITCH
}while (escolha != 5);
}