pour la premiére partis j'ai piger lollll , avec le tres bon exemple que tu m'a donner , donc il aura erreur dans ce cas seuleument pour le 4eme trimestre car les le 4éme trimestre n'existe pas encore en fait
Version imprimable
pour la premiére partis j'ai piger lollll , avec le tres bon exemple que tu m'a donner , donc il aura erreur dans ce cas seuleument pour le 4eme trimestre car les le 4éme trimestre n'existe pas encore en fait
voila la premiere partie qui marche , il faudrait ensuite si il ne marque pas erreur qu'il me demande d'encoder les 2 date et de dire si l'intervales des 2 date est repris dans le trimestre de l'année concernée:?
Comment je pourais traduire ca ?:? :? comme je peux dire si par exemple un jour du 20060903 au 20061203 fais partie du 3éme trimestre par exempleCitation:
Envoyé par zooro
c'est pourtant pas compliqué:
en utilisant des tableaux, ca serait moins lourdCode:
1
2
3
4
5
6
7
8
9
10
11
12 int date_1 = 20060903; /* premiere date */ int date_2 = 20061203; /* deuxieme date */ int fintrimestre_0 = 20060101; /* tu l'appelles comme tu veux */ int fintrimestre_1 = 20060331; int fintrimestre_2 = ... ... if ((date_1>= fintrimestre_0 && date_1<=fintrimestre_1) || ((date_2>= fintrimestre_0 && date_2<=fintrimestre_1)) { /* au moins un jour de la periode est dans ce trimestre */ }
oui c'est ce que je penser , mais le probléme vient de l'année
car maintenant si je veux rentrer la date 2003 ou 20070405 par exemple il aura un probléme:?
Ah oui, lequel ? Il faut développer un peu quand tu dis des choses comme ça, parce que l'on ne comprend pas, sinon !Citation:
Envoyé par conceicao
je vois 2 possibilités:Citation:
Envoyé par conceicao
- tu n'as pas du tout compris l'énoncé
- tu l'as compris, mais tu ne l'as pas du tout bien exprimé (mais ce qui se comprend clairement s'énonce aisément)
Dans les deux cas, il y a quelque chose que "tu n'as pas du tout" fait ! :lol:Citation:
Envoyé par coca25
oui c'est clair mais je vous ai retranscrit l'enoncer tel quel que je l'ai sur papier mais peut etre je vous ai pas developper à 100 % l'enoncer.
Mais bon c logique , un date ne doit pas marcher que pour 2006 mis pour 2007 ou un autre date tous depend de la date du jour.
Un truc dans le genre ci dessous ca devrais marcher pour toute les date non?
il a surement quelque erreur de syntaxe mais j'ai pas encore compiler
il a moyen de faire ca avec CASE OF vous pensez????Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 /* DEVOIR N°3 */ #include <mylib.h> #include <stdio.h> long int annee = 0; long int trimestre = 0; long int datepc = 20061125; long int debutpremier ; long int debutdeuxieme; long int debuttroisieme; long int debutquatrieme; long int finpremier ; long int findeuxieme; long int fintroisieme; long int finquatrieme; long int date_1 ; /* premiere date */ long int date_2 ; /* deuxiéme date */ int main () { cls (BLEU); gotoxy (1, 1); printf ("%45s", "DEVOIR 3"); gotoxy (2, 1); printf ("%45s", "====================="); gotoxy (4, 1); printf (" Annee : :"); lire_long_int (&annee, 4, 28, 4, 1, 2999); gotoxy (5, 1); printf (" Trimestre : :"); lire_long_int (&trimestre, 5, 28, 1, 1, 4); debutpremier = (annee * 10000 )+ 101 ; debutdeuxieme =(annee * 10000 )+ 401 ; debuttroisieme =(annee * 10000 )+ 701 ; debutquatrieme =(annee * 10000 )+ 1001 ; finpremier = (annee * 10000 )+ 331 ; findeuxieme =(annee * 10000 )+ 630 ; fintroisieme =(annee * 10000 )+ 930 ; finquatrieme =(annee * 10000 )+ 1203 ; if ((trimestre ==1 )&& (finpremier > datepc )){ gotoxy (9, 1); printf ("ERREUR \n"); system ("pause"); }/* end if */ else { if ((trimestre ==2 )&& (findeuxieme > datepc )){ gotoxy (9, 1); printf ("ERREUR \n"); system ("pause"); } /* end if */ else { if ((trimestre ==3 )&& (fintroisieme > datepc )){ gotoxy (9, 1); printf ("ERREUR \n"); system ("pause"); } /* end if */ else { if ((trimestre ==4 )&& (finquatrieme > datepc )){ gotoxy (6, 1); printf ("ERREUR \n"); system ("pause"); } /* end if */ else { gotoxy (10, 1); printf (" date1 : :"); lire_long_int (&date_1, 10, 28, 8, 1, 99999999); gotoxy (11, 1); printf (" date2 : :"); lire_long_int (&date_2, 11, 28, 8, 1, 99999999); if ((date_1>= debutpremier && date_1<= finpremier) || ((date_2>= debutdeuxime && date_2<= findeuxieme)) { /* au moins une jour de la periode est dans ce trimestre */ } } } } } system ("pause"); return 0; } /* end main */
CASE OFCitation:
Envoyé par conceicao
http://forum-images.hardware.fr/imag...so/arrakys.gif
Mais c'est quoi ça ? Tu veux dire switch-case ?
Compte le nombre de parenthèses dans le if que tu as ajouté...Citation:
Envoyé par conceicao
Sinon, pour savoir si ça marche, tu peux faire un programme de test...
oui escusez moi switch-caseCitation:
Envoyé par Emmanuel Delahaye