Ir para conteúdo
Fórum Script Brasil
  • 0

Quando Vai Executar Scanf Fecha O Programa


Guest Fioravante

Pergunta

Guest Fioravante

blink.gif estou fazendo esse programa de cadastro de produtos e não consigo resolver o problema do scanf quando vai ler o a variavel do tipo float fecha o programa.

Por favor se alguém tiver alguma dica eu fico muito grato. biggrin.gif Obrigado

o cod é esse:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<dos.h>

struct tabela{

int cod,i;

char nome[20],fornec[40];

float prec;//(essa varial que esta dando o problema)

}produtos[50];

inclusao();

consulta();

listagem();

menu();

int gravai=0;//variavel universal que esta na funۂO inclusao

void main(){

menu();

} //main

inclusao(){

int i, contlin;

char voltamenu;

for(i=gravai,contlin=1;i<50; i++,contlin++){

if(contlin==4){

contlin=1;

clrscr();

gotoxy(30,2);

printf("_InclusÆo_\n");

}

printf("\nCodigo do produto : %.3i\n ",i+1);

printf("Nome : ");

fflush(stdin);

scanf("%s",&produtos.nome);

printf("Fornecedor : ");

fflush(stdin);

scanf("%s",&produtos.fornec);

printf("Pre‡o de venda : ");

fflush(stdin);

scanf("%f",&produtos.prec);//(a leitura é aqui neste ponto o programa fecha)

printf("%s",produtos.fornec);

printf("Deseja voltar para o menu ?S/N : ");

fflush(stdin);

scanf("%c",&voltamenu);

voltamenu=toupper(voltamenu);

if((voltamenu=='S')||(gravai==49)){

gravai=i+1; //quando volta no menu nÆo perde o cod do proximo

menu(); }

}//for

}//fecha inclusÆo

menu(){

int l,c;

char opc=0;

do{

clrscr();

gotoxy(30,2);

printf("Cadastro de produtos");

for(c=28;c<51;c++){

gotoxy(c,7);

printf("Í");

gotoxy(c,12);

printf("Í");

gotoxy(c,3);

printf("Í");}

gotoxy(27,7);

printf("É");

gotoxy(50,7);

printf("»");

gotoxy(27,12);

printf("È");

gotoxy(50,12);

printf("¼");

for(l=8;l<12;l++){

gotoxy(27,l);

printf("º");

gotoxy(50,l);

printf("º"); }

gotoxy(30,6);

printf("Op‡äes :");

gotoxy(30,8);

if(gravai<50) //quando for o cadastro de n§50 desabilita a inclusÆo

printf("1. InclusÆo ");

gotoxy(30,9);

printf("2. Consulta ");

gotoxy(30,10);

printf("3. Listagem ");

gotoxy(30,11);

printf("4. Sair\n\n");

printf("\n\nDigite a sua op‡ao: ");

fflush(stdin);

scanf("%c",&opc);

if((opc!='1')&&(opc!='2')&&(opc!='3')&&(opc!='4')){ printf("\n\a\a Op‡Æo invalida !!"); delay(2000);}

}//do

while((opc!='1')&&(opc!='2')&&(opc!='3')&&(opc!='4') ) ;

switch (opc){

case'1':clrscr();

gotoxy(30,2);

if(gravai<50){

printf("_InclusÆo_\n");

inclusao();}

else{

gotoxy(10,10);

printf("Aten‡Æo:\a nÆo ‚ possivel gravar mais nenhum cadastro");

delay(2000);

menu();}

getch();//para teste de tela

break;

case'2':clrscr();

gotoxy(30,2);

printf("Consulta");

getch();//para teste de tela

break;

case'3': clrscr();

gotoxy(30,2);

printf("Listagem");

getch();//para teste

break;

case'4': abort();

}

}//fecha fun‡Æo menu

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
dry.gif Obrigado pela ajuda de vocês ,mas resolvi sozinho.

Valeu

Mas um que não entende que a gente não é pago pra resolver, não é obrigado a resolver e muito menos temos que dar nossas vidas em descobrir o problema se não conseguimos de primeira...

Aiai mad.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...