Salut,
Ce petit programme ne se compile pas de tout avec visual c++ alors qu'il s'exécute correctement avec codeblocks. Je n'ai pas pu corriger les bugs affichés.Pourriez vous m'aider?
Merci d'avance.
Voici le codeLes bugs :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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112 #include <stdio.h> #include <stdlib.h> #include <time.h> typedef int (*compfn)(const void*, const void*); struct tache { int release_date; int duree; int due_date; int id_tache; }; typedef struct { int date_disponibilite; } machine; struct tache job[] = { { 3, 0, 4, 1 }, {5, 3, 5,2}, {1,4,12,3}, {2,7,10,4}, {4,8,11,5} }; /*fonction tri par ordre croissant de sa date de fin*/ int compare(struct tache *elem1, struct tache *elem2) { if (elem1->due_date < elem2->due_date) return -1; else if (elem1->due_date > elem2->due_date) return 1; else return 0; } void printarray(void) { int i; for (i = 0; i < 5; i++) printf(" %d " , job[i].id_tache); } int main(void) { float temps; clock_t t1, t2; t1 = clock(); machine Machines[3]; int id_machineDispo; int retardsTotaux = 0; int retards, j, k; qsort((void *) &job,5, sizeof(struct tache), (compfn)compare); printf("\n due_date tache par ordre croissant\n"); printarray(); printf("\n"); for (j = 0; j < 3; j++) { Machines[j].date_disponibilite = 0; } /* pour toute les taches */ for (k = 0; k <5 ; k++) { id_machineDispo = 0; /* trouver la machine disponible plus tot*/ for (j = 0;j < 3; j++) { if (Machines[j].date_disponibilite < Machines[id_machineDispo].date_disponibilite) id_machineDispo = j; } /* calculer date fin tache sur machine */ if (k<3) Machines[id_machineDispo].date_disponibilite += job[k].duree + job[k].release_date; if(k>=3) Machines[id_machineDispo].date_disponibilite += job[k].duree; /* affichage affectation*/ printf("\n date disponibilite machine %d egale : %d ",id_machineDispo, Machines[id_machineDispo].date_disponibilite); printf("\n placer tache %d sur machine %d", job[k].id_tache, id_machineDispo); printf("\n"); /* calcul retard et retards totaux */ retards = Machines[id_machineDispo].date_disponibilite-job[k].due_date; printf("\n retards : %d", retards); printf("\n"); if (retards > 0) retardsTotaux += retards; /* affichage retards totaux */ printf("\n retards totaux : %d\n",retardsTotaux); } t2 = clock(); temps = (float)(t2-t1)/CLOCKS_PER_SEC; /* temps exécution application */ printf("temps = %f\n", temps); return 0; }
Citation:
1>------ Début de la génération*: Projet*: code_c_EDD, Configuration*: Debug Win32 ------
1>Compilation en cours...
1>main.c
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(52) : error C2275: 'machine'*: utilisation non conforme de ce type comme expression
1> c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(19)*: voir la déclaration de 'machine'
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(52) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'Machines'
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(52) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(52) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(53) : error C2143: erreur de syntaxe*: absence de ';' avant 'type'
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(54) : error C2143: erreur de syntaxe*: absence de ';' avant 'type'
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(55) : error C2143: erreur de syntaxe*: absence de ';' avant 'type'
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(62) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(62) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(62) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(64) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(64) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(64) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(67) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(67) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(67) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(70) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(73) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(73) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(73) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(75) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(75) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(75) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(75) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(75) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(75) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(78) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(78) : error C2065: 'j'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(83) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(85) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(85) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(85) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(85) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(85) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(87) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(89) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(89) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(89) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(89) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(92) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(92) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(92) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(92) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(93) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(93) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(96) : error C2065: 'retards'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(96) : error C2065: 'Machines'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(96) : error C2065: 'id_machineDispo'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(96) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(96) : error C2065: 'k'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(97) : error C2065: 'retards'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(99) : error C2065: 'retards'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(100) : error C2065: 'retardsTotaux'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(100) : error C2065: 'retards'*: identificateur non déclaré
1>c:\users\documents\visual studio 2008\projects\code_c_edd\code_c_edd\main.c(104) : error C2065: 'retardsTotaux'*: identificateur non déclaré
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\Documents\Visual Studio 2008\Projects\code_c_EDD\code_c_EDD\Debug\BuildLog.htm"
1>code_c_EDD - 55 erreur(s), 0 avertissement(s)
========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========