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

Ler E Gravar


Pirituba

Pergunta

Salve

Estou fazendo um programa que trabalha com um conjunto de dados digitados pelo usuário, eu recebo os dados da seguinte maneira...

printf("\nNome: ");

scanf("%s",lista.nome);

printf("\nTelefone: ");

scanf("%s",lista.telefone);

printf("\nStatus: ");

scanf("%s",lista.status);

O problema é que o na execução o programa pula itens, tipo:

Nome: Telefone:

não permitindo que o usuário digite o nome no exemplo acima:

Como eu faço pra corrigir esse erro

valeu galera

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Se tratando de vetor o & não é opcional?

mesmo colocando o & ele continua pulando! Não entendo porque?

sim, voce tem razão.

pra saber o porque ele continua pulando, só com todo código

posta ai pra gente

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Eu agradeço pela ajuda cara, mas o programa é muito extenso e fora esse problema agora eu estou tendo outros, o meu trabalho é o seguinte deveria fazer uma lista ordenada estatica, onde o campo chave teria seis digitos, entaum eu fiz o seguinte: fiz toda lógica utilizando apenas essa chave e estava tudo funcionando, inserção, remoção, listagem dos registros, ai entaum fui colocar os outros campos e esta dando aquele problema, fora aquele o listar também imprime mais do que deveria e não sei porque, você saberia dizer porque problemas desse tipo acontecem? para apenas o campo chave dá tudo certinho, e com os outros campos acontecem esses problemas....será que seria melhor eu recomeçar utilizando todos os campos e fazendo os testes necessários para não ter surpresas como estas?....eu acho que o programa é muito extenso pra postar se você puder me ajudar com as perguntas e dar algumas dicas eu já estarei muito satisfeito porque o pequeno problema se tornou enorme, valeu pela ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

bom, sem o código fica realmente difícil

mas as dicas para resolver esses erros bobos são:

- Tomar muito cuidado com a variável de indexação, no seu exemplo: lista.alguma_coisa

- Tomar muito cuidado na construção da sua estrutura.

- Tomar muito cuidado no encadeamento de lista, o ultimo registro deve apontar para NULL.

- Quando percorrer a lista, seja para inserir, imprimir, etc.., sempre lembrar que o ultimo registro aponta pra NULL.

coisas assim

voce poderia no minimo postar sua estrutura aqui "struct"

o que seria esse campo chave de 6 digitos?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu consegui resolver o problema com os dados...só tem agora o problema de pular, mas o estranho é que esse problema só acontece com a primeira inserção vou postaro codigo...não estou usando ponteiros pois o trabalho e de alocação estatica o struct e o procedimento são os seguintes

struct registro{

float chave;

char nome[40];

char telefone[20];

char status[2];

};

void inserir(struct registro *lista){

int i,parar,posicao;

float chave_teste;

struct registro dados;

printf("Digite a chave que deseja inserir:");

scanf("%f",&chave_teste);

if(testa_chave(chave_teste)){

if(testa_cheio(lista)){

if(!lista_vazia(lista)){

lista[0].chave=chave_teste;

//o problema esta ocorrendo nessas inserções

printf("\nNome: ");

scanf("%s",lista[0].nome);

printf("\nTelefone: ");

scanf("%s",lista[0].telefone);

printf("\nStatus: ");

scanf("%s",lista[0].status);

}else{

if(!buscar(lista,chave_teste,&posicao)){

dados.chave=chave_teste;

printf("\nNome: ");

scanf("%s",dados.nome);

printf("\nTelefone: ");

scanf("%s",dados.telefone);

printf("\nStatus: ");

scanf("%s",dados.status);

atualizar_lista(lista,dados);

}else printf("A chave digitada já existe!\n");

}

}else printf("não e possivel inserir novas reservas lista cheia!\n");

}else printf("A chave digitada não e valida!\n");

system("pause");

}

valeu a ajuda(obs. no campo status tenho que fazer ainda uma função para verificar se o que o usuário digitar é igual a BE BS ou CN se não tenho que fazer um looping e força-lo a entrar com um status válido)

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...