Ir para conteúdo
Fórum Script Brasil

Pirituba

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Tudo que Pirituba postou

  1. beleza galera, é o seguinte: Estou fazendo uma lista encadeada, mas toh com o seguinte problema quando faço o inserir dentro da minha função main ele roda normal e parece que a inserção vai rolar sem problemas, mas quando faço uma função para fazer isso é como se a o ponteiro lista sempre apontasse pra NULL...o codigo está assim #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct dados{ float chave; char nome[40]; char telefone[20]; char status[3]; struct dados *prox; }registro; void nova_lista(registro *lista); void inserir(registro *lista); int lista_vazia(registro *lista); int testa_chave(float teste); registro *lista; int main(void){ int menu; do{ do{ system("cls"); puts("[1]Inicializa uma nova lista."); puts("[2]Busca e imprime registro de reserva."); puts("[3]Insercao de nova reserva."); puts("[4]Remocao de reserva."); puts("[5]Listar todas as reservas cadastradas."); puts("[6]Listar todas as reservas com status em comum."); puts("[7]Sair."); scanf("%d",&menu); switch(menu){ case 1 : nova_lista(lista); printf("\nUma nova lista foi criada!\n"); system("pause"); break; case 2 : break; case 3 : inserir(lista); break; case 4 : break; case 5 : break; case 6 : break; case 7 : return(0); } }while(menu<1 || menu>7); }while(menu>0 && menu<8); } void inserir(registro *lista){ if(lista==NULL){ puts("nulo!"); lista=(registro*)malloc(sizeof(registro)); lista->chave=1000; lista->prox=NULL; }else{ puts(" não nulo!"); //o problema aqui é que sempre que chama-se a função inserir o valor de lista é NULL //mesmo depois da primeira alteração, quando faço essa rotina no main isso não acontece...porque? //será que o problema está na passagem dos parametros } } void nova_lista(registro *lista){ lista=NULL; } int lista_vazia(registro *lista){ if(lista==NULL)return(1); else return(0); } int testa_chave(float teste){ if(teste>0 && teste<1000000)return(1); else return(0); } :D valeu pela força...abraços
  2. Pirituba

    Dúvidas Básicas

    Salve Lutero.... coloca getchar(); no lugar de getch(); que vai rolar firmeza... abraço
  3. Salve malandro Entaum tem essa forma aqui você faz uma variável parar que receberá zero caso ele erre e assim o resto das perguntas não serão feitas...tem outras formas também, mas caso essa sirva está ih falow #include <stdio.h> #include <stdlib.h> int main(void){ char Ch; int parar; parar=1; if(parar){ printf ("\n Quel é o atual Presidente da Republica?\n 'A' - Luiz Inacio Lula da Silva\n 'B' - Jose Serra\n 'C' - Fernando Henrique Cardoso\n"); printf("Qual seria a alternativa correta?\n"); scanf ("%c",&Ch); if (Ch=='A'){ printf ("Parabens voce acertou e passou para proxima fase "); getchar();} else{ printf("Opa, voce errou \t fim de jogo\n"); parar=0; } } if(parar){ printf ("\n Qual sera proximo Presidente da Republica?\n 'A' - Luiz Inacio Lula da Silva\n 'B' - Jose Serra\n 'C' - Fernando Henrique Cardoso\n"); printf("Qual seria a alternativa correta?\n"); scanf ("%c",&Ch); if (Ch=='A'){ printf ("Parabens voce acertou e passou para proxima fase "); getchar();} else{ printf("Opa, voce errou \t fim de jogo\n"); parar=0; } } system("pause"); return 0; }
  4. Pirituba

    Ler E Gravar

    Salve Eu tinha esquecido de colocar & para continuar as inserções, mas já corrige, e o mais estranho e que o erro acontece também para essas inserções, só que ele acontece as vezes, aleatoriamente....???? Obrigado pela ajuda
  5. Pirituba

    Ler E Gravar

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

    Ler E Gravar

    Se tratando de vetor o & não é opcional? mesmo colocando o & ele continua pulando! Não entendo porque? valeu cara, sou iniciante em programação e obrigado pela ajuda
  7. Pirituba

    Ler E Gravar

    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
×
×
  • Criar Novo...