Oppure

Loading
15/04/09 9:23
frog87
dovrei riuscire a far inserire all utente ora e minuti che poi mi servono e ho usato 2 struct . Ma non saprei come fare.



struct ora {
  int ore[24];
  int minuti[60];
} ho,min;


printf("Inserisci l ora nel formato ore-minuti : ");
scanf("\n%d", &ho.ore.minuti);

aaa
15/04/09 9:37
andrea.b89
Penso tu non abbia ben chiaro come accedere ad un struttura.

Comunque puoi fare

typedef struct ora_struct{
    int minuti;
    int ora;
}orario;


per usarla poi :


int main()
{
  orario o;

  printf("Inserici l'ora : ");
  scanf("%d", &o.ora);

  printf("Inserici i minuti : ");
  scanf("%d", &o.minuti);

  return 0;
}



in questo modo hai inserito nella struttura ore e minuti.

Spero di essere stato chiaro e di aiuto :k:
aaa
15/04/09 9:43
theprogrammer
Postato originariamente da andrea.b89:

Penso tu non abbia ben chiaro come accedere ad un struttura.


No ... visto quello che ha scritto, non ha chiare tante altre cose ...

In ogni caso, se usi Windows, ti consiglio di aggiungere una fflush(stdin) dopo le scanf

typedef struct ora_struct{
    int minuti;
    int ora;
}orario;


per usarla poi :


int main()
{
  orario o;

  printf("Inserici l'ora : ");
  scanf("%d", &o.ora);
  fflush(stdin);

  printf("Inserici i minuti : ");
  scanf("%d", &o.minuti);
  fflush(stdin);

  return 0;
}



aaa
15/04/09 10:06
frog87
grazie per l' aiuto . devo dare uno sguardo piu' approfondito su questo argomento .
aaa
15/04/09 21:43
Lawliet
Non solo la struttura, ma anche agli array. Ciò che avevi scritto int ore[24]: è come se avessi scritto un vettore di 25 elementi interi ed è sbagliato :)
Se volevi che l'utente inserisca solo da 00 a 23 per le ore e 00 a 59 per i minuti potresti implementare una while che controlli e richiede finchè non soddisfa le condizioni che vuoi :)
aaa
15/04/09 21:50
andrea.b89
Postato originariamente da Lawliet:

Non solo la struttura, ma anche agli array. Ciò che avevi scritto int ore[24]: è come se avessi scritto un vettore di 25 elementi interi ed è sbagliato :)



tralasciando il motivo della scelta, ti devo correggere, con int ore[24] crei un vettore di 24 elementi i cui indici vanno da 0 a 23 ;)
aaa
15/04/09 21:53
Lawliet
e scusa e il 24 che fai? lo lasci vuoto? o.O'
aaa
15/04/09 21:57
andrea.b89
ti stai confondendo credo con il VB.
In C il numero fra parentesi quadre indica il numero di elementi del vettore.
In C l'indice di un vettore parte da 0.
Quindi se 0 è il primo elemento l'indice dell'ultimo elemento sarà N - 1 ossia nel tuo caso dove N è 24 l'ultimo indice sarà 23 :)
aaa