[C] Archivio telefonico

di il
4 risposte

[C] Archivio telefonico

Salve ragazzi , devo impostare il seguente progetto e non mi dispiacerebbe una vostra opinione :

Si vuole simulare l’archivio di chiamate di un gestore telefonico. L’archivio risulta mensile (31 giorni) . Ogni giorno vengono effettuate al massimo 10 chiamate e il costo al minuto di una chiamata è di 10 centesimi. Ogni chiamata è identificata dal numero chiamante, il numero ricevente, la durata della chiamata. Provvedere
all’implementazione dell’algoritmo per la simulazione dell’archivio.
Permettere, inoltre, all’utente di :
Dato un numero telefonico vedere il costo totale delle chiamate (usare un
algoritmo ricorsivo)
L’archivio può anche essere inizializzato con informazioni casuali.

Che tipo di variabile uso per l'archivio ? Per la chiamata uso una struct (contenente num_chiamante, num_ricevente , durata) . Per generare chiamate che vanno da 0 a 10 posso usare rand()%10 e faccio un ciclo for da 0a31 nel quale a sua volta un altro random per la durata di chiamate e le assegno alla struct chiamate?

4 Risposte

  • Re: [C] Archivio telefonico

    Se la chiamata è uno struct e l'archivio è un archivio di chiamate cosa puoi utilizzare per l'archivio se non un array di struct di tipo chiamate?
  • Re: [C] Archivio telefonico

    Grazie per la risposta... quindi andrebbe bene cosi? :
    
    struct _chiamata 
    {
    float durata[310] /* 310 è il massimo num possibile di chiamate ;
    int num_chiamante[]; [b]quante locazioni do qui?[/b]
    int num_ricevente[];[b] quante locazioni do qui?[/b]
    };
    typedef struct _chiamata Chiamata;
    
    Chiamata array_archivio[] [b]quante locazioni do qui?[/b]
    
    Poichè non so quanti numeri differenti chiameranno come li inizializzo?
  • Re: [C] Archivio telefonico

    Una chiamata è composta da:
    numero chiamante, il numero ricevente, la durata della chiamata, quindi
    
    typedef struct _chiamata
    {
    float durata;
    string numeroChiamante;
    string numeroRicevente;
    }Chiamata;
    
    ci sono 10 chiamate al giorno:
    
    typedef struct _giorno
    {
    int id_giorno;  //da 1 a 31
    Chiamata chiamateAlGiorno[10];
    }giorno;
    
    e poi ci sono 31 giorni nel archivio:
    
    giorno archivioChiamate[31];
    
    ecco che abbiamo scoperto l'acqua calda.
  • Re: [C] Archivio telefonico

    Grazie mille!
    solo una cosa il tipo string so che non esiste in c , lo posso fare come un array di caratteri "char" però si tratta di numeri quindi posso usare tipo "int" e generarli casualmente in un ciclo ?
Devi accedere o registrarti per scrivere nel forum
4 risposte