Voila le code qui me donne des cheveux gris en ce moment...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include<stdio.h>
 
 
typedef struct{
   int heure;
   int minute;
   int seconde;
}TEMPS;
 
 
TEMPS entree(TEMPS t) {
 
puts("Entrez les heures");
scanf_s("%d",&(t.heure));
if(t.heure>23){
	printf("Vous avez entre\n");
	printf("%d",t.heure);
	printf("\n");
	while (t.heure>23){
	puts("Les heures doivent etre comprises entre 0 et 23. Recommencez.\n");
	scanf_s("%d",&(t.heure));}
}
 
puts("Entrez les minutes");
scanf_s("%d",&(t.minute));
if(t.minute>59){
printf("Vous avez entre\n");
printf("%d",t.minute);
printf("\n");
	while (t.minute>59){
	puts("Les minutes doivent etre comprises entre 0 et 59. Recommencez.\n");
	scanf_s("%d",&(t.minute));}
}
 
puts("Entrez les secondes");
scanf_s("%d",&(t.seconde));
if(t.seconde>59){
printf("Vous avez entre\n");
printf("%d",t.seconde);
printf("\n");
	while (t.seconde>59){
	puts("Les secondes doivent etre comprises entre 0 et 59. Recommencez.\n");
	scanf_s("%d",&(t.seconde));}
}
 
 
return t;
}
 
//b- Ecriture du sous programme sortie()
 
int sortie(TEMPS t) 
{
 
printf("L'heure saisie est:\n");
printf("%d H %d min %d sec \n", t.heure,t.minute,t.seconde);
return 0;
}
 
 
//écriture du sous-programme post(t1,t2)
 
int post(TEMPS t1, TEMPS t2){
 
if (t1.heure < t2.heure) {
return -1;
}
		if (t1.heure > t2.heure) {
		return 1;
		}
 
 
		if (t1.heure == t2.heure ) {
 
 
if (t1.minute < t2.minute ) {
return -1;
}
 
 
		if (t1.minute > t2.minute ) {
		return 1;
		}
 
		if (t1.minute == t2.minute ) {
 
 
if (t1.seconde < t2.seconde) {
return -1;
}
		if (t1.seconde> t2.seconde) {
		return 1;
		}
					if (t1.seconde== t2.seconde) {
					return 0;
					}
			}
			}
		return 0;
}
 
 
void main () {
 
TEMPS t1,t2,t;
 
//Premier appel de entree pour t1
printf("Entrez du premier temps (t1): \n");
t1=entree(t);          // LE PROBLEME EST ICI !!!
 
 
//Deuxieme appel de entree pour t2
printf("Entrez du deuxieme temps (t2): \n");
t2=entree(t); 
 
 
//Appel a la fonction post(t1,t2)
printf("Calcul de l'antériorité des temps...\n");
post(t1,t2);
 
 
//affichage de l'antériorité des temps
if(post(t1,t2)==1) {
printf ("t1 est posterieur a t2 \n");
}
 
 
if(post(t1,t2)==-1) {
printf ("t1 est anterieur a t2 \n");
TEMPS t0;
 
t0.heure=t1.heure;
t1.heure=t2.heure;
t2.heure=t0.heure;				//ici 
 
t0.minute=t1.minute;
t1.minute=t2.minute;			//échange des valeurs
t2.minute=t0.minute;
 
t0.seconde=t1.seconde;
t1.seconde=t2.seconde;			//de t1 et t2
t2.seconde=t0.seconde;
 
 
}
 
 
if(post(t1,t2)== 0) {
printf ("t1 et t2 sont egaux \n");
}
 
}

Quand je le compile il me note:

warning C4700: variable locale 't' non initialisée utilisée!!
au niveau de la ligne que jai indiquée dans mon code...
je ne comprend pas.. il n'y que ca qui bug, peut etre que je ne vois pas le probleme alors qu'il est évident..comme d'habitude, ou c'est la fatigue?..

Quelqu'un peu m'aider?