1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[ajuda] C++

Discussão em 'Programação' iniciada por _tino_, 10 de Fevereiro de 2009. (Respostas: 1; Visualizações: 445)

  1. _tino_

    _tino_ Power Member

    O seguinte programa devia dar para :
    introduzir dados e gravar num ficheiro .txt
    ler os dados
    e fazer pesquiza...
    mas depois de introduzir dados, nao consigo ler :S
    e depois ao reabrir tb nao consigo inserir...
    Código:
    #include <iostream>
    #include <fstream>
    #include<iomanip>
    using namespace std;
    int inserirdados();
    int lerdados();
    int procurar();
    int sair();
    int main ()
    {
        int escolha;    
            cout<<"                                             \n";
            cout<<"1)inserir dados              \n";
            cout<<"2)ler dados                  \n";
            cout<<"3)procurar                   \n";
            cout<<"                                       \n";
            cout<<"0)sair                    \n";
            
        cin>>escolha;
        switch (escolha) 
        {
        case 1:
            inserirdados(); 
            break; 
        case 2:
            lerdados();
            break;
        case 3:
            procurar();
            break;
                
        case 0:
            system("exit 1");
        }
            return 0;
    }
    int inserirdados()
    {
        
        char nome[200];
        char mail[200];
        int nota,contacto,n;
        fstream listar ("test.txt", ios::app);
        cout<<"nome\n";
        cin>>nome;
        cout<<"numero\n";
        cin>>n;
        cout<<"nota de bp\n";
        cin>>nota;
        cout<<"mail\n";
        cin>>mail;
        cout<<"contacto\n";
        cin>>contacto;
        listar<<nome<<setw(28);
        listar<<n<<setw(5);
        listar<<nota<<setw(5);
        listar<<mail<<setw(28);
        listar<<contacto<<endl;
        system("pause");
        main();
        return 0;
    }
    int lerdados()
    {
        char nome[200];
        char mail[200];
        int nota,contacto,n;
        ifstream ler("test.txt");
        do
            {
                ler>>nome>>n>>nota>>mail>>contacto;
                cout<<left<<setw(28)<<nome;
                cout<<left<<setw(5)<<n;
                cout<<left<<setw(5)<<nota;
                cout<<left<<setw(28)<<mail;
                cout<<left<<contacto<<endl;
            }while(!ler.eof());
    return 0;
    }
    
    int procurar()
    {
        int num;
        char nome[200];
        char mail[200];
        int nota,contacto,n;
        ifstream ler("test.txt");
        cout<<"numero a pesquisar";
        cin>>num;
            do
            {
                ler>>nome>>n>>nota>>mail>>contacto;
                if(num==n)
                {
                cout<<left<<setw(28)<<nome;
                cout<<left<<setw(5)<<n;
                cout<<left<<setw(5)<<nota;
                cout<<left<<setw(28)<<mail;
                cout<<left<<contacto<<endl;
                }
            }while(!ler.eof());
            return 0;
    }
     




    Agradeço ajuda :S
     
    Última edição pelo moderador: 11 de Fevereiro de 2009
  2. M.cnf

    M.cnf Power Member

    Assim à primeira vista falta-te abrir e fechar o ficheiro de forma correcta, algo assim. Criares uma função para o display do menu também não ficava mal, escusavas de chamar o main() de forma recursiva...

    Cumps
     

Partilhar esta Página