IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

scanf sans retour chariot


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2009
    Messages : 25
    Points : 16
    Points
    16
    Par défaut scanf sans retour chariot
    bonjour,

    pouriez vous me donner l'astuce pour lire des variables de type entier, en utilisant scanf et sans que le curseur saute a la prochaine ligne aprés que l'utilisateur ai appuyé sur entrer.

    par exemple je veux que les variables qu'entre l'utilisateur s'affiche comme suit :

    1 2 3 4

    et non comme ça :
    1
    2
    3
    4

    Merci d'avance

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Bonjour,

    Si tu connais le nombre de saisie a l'avance, tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int main (void)
    {
        int Exemple[4];
     
        scanf("%d %d %d %d", &Exemple[0], &Exemple[1], &Exemple[2], &Exemple[3]);
     
        return EXIT_SUCCESS;
    }
    Cependant, cela n'empechera pas les retour chariot final.

    utiliser scanf pour faire une saisie utilisateur, surtout comme celle ci, est fortement deconseiller. scanf s'attendant a une sortie formaté, l'utilisateur ne donne pas toujours ce qu'il faut et ton programme plantera.

    Le mieux serait d'utiliser une autre fonction (gets entre autre), a la rigueur un test sur le retour de scanf pour valider ou non la saisie.


    Si tu ne connais pas le nombre de saisie de l'utilisateur, regarde du cote des " Variable-Length Argument Lists " en C.

  3. #3
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    pourriez vous me donner l'astuce pour lire des variables de type entier, en utilisant scanf et sans que le curseur saute a la prochaine ligne après que l'utilisateur ai appuyé sur entrer.
    Impossible en C standard. Pour cela, il faut avoir des fonctions de gestion avancée du clavier et de la console, ce que le C standard n'a pas. Quel compilateur utilises-tu ? Quel est ton système (DOS, Windows, Linux, MacOS X, etc.) ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    .
    Inscrit en
    Décembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Fidji

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Décembre 2009
    Messages : 35
    Points : 38
    Points
    38
    Par défaut
    Il y a bien \b pour revenir un caractère en arrière, mais dans un terminal après un \n pas sur que sa puisse marcher.

  5. #5
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Citation Envoyé par Damoun Voir le message
    Il y a bien \b pour revenir un caractère en arrière, mais dans un terminal après un \n pas sûr que sa puisse marcher.
    sûr que ça ne marchera pas .

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    \t
    tabulation

  7. #7
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Le sujet porte sur le fait de valider la saisie avec entrer (normal) sans pour autant que cela implique un retour chariot.

    En quoi une simple tabulation permet-elle de faire ceci ?

    Si tu est sous console Windows, essais du coté de la librairie nCurse, je sais que cette librairie propose des fonction pour la console. Peut etre y trouvera tu ton bonheur.

Discussions similaires

  1. Tableau sans retour chariot
    Par Tyler Durden dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 20/03/2007, 13h24
  2. Formulaire sans retour chariot
    Par Tyler Durden dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/02/2007, 16h50
  3. Ecrire ds fichier sans retour chariot
    Par totoche dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/08/2006, 20h39
  4. Scanf sans retour à la ligne
    Par mello dans le forum C
    Réponses: 10
    Dernier message: 11/11/2005, 17h22
  5. variable $_ sans retour chariot
    Par samipate dans le forum Langage
    Réponses: 1
    Dernier message: 11/11/2005, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo