Erreur de initialisation de structure
Fermé
MissRobet
Messages postés
4
Date d'inscription
mercredi 14 novembre 2018
Statut
Membre
Dernière intervention
20 novembre 2018
-
20 nov. 2018 à 21:05
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 21 nov. 2018 à 15:14
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 21 nov. 2018 à 15:14
A voir également:
- Erreur de initialisation de structure
- Erreur 1004 vba ✓ - Forum VB / VBA
- Iptv erreur de lecture - Forum Vidéo/TV
- Erreur 1000 france tv - Forum MacOS
- Youtube une erreur s'est produite ✓ - Forum YouTube
- Free erreur 38 ✓ - Forum Mobile
2 réponses
Dalfab
Messages postés
703
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
1 mars 2023
100
21 nov. 2018 à 08:19
21 nov. 2018 à 08:19
Bonjour,
Pour répondre, il faudrait surtout savoir comment tu as défini le type date.
Tu écris ensuite un tableau de 100 tableaux de 11 dates. On s'attend à fournir 100*11*3 paramètres du type des champs jour/mois/annee.
Pour un tableau de dates, on peut écrire :
Pour répondre, il faudrait surtout savoir comment tu as défini le type date.
Tu écris ensuite un tableau de 100 tableaux de 11 dates. On s'attend à fournir 100*11*3 paramètres du type des champs jour/mois/annee.
Pour un tableau de dates, on peut écrire :
struct date {
unsigned char jour; // par exemple
unsigned char mois;
unsigned short annee;
};
struct date tableau[3] = {{20,2,2015},{31,12,2016},{1,1,2017}};
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié le 21 nov. 2018 à 15:18
Modifié le 21 nov. 2018 à 15:18
Salut MissRobet,
1.
Si tu dois comparer les dates, tu pourrais avoir intérêt à les stocker sous forme de tableau de chaînes de caractères au format "2015/02/20", c'est à dire année, mois, jour dans cet ordre. Cela te permet de comparer très simplement l'égalité de dates, ou le fait qu'une date soit antérieure ou postérieure à l'autre avec la fonction
vois : https://en.cppreference.com/w/c/string/byte/strcmp
2.
Si tu veux pouvoir faire des choses plus complexes, comme calculer la différence entre deux dates, tu devrais utiliser les fonctions accessibles dans
Avec les fonctions accessibles dans
dans ce dernier cas :
- un stockage dans sous forme numérique comme proposé par Dalfab serait plus adéquat avec un tableau de struc contenant les informations de jour, mois et année sous forme d'entiers,
- ou carrément tu pourrais stocker les dates dans un tableau de
vois : https://en.cppreference.com/w/c/chrono
1.
Si tu dois comparer les dates, tu pourrais avoir intérêt à les stocker sous forme de tableau de chaînes de caractères au format "2015/02/20", c'est à dire année, mois, jour dans cet ordre. Cela te permet de comparer très simplement l'égalité de dates, ou le fait qu'une date soit antérieure ou postérieure à l'autre avec la fonction
strcmp()accessible par
string.h, car la comparaison lexicographique équivaut dans ce format à la comparaison de la chronologie des dates.
vois : https://en.cppreference.com/w/c/string/byte/strcmp
2.
Si tu veux pouvoir faire des choses plus complexes, comme calculer la différence entre deux dates, tu devrais utiliser les fonctions accessibles dans
time.hpour convertir tes dates en
time_tet utiliser
difftime()...
Avec les fonctions accessibles dans
time.h, tu pourras aussi déterminer le jour de la semaine, le numéro de semaine, vérifier si une date est valide, etc.
dans ce dernier cas :
- un stockage dans sous forme numérique comme proposé par Dalfab serait plus adéquat avec un tableau de struc contenant les informations de jour, mois et année sous forme d'entiers,
- ou carrément tu pourrais stocker les dates dans un tableau de
time_t, en y stockant la conversion de ces informations (tu dois passer par une
struct tmet utiliser
mktime()) ...
vois : https://en.cppreference.com/w/c/chrono