Partage
  • Partager sur Facebook
  • Partager sur Twitter

chaine de caracteress

    19 juillet 2019 à 21:18:19

    Bonjour a tous,

    Je suis un débutant. j'ai lu et fais les exercices jusque  "créer un fichier".

    J'ai voulu faire mon programme, genre gestion de client. Nom,prénom,adresse,tel etc...

    Mais voila, déjà un problème. Lorsque je demande d'entrer le nom (ou adresse, dès que j'entre un nom composé : jean claude ou jean pierre

    Le programme passe directement a la fin du programme sans demandé le reste a encodé par l'utilisateur.

    Je pense que c'est a cause de l'espace entre les prénom (jean pierre).

    Exemple:

    NOM:

    prenom:

    adresse:

    tel:

    Ville

    Si je tape jean claude dans le prénom, le programme passe directement au telephone..... si je tape 'ruelle impasse' pouf direct sur ville.

    J'utilise char, meme char nom[40] mais rien n'y fais...

    Si quelqu'un peut m'aider. Merci beaucoup

    Et grand merci pour le cours

    • Partager sur Facebook
    • Partager sur Twitter
      19 juillet 2019 à 22:40:59

      C'est parce que tu utilises scanf pour saisir ta chaîne de caractère, or scanf considère les espaces comme des séparateur de donnée.

      Tu peux aussi utiliser fgets pour la saisie de chaîne de caractère, tout en sachant que fgets inclut le retour de chariot '\n' dans la chaîne saisie.

      • Partager sur Facebook
      • Partager sur Twitter
        21 juillet 2019 à 3:54:03

        rouloude a écrit:

        C'est parce que tu utilises scanf pour saisir ta chaîne de caractère, or scanf considère les espaces comme des séparateur de donnée.

        Tu peux aussi utiliser fgets pour la saisie de chaîne de caractère, tout en sachant que fgets inclut le retour de chariot '\n' dans la chaîne saisie.


        Bonsoir rouloude, je suis débutant aussi et j'ai le même problème quand j'essaye avec scanf. Je voulais savoir ce qu'est le retour de chariot "\n" stp

        -
        Edité par FrédéricPalm 21 juillet 2019 à 3:58:33

        • Partager sur Facebook
        • Partager sur Twitter
          21 juillet 2019 à 10:40:27

          Sur une machine à écrire, c'est la grosse manette qui te ramenait le chariot à gauche pour pouvoir écrire la ligne suivante. C'est sur le chariot qu'on met la feuille de papier.

          Sur un PC, ça correspond à la touche entrée, et il y a un caractère dans la table des caractères qui lui est assigné, c'est le '\n'. On le retrouve aussi dans les fichiers texte, pour passer à la ligne suivante.

          Si tu n'as jamais entendu parlé de ce caractère, je te suggère de lire un cours avant de coder ! 

          PS : Quand tu as une question, évite de polluer les sujets des autres, mais crée plutôt ton propre sujet !

          -
          Edité par rouloude 21 juillet 2019 à 10:42:15

          • Partager sur Facebook
          • Partager sur Twitter
            22 juillet 2019 à 0:45:39

            Petite rectification

            On écrit normalement, dans nos pays latins, de gauche à droite.

            Sur une machine à écrire mécanique, c'est le chariot qui se déplace en portant le papier. Il se déplace donc de droite à gauche.

            Quand il arrive au bout de ligne, on doit donc le ramener vers la -droite-. Ce faisant on appuie du même geste sur une manette à gauche du chariot  qui fait tourner le rouleau qui tient le papier, qui avance d'une ligne. C'est le "ligne feed", alimentation papier.

            D'où la combinaison cr lf, les deux codes envoyés en fin de ligne aux machines à écrire électriques qui servaient de terminaux. Carriage return + line  feed. 

            Pour être complet, sur une machine à écrire électrique, c'est la boule qui se déplace latéralement, pas le papier (Ça serait difficile de trimballer une boîte de papier accordéon) il n' y a pas de chariot proprement dit. En fait' dès les années 60 on faisait référence à un dispositif qui n'existait plus. Comme aujourd'hui l'icône disquette pour sauver.

            Cherchez sur YouTube la vidéo du MIT où Fernando Corbato (qui vient de mourir) explique le temps partagé qu'il avait inventé (1961 ?) On y voit les premières sessions interactives avec un terminal papier.

            -
            Edité par michelbillaud 22 juillet 2019 à 8:30:53

            • Partager sur Facebook
            • Partager sur Twitter
              22 juillet 2019 à 4:37:33

              OK, merci beaucoup pour vos réponses et je penserais à créer un sujet la prochaine fois
              • Partager sur Facebook
              • Partager sur Twitter
                22 juillet 2019 à 11:08:30

                Ah ben voilà que je mélange la droite et la gauche maintenant !
                • Partager sur Facebook
                • Partager sur Twitter

                chaine de caracteress

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown