Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    153

    flow chart di un file [c++]

    ciao a tutti,
    mi è stato chiesto di fare un flow chart di questo programma:

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    #include <conio.h>
    using namespace std;
    struct modellosocio
    {
       char cognome[20];
       char localita[20];
       char codfiscale[20];
    };
    modellosocio socio;
    char *filemovi = "socio.dat";
    void inserisci()
    {
       char risposta[3];
          ofstream file1;
       file1.open(filemovi,  ios::app |ios::binary);
       if (!file1) 
       {
          file1.open(filemovi, ios::out | ios::binary);
          file1.close();
          cout << "nuovo archivio movimenti creato" << endl;
          getch();
       }
       cout << endl << "cognome:";
       cin >> socio.cognome;
       cout << endl << "localita:";
       cin >> socio.localita;
       cout << endl << "codice fiscale:";
       cin >> socio.codfiscale;
       file1.write( (char *)&socio, sizeof socio);
       cout << "socio aggiunto" << endl;
       getch();
       file1.close();
       }
    int visual()
    {
       ifstream file1;
       file1.clear();
       file1.open(filemovi, ios::in | ios::binary);
       if (!file1) 
       {
          cout << "Errore nell'apertura del file" << endl;
          getch();
          return 1;
       }
       cout << "soci:" << endl;
       while(file1.read((char *) &socio, sizeof socio)) 
       {
          cout << socio.cognome ;                     
          if (strcmp(socio.localita,"Torino") ==0)
          {
             cout << " :il socio  di nostra pertinenza -CF= " << socio.codfiscale << endl;
          }   
          else
          {
             cout << " il socio  non  di nostra pertinenza " << endl;
          }   
       }
       file1.close();
       getch();
       return 0;
       }
    int cerca()
    {
        char cogn[20];
         ifstream file1;
       file1.open(filemovi, ios::in | ios::binary);
       if (!file1) 
       {
          cout << "Errore nell'apertura del file" << endl;
          getch();
          return 1;
       }
       file1.clear();
       cout << endl << "cognome:";
       cin >> cogn;
       while(file1.read((char *) &socio, sizeof socio)) 
       {
          if (strcmp(socio.cognome,cogn)==0) 
          {cout << socio.cognome << " : ";
          cout << socio.localita << " : ";
          cout << socio.codfiscale << " : ";
             
             }   
             }
       file1.close();
          getch();
       return 0;
    }
    int main()
    {
       char scelta='z';
       while(scelta!='0')
       {
          system("CLS");
          cout << "Gestione soci" << endl;
          cout << endl;
          cout << "1. Aggiungi socio" << endl;
          cout << "2. Visualizza soci di Torino" << endl;
          cout << "3. cerca un socio" << endl;
          cout << "0. Fine" << endl;
          cout << endl;
          scelta = getch();
          switch (scelta)
          {
             case '1': { inserisci(); break; }
             case '2': { visual(); break; }
             case '3': { cerca(); break; }
          }
       }
       
       system("PAUSE");
       return EXIT_SUCCESS;
    }

    qualcuno mi saprebbe aiutare?? io non so neanche da dove incominciare.... grazie per la vostra disponibilità.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Questo non è un reale problema di programmazione, visto che il programma - si suppone - funziona correttamente.

    Inoltre, questo mezzo sarebbe poco adatto alla trasposizione del tipo di file richiesto, che è prettamente grafico.

    Secondo me, peraltro, è sempre meglio fornire uno spunto tentando di lavorare al problema, partendo con la risoluzione e chiedendo di commentare o di ispezionare il lavoro per verificare un difetto o un ostacolo al suo completamento; questo significa che se non sei in grado di iniziare, probabilmente c'è una mancanza di "basi" piuttosto che un problema specifico da risolvere. :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.