Olá senhores (a), estou com um problema para receber string, já pesquisei em todos os lugares, usei puts, gets, etc, e dá sempre o mesmo erro, quando chega no menu de cadastro, ele pula as opções que recebe string. segue o código:
#include <stdio.h>
#define MAX 999
void cadastro();
int opcao;
char nomeproduto[MAX][90], modelo [MAX][90], marca[MAX][90];
int ano[MAX], estoque[MAX][MAX];
float preco[MAX];
int main (){
do {
printf("\n\n\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²²² Odebrech Equipamentos ²²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²²²²²²² MENU ²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²² ²²²\n");
printf("\t\t²²² 1- Cadastrar produto ²²²\n");
printf("\t\t²²² 2- Listar todas os produtos ²²²\n");
printf("\t\t²²² 3- Buscar produto ²²²\n");
printf("\t\t²²² 4- Editar dados do produto ²²²\n");
printf("\t\t²²² 5- Excuir produto ²²²\n");
printf("\t\t²²² 6- Função compra/venda ²²²\n");
printf("\t\t²²² 7- Sair ²²²\n");
printf("\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²² INFORME A OPCAO ²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²² OPCAO ²²²: ");
scanf ("%i", &opcao);
switch (opcao){
case 1:
cadastro();
break;
default:
printf ("\n Opção Inválida! Tente novamente\n");
break;
}} while (opcao !=4);
}
void cadastro(){
int linha=0;
printf("\n\n\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²² CADASTRO DE PRODUTO ²²²²²²²²²²²²\n");
printf("\t\t²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
printf ("Digite o nome do produto: ");
scanf ("%[^\n]", nomeproduto[linha])
printf ("\nDigite a marca do produto: ");
scanf ("%[^\n]", marca[linha]);
printf ("\nDigite o Modelo do produto: ");
scanf ("%[^\n]", modelo[linha]);
printf ("\nDigite o ano de fabricação: ");
scanf ("%i", &ano[linha]);
printf ("\nDigite a quantidade no estoque: ");
scanf ("%i", &estoque[linha]);
printf ("\nDigite o preco: ");
scanf ("%f", &preco[linha]);
linha++;
}