PDA

Visualizza la versione completa : Archivio chiamate


0124000489
23-01-2012, 16:58
Vi spiego brevemente, devo fare un archivio telefonico il mio archivio è di 31 giorni in ogni giorno posso fare al massimo 10 chiamate.Nella struttura chiamata ho inizializzato tutti i numeri_c e numeri_r con nove asterischi.
Voglio riempire la matrice di strutture chiamata in maniera casuale, così ho fatto un for esterno che mi ripete il numero di inserimenti casuali all'interno del for ogni volta si genera un numero n_g che è il numero del giorno dove devo andare ad inserire la mia chiamata.
Io ho impostato che se in quel giorno ho già effettuato una chiamata allora l'inserimento dovrà andare alla chiamata successiva questo controllo l'ho fatto con un while solo che quando vado a stampare il valore degli inserimenti casuali che ha fatto mi trovo sempre che ha fatto solo 10 inserimenti anche se il mio ciclo esterno for lo faccio arrivare a 10000 cosa ho sbagliato? Grazie



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct chiamata
{
char numero_c[10];
char numero_r[10];
float durata;
float costo;
};
typedef struct chiamata Chiamata;


int main()
{
Chiamata Archivio[10][31];
int n_g,k=0,j,i,t;
int inserito=0;
/*2 cicli innestati per porre ********* al primo elemento dell'archivio*/
for(j=0;j<31;j++)
{
for(i=0;i<10;i++)
{
strcpy(Archivio[i][j].numero_c,"*********");
strcpy(Archivio[i][j].numero_r,"*********");
Archivio[i][j].durata=0.0;
Archivio[i][j].costo=0.0;
}
}
/* 48 a 57 codice ascii dei numeri da 0 a 9 */
srand(time(NULL));
for(i=0;i<1000;i++)
{
n_g=rand()%31;
while(k<10 && strcmp(Archivio[k][n_g].numero_c,"*********")==0)
{
Archivio[k][n_g].durata=(1+rand()%480);
Archivio[k][n_g].costo=(Archivio[k][n_g].durata)*0.1;
for(j=0;j<9;j++)
{
Archivio[k][n_g].numero_c[j]=48+(rand()%10);
Archivio[k][n_g].numero_r[j]=48+(rand()%10);
}
k++;
}
}
for(j=0;j<31;j++)
{
for(i=0;i<9;i++)
puts(Archivio[i][j].numero_c);
}
return 0;
}

oregon
23-01-2012, 17:05
Sì, ma non si può leggere un messaggio del genere senza punteggiatura ...

21Edoardo96
23-01-2012, 20:26
ciao
per mettere il codice mettilo tra



scrivi il tuo codice



si capisce molto meglio

ciao

21Edoardo96
23-01-2012, 20:27
la prima operazione è fare [CODE]

21Edoardo96
23-01-2012, 20:28
poi metti il codice e quando a finito0 di scriverlo metti [/CODE]

alka
23-01-2012, 20:34
C'è già questa discussione (http://forum.html.it/forum/showthread.php?s=&threadid=1492643) sull'argomento.

Inoltre, un minimo di punteggiatura è richiesto, in modo da poter leggere e capire il problema senza difficoltà.

In secondo luogo, ci sono delle norme per riportare il codice e per i titoli da dare alle discussioni: invito quindi a leggere e rispettare il Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973887) di questa sezione.

@21Edoardo96: va bene dare dei suggerimenti, ma fallo in un unico messaggio, non in 3 o 4 un minuto dopo l'altro, altrimenti basta delegare al moderatore. :fagiano:

Loading