j'ai un problème avec la fonction scanf sur le code ci desous :
struct Navire {
// structure contenant les cotes d'un bateau
char nom[50]; // nom du bateau
int nbtrans; // nombre de couples transversaux
int nbhor; // nombre de couble horizontaux
float X[30]; // tableau des abscisses des couples transversaux
float resteX[30]; // reste bas couple transversaux
float Z[30]; // tableau des hauteur des couples horizontaux
float AVresteZ[30]; // reste avant couple horizontaux
float ARresteZ[30]; // reste arrière couple horizontaux
float coordonees[30][30]; // tableau des coordonées
};
void Nouveau(){
// cette fonction traite la création d'un nouvelle carrene
int nbCoupleTrans ; // nombre de couple transversaux
int nbCoupleHor ; // nombre de couple horizontaux
char nom[50]; // nom du bateau
struct Navire bateau;
// création de la carrène/
printf("\n Carenne cree \n") ;
/ / demande du nom du Bateau
printf ("nom du bateau ? :");
fflush (stdin);
scanf ("%s" , nom);
strcpy(bateau.nom , nom) ;
// demande du nombre de couple transversaux
printf(" nombre de couple transversaux ? : " );
fflush (stdin);
scanf("d%" , &nbCoupleTrans ) ;
/ / demande du nombre de couple horizontaux
printf(" \n nombre de couple horizontaux ? : " );
fflush (stdin);
scanf("d%" , &nbCoupleHor ) ;
}
.......
A l'exécution sous Windows XP avec Visual C++ 6 comme compilateur
le premier scanf met bien la chaine rentée dans "nom" , Mais pour les deux
scanf suivant, malgré que je rentre deux nombre entier les scanf ne
remplisse pas les variable " nbCoupleTrans" et " nbCoupleHor ".
Pour moi c'est incompréhensible pourquoi sa marche dans un cas et pas dans
les deux autres ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yves ROMAN
Boujour
j'ai un problème avec la fonction scanf sur le code ci desous :
[...]
// demande du nombre de couple transversaux
printf(" nombre de couple transversaux ? : " ); fflush (stdin); scanf("d%" , &nbCoupleTrans ) ;
scanf("%d" , &nbCoupleTrans ) ; Avec d%, ca attend une saisie mais ca ne met jamais rien dans 'nbCoupleTrans'
Il faudrait aussi faire un minimum de controle (qui aurait detecte ca) au cas ou la saisie est incorrecte : if (scanf("%d" , &nbCoupleTrans ) != 1 ) { /* saisie incorrect ... }
[...]
A l'exécution sous Windows XP avec Visual C++ 6 comme compilateur le premier scanf met bien la chaine rentée dans "nom" , Mais pour les deux scanf suivant, malgré que je rentre deux nombre entier les scanf ne remplisse pas les variable " nbCoupleTrans" et " nbCoupleHor ". Pour moi c'est incompréhensible pourquoi sa marche dans un cas et pas dans les deux autres ?
Boujour
j'ai un problème avec la fonction scanf sur le code ci desous :
[...]
// demande du nombre de couple transversaux
printf(" nombre de couple transversaux ? : " );
fflush (stdin);
scanf("d%" , &nbCoupleTrans ) ;
scanf("%d" , &nbCoupleTrans ) ;
Avec d%, ca attend une saisie mais ca ne met jamais rien dans 'nbCoupleTrans'
Il faudrait aussi faire un minimum de controle (qui aurait detecte ca) au cas ou
la saisie est incorrecte :
if (scanf("%d" , &nbCoupleTrans ) != 1 )
{
/* saisie incorrect ...
}
[...]
A l'exécution sous Windows XP avec Visual C++ 6 comme compilateur
le premier scanf met bien la chaine rentée dans "nom" , Mais pour les deux
scanf suivant, malgré que je rentre deux nombre entier les scanf ne
remplisse pas les variable " nbCoupleTrans" et " nbCoupleHor ".
Pour moi c'est incompréhensible pourquoi sa marche dans un cas et pas dans
les deux autres ?
j'ai un problème avec la fonction scanf sur le code ci desous :
[...]
// demande du nombre de couple transversaux
printf(" nombre de couple transversaux ? : " ); fflush (stdin); scanf("d%" , &nbCoupleTrans ) ;
scanf("%d" , &nbCoupleTrans ) ; Avec d%, ca attend une saisie mais ca ne met jamais rien dans 'nbCoupleTrans'
Il faudrait aussi faire un minimum de controle (qui aurait detecte ca) au cas ou la saisie est incorrecte : if (scanf("%d" , &nbCoupleTrans ) != 1 ) { /* saisie incorrect ... }
[...]
A l'exécution sous Windows XP avec Visual C++ 6 comme compilateur le premier scanf met bien la chaine rentée dans "nom" , Mais pour les deux scanf suivant, malgré que je rentre deux nombre entier les scanf ne remplisse pas les variable " nbCoupleTrans" et " nbCoupleHor ". Pour moi c'est incompréhensible pourquoi sa marche dans un cas et pas dans les deux autres ?
Emmanuel Delahaye
In 'fr.comp.lang.c', "MAZALREY ETIENNE" wrote:
j'ai un problème avec la fonction scanf sur le code ci desous :
Moi, je n'ai aucun problème avec scanf(), car je ne l'utilise pas.
http://mapage.noos.fr/emdel/notes.htm#saisie
-- -ed- get my email here: http://marreduspam.com/ad672570 The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html C-reference: http://www.dinkumware.com/manuals/reader.aspx?libÉ9 FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/
In 'fr.comp.lang.c', "MAZALREY ETIENNE" <mazalrey.et@ifrance.com> wrote:
j'ai un problème avec la fonction scanf sur le code ci desous :
Moi, je n'ai aucun problème avec scanf(), car je ne l'utilise pas.
http://mapage.noos.fr/emdel/notes.htm#saisie
--
-ed- get my email here: http://marreduspam.com/ad672570
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?libÉ9
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/
j'ai un problème avec la fonction scanf sur le code ci desous :
Moi, je n'ai aucun problème avec scanf(), car je ne l'utilise pas.
http://mapage.noos.fr/emdel/notes.htm#saisie
-- -ed- get my email here: http://marreduspam.com/ad672570 The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html C-reference: http://www.dinkumware.com/manuals/reader.aspx?libÉ9 FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/