Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105

    [C++] I/O su file...

    Salve a tutto il Forum,
    mi sono appena iscritto, dando un'occhiata in giro per le altre discussioni
    ho notato un'alto livello di preparazione dei membri del Forum stesso...
    Appunto per questo ho deciso di far parte anch'io di questo forum sperando
    di imparare molto da voi esperti...

    Arrivo alla richiesta...Ho creato una rubrica telefonoca(Dev C++), volevo un
    consiglio su come poter identificare i contatti che vengono memorizzati nel
    file "rubrica.txt"..
    ..ecco come viene memorizzato ogni singolo contatto:
    ---------------------------------------------------------------------------

    void aggiungi::addfile(char nomex[], char cognomex[], char telefonox[],
    char cellularex[], char emailx[], char indirizzox[], char notex[])
    {

    ofstream out;
    out.open ("Rubrica.txt", ios::app);
    ifstream in;
    in.open("Variabile.txt", ios::in);
    int i;
    in >> i;

    out << "Contatto: "<< i + 1 <<"\n";
    ofstream opn;
    opn.open("Variabile.txt", ios:ut);
    opn << i + 1;

    out << "-----------------------------------\n"
    "Nome: " << nomex << "\n"
    "Cognome: " << cognomex << "\n"
    "Telefono: " << telefonox << "\n"
    "Cellulare: " << cellularex << "\n"
    "E-mail: " << emailx << "\n"
    "Indirizzo: " << indirizzox << "\n"
    "Note: " << notex << "\n"
    "-----------------------------------\n";
    opn.close();
    in.close();
    out.close();
    }

    --------------------------------------------------------------------------

    Ho bisogno di identificare i contatti perchè nel menu del programmino vorrei inserire
    la voce "Modifica contatto" e anche "Rimuovi Contatto"...
    Accento anche qualche altro sistema...
    Grazie Anticipatamente

    Saluti Satore11

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Benvenuto.

    Come primo consiglio ti riporto alla lettura del regolamento che è obbligatoria ed indispensabile, e all'uso dei tag code o php per postare il codice..

    Cosa intendi per "identificare i contatti"?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105
    Ciao e Grazie...Ho letto il regolamento appena adesso dopo aver postato il primo messagio
    (dovevo fare al contrario, loso!!)...
    Comunque...
    In base al codice scritto, il programma salva i singoli contatti in un unico file(li stampa
    su file secondo l'ordine prima postato)
    ma come faccio a modificare, per esempio, il
    secondo contatto?
    Oppure a cancellare il 4?
    Non riesco a trovare una soluzione a questo mio
    problema...nel forum si parla di seekg, getline(), ma non riesco ad utilizzarli per questo uso
    specifico...
    Spero di essere stato chiaro nell'esporre il problema.
    Grazie Anticipatamente

    Saluti Satore11


    NOTE:Avrete notato la mia ignoranza nell'argomento, sono ancora fresco di programmazione,
    autodidatta per lavoro e passione, è da circa un mese che pratico questa meravigliosa arte.

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Ti consiglio di affiancarti un buon libro.. gli autodidatti in programmazione sono poco produttivi..

    Cmq, per quello che intendi fare, e sconsigliabile un file di testo.. meglio un database..

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105
    Si certo, studio anche da libri e manuali, però non riesco a trovare una funzione
    che si adatti all'utilizzo nel mio programma...

    Tu parli di database...
    Ti secca spiegarti meglio??
    Grazie Anticipatamente

    Saluti Satore11

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    L'utilizzo di file di testo per immagazzinare dati complessi è molto scomodo
    Se utilizzi un db tipo mysql o access per esempio che sono semplici da mantenere ti semplifica la vita.. usi comandi sql per scrivere e prelevare dati e non ti devi preoccupare di come vengono organizzati..

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105
    Si ho appena letto una spiegazione veloce dei database,
    Forse chiedo troppo,...ma potresti indicarmi una guida all'utilizzo dei database?!
    razie a tutti per la disponibilità...
    ("Quindi se decido di utilizzare il database al posto del file .txt, dovrò riscrivere il
    codice!!!...Perchè da quello che sono riuscito a intuire dalla spiegazione che ho appena letto, il database, si utilizza con comandi specifici, cmq...non è un problema!...")
    Forum Grandioso!!!
    Grazie Anticipatamente

    Saluti Satore11

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    105
    Eccomi dinuovo qua...
    Ho fatto una ricerca stressante e lunga per trovare un soluzione al mio stesso problema...
    Posso dire di aver risolto (in parte) il problema posto questa mattina...
    in pratica sbagliavo nel scrivere su file in questo modo:
    codice:
    out << "-----------------------------------\n"
    "Nome: " << nomex << "\n"
    "Cognome: " << cognomex << "\n"
    "Telefono: " << telefonox << "\n"
    "Cellulare: " << cellularex << "\n"
    "E-mail: " << emailx << "\n"
    "Indirizzo: " << indirizzox << "\n"
    "Note: " << notex << "\n"
    "-----------------------------------\n";
    Ho dedotto che, memorizando i dati in questa maniera:
    codice:
    ofstream scrivi;
        scrivi.open("prova4.txt", ios::out);
        system("PAUSE");
        scrivi << nomex << "," << xognomex << "," << telefonox << "," << cellularex; \\eccetera
    ...ogni riga del file conterrà un contatto, mentre una riga conterrà tutti i dati riguardanti
    il contatto stesso(Utilizzando un "Separatore" ',' ...)...
    ...
    Ecco il mio problema...dopo aver memorizzato i dati(riga per riga), come faccio a stamparli
    a video?
    Si dovrebbe usare un'istruzione che ti legge un'intera riga e ad ogni ',' memorizza
    i dati in variabili diverse.
    esempio:
    prima virgola:
    cin >> nomex(come da codice).
    seconda virgola:
    cinn >> cognomex;
    etc...

    avrei ipotizzato un mezzo codice ma da completare...
    codice:
    ...
    char memoria[99999];
    ifstream leggi;
    leggi.open("File.txt", ios::in);
    
    while (!leggi.eof()){                    \\qui dovrei inserire un ?ciclo for?
               leggi.getline(file, 99999);  \\però non riesco...
               cout << file << "\n";
               }
    Non so se ho chiarito il mio dubbio
    Attendo risposta.
    Grazie Anticipatamente

    Saluti Satore11

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.