comment enregistrer le projet comme fichier .c dés le debutCitation:
Envoyé par souviron34
Version imprimable
comment enregistrer le projet comme fichier .c dés le debutCitation:
Envoyé par souviron34
Ça, ça dépend de ton environnement.
- Sous Dev-C++, tu choisis "projet C" et hop, tes fichiers sont en .c par défaut.
- Sous Visual, il faut spécifier l'extension .c dans la boite de dialogue "nouveau fichier" et en théorie, ça marche.
Ce n'est pas une question de RAD ou pas (d'ailleurs, dev-cpp n'est pas un RAD, mais simplement un EDI). Tu as le même problème en ligne de commande si tu passes un fichier avec l'extension .cpp à gcc, c'est g++ qui sera alors utilisé.Citation:
Envoyé par souviron34
Thierry
Ce n'est pas exactement g++ qui sera utilisé à mon avis : Les options comme -lstdc++, qui sont implicites avec g++, ne le sont pas avec gcc -o executable source.cpp.
Par contre, le compilateur utilisé sera cc1plus et non cc1, donc le fichier sera bien compilé en tant que C++.
exact, mais je n'avais pas corrigé, car visiblement le PO utilisait quelque chose comme ça.Citation:
Envoyé par mujigka
Mais c'est certain que c'est pareil....
mais moi j'utilise borland c++ pas les deus autre. comment je resout ca avec cet environnement.Citation:
Envoyé par Médinoc
encore merci
d'autre part j'ai un autre probleme un message d'erreur :
< unsolved external 'trouver_capitales(geo*)' >
je ne comprend pas porqoi cette erreur car la syntaxe de la fonction est juste,et cette erreur parvient lors de l'execution non lors de la compilation.
j'utilise borland c++
merci
Perdu, elle n'a pas lieu lors de l'exécution mais lors de l'édition de liens.
Ça veut dire que la fonction, toute déclarée qu'elle soit, n'est pas définie (du moins, le linker ne la trouve pas).
mais la fonction est bien déclarer encore bien définie et ben car toute les autre fonction n'ont aucun problème pourtant la meme methode est utilisé.
Tu continues à compiler en C++ (il te donne un prototype complet dans le message d'erreur) et il ne trouve pas une fonction prenant un paramètre alors que tu nous a montré qu'une fonction de même nom sans paramètre.Citation:
Envoyé par k.cheker
bon je vais vous donner la fonction:
la declaration :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 int Trouver_capitales(struct geo t[]) {int i,j,w,compteur; char x[20],y[20],z[20]; compteur=0; /*tri du tableau*/ for ( i=0 ; i<nb_v ; i++ ) for ( j=i+1 ; j<nb_v ; j++ ) if ( strcmp ( t[i].pays , t[j].pays )==0 ) { strcpy(x,t[j].pays);strcpy(y,t[j].ville);strcpy(z,t[j].continent);w=t[j].nhab; strcpy(t[j].pays,t[i+1].pays);strcpy(t[j].ville,t[i+1].ville);strcpy(t[j].continent,t[i+1].continent);t[j].nhab=t[i+1].nhab; strcpy(t[i+1].pays,x);strcpy(t[i+1].ville,y);strcpy(t[i+1].continent,z);t[i+1].nhab=w; } /* afficher la plus grande ville de chaque pays du continent africain */ for ( i=0 ; i<nb_v ; i++ ) { if ( strcmp(t[i].continent,"afrique")==0 ) { for ( j=i+1 ; j<nb_v; j++ ) { if (( strcmp (t[i].pays,t[j].pays)==0 )&&(t[i].nhab<t[j].nhab )) { i=j; } else {i=j; j=nb_v; printf(" - %s ",t[i].ville ); compteur++; } } } } return compteur; }
l'appel de la fonction:Code:int trouver_capitales(struct geo t[]);
je pense que tout est bien ,je comprend pas pourqoi le message d'erreurCode:c=trouver_capitales(t);
Code:< unsolved external 'trouver_capitales(geo*)' >
Normal, tu n'as pas défini de fonction nommée 'trouver_capitales'. Par contre, il y a une 'Trouver_capitales', mais c'est certainement une simple ressemblance, puisque le C est sensible à la casse...Citation:
Envoyé par k.cheker
D'autre part, il semble que tu compiles en C++ au lieu de C... Ces langages étant différents, c'est évidemment une erreur. Vérifie tes réglages (C) et tes extensions (.c).
merci pour l'aide c'est une faute d'innattention
mais comment je puisse faire regler le compilateur en c je parvient pas.
C'est quel compilateur / IDE ?Citation:
Envoyé par k.cheker
j'utilise borland c++Citation:
Envoyé par Emmanuel Delahaye
Il suffit que l'extension soit .c au lieu de .cpp ou .C.Citation:
Envoyé par k.cheker
et comment je sauvegarde le programme comme .c non .cpp
boolaÿ detected...Citation:
Envoyé par k.cheker
Pour chaque fichier source :
- Save as...
ou
- Sauvegarder sous...
Il faudra peut être modifier le projet... (retirer les .cpp et ajouter les .c...)
merci emmanuel pour votre aide , je vais essayer ca.Citation:
Envoyé par Emmanuel Delahaye
Alors en plus de tout ce qu'on a dit au dessus (ET QU'ON AVAIT DEJA DIT), ton code n'est pas lisible, et en plus plus que dangereux, et je ne pense pas qu'il fasse ce que tu veux...
M'étonnes pas que ça bloque :
Dans la fonction Trouver_capitales :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 /* afficher la plus grande ville de chaque pays du continent africain */ for ( i=0 ; i<nb_v ; i++ ) { if ( strcmp(t[i].continent,"afrique")==0 ) { for ( j=i+1 ; j<nb_v; j++ ) { if (( strcmp (t[i].pays,t[j].pays)==0 )&&(t[i].nhab<t[j].nhab )) { i=j; /* Ya mieux !!!*/ } else {i=j; /* Ya mieux !!!*/ j=nb_v; printf(" - %s ",t[i].ville ); compteur++; } } /* Pas de break donc tu vas refaire ça pour toutes les villes d'Afrique */ /* Et en plus tu oublies la ville avec laquelle tu as démarré (tu démarres à j+1*/ } } return compteur; }
:mouarf: :aie:Citation:
je pense que tout est bien ,je comprend pas pourqoi le message d'erreur