petite questiond'un débutant
salut a tous!!
oui c'est encore moi ^^
j'ai essayé le code suivant sur le compilateur de mon bahut (visual C++)
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
| #include <string.h>
#include <stdio.h>
void main()
{
int i=0;
char chaine[200],avion[200],aviontemp[200];
printf("entrer le nom de l'avion désiré\n");
scanf("%s",&avion);
FILE*pfcav=fopen("FicCaracteristiquesAvion.txt","r");
if(pfcav!=NULL) {
while (fgets(chaine,sizeof chaine,pfcav)!=NULL){
while(chaine[i]!='\t') {
aviontemp[i]=chaine[i];
i++;
}
}
fclose(pfcav);
}
} |
et je ne comprends pas pourquoi quand je lance le programme il s'arrete juste apres le printf... : tres precisement il m'affiche bien mon printf puis quand je tape entrée il fait automatiquement: pressez une touche pour continuer... donc si quelqu'un a une idée... j'ai sans doute fait une erreur bête mais le compilateur,me met 0 erreurs et 0 warnings...
bon je sais que vous m'avez conseillé plusieurs choses comme mettre int main(void) au lieu de void main(), ou comme vérifier la taille des chaines, mettre fgets au lieu de scanf...
mais déjà je voudrais commencer par ecrire un code simple qui marche et apres j'entrerai dans les détails...
de plus je sais pas pourquoi mais visual n'a pas l'air d'aimer le int main(void) ... et enfin il me dit que fgets ne prend pas qu'un parametre ( quand j'ecris:
Code:
1 2
| printf("...");
fgets(avion); |
)
je sais bien qu'il en prend plutot trois ( enfin je crois ) comme j'ai fait dans le reste du code, mais dans tous les cours de C que j'ai pu voir sur internet ils ecrivent tous au lieu de
Code:
scanf("%s",&chaine);
... donc bon...
voila si quelqu'un a quelques precisions à m'apporter d'ici à ce que je reçoive mon zoli livre de C commandé d'apres certains conseils sur amazon.fr ;);) ce serait super simpa ^^
merci d'avance
Re: petite questiond'un débutant
Citation:
Envoyé par BnY
j'ai essayé le code suivant sur le compilateur de mon bahut (visual C++)
On pourrait avoir la version qui compile ?
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Compiling: main.c
main.c:7: error: conflicting types for 'main_'
D:/clib/frmwrk/inc/main.h:35: error: previous declaration of 'main_' was here
main.c:7: error: conflicting types for 'main_'
D:/clib/frmwrk/inc/main.h:35: error: previous declaration of 'main_' was here
main.c: In function `main_':
main.c:15: warning: char format, different type arg (arg 2)
main.c:37:2: warning: no newline at end of file
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 2 warnings |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
/* -ed- main() retourne int. Toujours */
int main()
char chaine[200],avion[200],aviontemp[200];
/* -ed- Pourquoi '&' ?
scanf("%s",&avion);
scanf() avec %s attend l'adresse du premier element d'un tableau
de char, ce qu'est exactement 'avion'
*/
scanf("%s",avion);
/* -ed- si un ouistiti tape sur le clavier, t'es mort... */ |
Re: petite questiond'un débutant
Citation:
Envoyé par BnY
dans tous les cours de C que j'ai pu voir sur internet ils ecrivent tous
Prouve le. Donne un lien.