ralmeidasantos Posted March 10, 2012 Report Share Posted March 10, 2012 boas pessoas estou com um problema em desenvolver um programa que consta em implementar uma base de dados, que terá a capacidade de: - guardar dados de uma nova pessoa: • Nome (40 caracteres) • Morada (60 caracteres) • Localidade (25caracteres) • Codigo_p (8 caracteres) • Num_tel (9 caracteres) - ler os dados de e mostrá-los um a um. e tenho que usar um menu todas as pessoas guardadas em disco MENU N – Introduz dados duma nova pessoa L – Lista dados de todas as pessoas S - Sair ja tenho o seguinte codigo: #include <stdio.h> #include <stlib.h> var globais char opc; function introduzirdados() funtion menu() printf("\nmenu\n\n"); printf("N – introduz dados duma nova pessoa"); printf("L – lista dados de todas as pessoas"); printf("S-sair"); printf("qual a opcao?"); scanf("%c"&opc); switch (opc) { case 'n': case 'N':introduzdados; case 'l': case 'L':listados; case 's': case 'S':exit(1); default printf("ERRO!"); } while (opc!='N') or (opc!='n'); funtion listados() int main () { file*f; fclose(f); }//end_main() Edit: titulo modificado (pmg) HTML Master The programs change the world Link to comment Share on other sites More sharing options...
pmg Posted March 10, 2012 Report Share Posted March 10, 2012 Compila o teu codigo com o maximo de warnings possivel -- depois tenta eliminar os warnings (e erros!). Se a tua dificuldade for n o uso duma instrucao especifica, mete a tua duvida especifica. O teu programa acima esta cheio de erros. Sugiro que voltes ao "hello world" antes de te meteres em base de dados. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
ralmeidasantos Posted March 10, 2012 Author Report Share Posted March 10, 2012 a minha duvida é o que meto no function introduzirdados() e no function listados() ? nao esotu mesmoa ver, HTML Master The programs change the world Link to comment Share on other sites More sharing options...
pmg Posted March 10, 2012 Report Share Posted March 10, 2012 Em introduzirdados() deves ter maneira de pedir informacoes ao utilizador e acrescentar essas mesmas informacoes ao ficheiro de dados. Sugiro fgets(), possivelmente seguido de sscanf() ou strtol. Em listados() deves apresentar os dados existemtes no ficheiro. Sugiro o printf(). Outra sugestao: em vez de abrires o ficheiro na funcao main(), abre-o (e fecha-o) para "appending" ou leitura dependendo das necessidades em cada uma das funcoes. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
ralmeidasantos Posted March 12, 2012 Author Report Share Posted March 12, 2012 boas como introduzio so dados no ficheiro? ? HTML Master The programs change the world Link to comment Share on other sites More sharing options...
PT-Team Posted March 13, 2012 Report Share Posted March 13, 2012 Olá. O código que apresentaste contem vários erros. O segundo #include está a chamar uma biblioteca que não existe. As funções introduzirdados(), menu() e listados() estão mal definidas. A variável opc não necessita de ser global. Link to comment Share on other sites More sharing options...
apmt Posted March 13, 2012 Report Share Posted March 13, 2012 Nao sei se a ideia era so 'ilustrar' o que tinhas feito, mas se não foi isso, este código está com alguns erros. Os mais 'graves' acabam por ser as chavetas das funções e o #include<stdlib.h> (falta um d), mas acabam também por ser os mais fáceis de resolver. Acho que o melhor, neste caso, é mesmo por a função menu a funcionar(chavetas e chamada no main), e depois ires ler alguns exemplos de código para tentar resolver isso. Link to comment Share on other sites More sharing options...
Dr_Lion Posted March 13, 2012 Report Share Posted March 13, 2012 Ao que já disseram, sugeria que abrisses o ficheiro e fechasses cada vez que fazes uma operação de leitura, ou escrita (acrescentar dados) no ficheiro. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 13, 2012 Report Share Posted March 13, 2012 Ao que já disseram, sugeria que abrisses o ficheiro e fechasses cada vez que fazes uma operação de leitura, ou escrita (acrescentar dados) no ficheiro. muito pelo contrário ... os dados deveram estar em memoria e so gravados a pedido ou quando o programa fecha. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
ralmeidasantos Posted March 14, 2012 Author Report Share Posted March 14, 2012 essa parte do programa é a que ja tenho, eu nao sei como fazer o resto para dar o resultado que quero. HTML Master The programs change the world Link to comment Share on other sites More sharing options...
ralmeidasantos Posted March 18, 2012 Author Report Share Posted March 18, 2012 se alguém me puder dar uma mãozinha a completar o programa. obrigado HTML Master The programs change the world Link to comment Share on other sites More sharing options...
pmg Posted March 18, 2012 Report Share Posted March 18, 2012 A função fprintf() serve para escrever para ficheiros. Usa-a no teu programa. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
ralmeidasantos Posted March 18, 2012 Author Report Share Posted March 18, 2012 no introduzirdados? mas escreve num ficheiro como ainda nao tenho nenhum fichero externo criado HTML Master The programs change the world Link to comment Share on other sites More sharing options...
Dr_Lion Posted March 20, 2012 Report Share Posted March 20, 2012 Se o teu problema é criares o ficheiro.. FILE *file_pointer; ... file_pointer = fopen("nome_ficheiro.txt", "r"); ... fclose(file_pointer); De qualquer forma: http://lmgtfy.com/?q=fopen+c Link to comment Share on other sites More sharing options...
pmg Posted March 20, 2012 Report Share Posted March 20, 2012 Se o teu problema é criares o ficheiro.. FILE *file_pointer; ... file_pointer = fopen("nome_ficheiro.txt", "r"); Oops ... o modo "r" (ou ate o modo "r+") nao criam ficheiros. Se o ficheiro nao existir o fopen devolve NULL. Para criar um ficheiro usa modo "w", "w+", "a", "a+" (possivelmente com um 'b' para modo binario em Windows). What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now