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 :

Déclarer des variables de type texte


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 18
    Par défaut Déclarer des variables de type texte
    Bonjour à tous,

    Donc voilà, j'ai décidé d'apprendre le langage C et je suis légèrement perdu au niveau des variables.

    Je suis entrain de créer un petit programme console qui permettrait en quelques sortes de gérer un fichier "CLIENTS". Cependant je suis coincé à ce niveau :

    Ce fichier contiendrait donc le "NOM", "PRÉNOM" et "DATE DE NAISSANCE" pour commencer.

    étant un pauvre débutant, en ce qui concerne la date de naissance, j'ai créé 3 variables ( jour, mois et année ) de type "long" avec pour valeur initiale 0, j'utilise l'instruction scanf pour affecter une nouvelle valeur à chaque variable .

    Voici ma fonction concernant la date de naissance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    {
    long jour=0, mois=0, annee=0;
     
    printf("Entrez le jour de naissance : \n");
    scanf("%ld", &jour);
     
    printf("Le mois de naissance : \n");
    scanf("%ld", &mois);
     
    printf("L'annee de naissance : \n");
    scanf("%ld", &annee);
     
    printf("Vous etes ne le %ld %ld %ld\n\n", jour, mois, annee); 
    system("PAUSE");
    return 0;
    }
    Là ou j'ai un problème, ça serait de déclarer des variables de type texte pour le Nom, Prénom.

    Je suis un peu gêner pour mes questions de noob, en espérant un minimum de compréhension de votre part, je vous remercie d'avance pour l'aide qui me sera apporté.

  2. #2
    Membre confirmé Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Par défaut
    Tu as juste à déclarer des variables de type char nomvar [longueur] pour tes nom et prénom. Ensuite pour le scan tu utilise "%s".

    Un petit conseil, regarde le plus de tuto possible afin de progresser plus rapidement :

    Cours developpez.com

    Ps: Utilise la balise code ce sera plus lisible

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 18
    Par défaut
    MERCI beaucoup pour ta réponse, super sympa

    Au plaisir bonne continuation

  4. #4
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Citation Envoyé par LeBelge63 Voir le message
    Tu as juste à déclarer des variables de type char nomvar [longueur] pour tes nom et prénom. Ensuite pour le scan tu utilise "%s".

    Un petit conseil, regarde le plus de tuto possible afin de progresser plus rapidement :

    Cours developpez.com

    Ps: Utilise la balise code ce sera plus lisible
    Pardonne moi mais sauf erreur de ma part ce n'est plus une variable mais un tableau.

    La différence : une variable est un espace mémoire Alloué par L'OS alors que le tableau est en faite une sorte de plusieurs variables alloué et contigu

    Donc ce que te dit de faire LeBelge63 c'est de crée un tableau pour stocker le nom et prénom tout en mettant le "%s " (string) dans ton scanf

    Il y a des methode plus simple que le printf pour afficher les tableau ainsi que le scanf .

    pour le printf tu peux utiliser puts
    et le scanf gets

    Je ne dit pas ca pour te critiqué mais pour t'aider .

    Au niveau de ta declaration de variable c'est totalement inutile de mettre un long
    tu as au max 31 jours 12 mois
    donc deja pour ces deux la tu peux les declarer en unsigned char (1octet plage de valeur : 0 a 255 de memoire)
    ou au pire tu les declare en short (2octet)

    Et pour l'année tu peux mettre un int (si tu compte les annee negative )

    Pour les trois premier printf tu peux les remplacer par des puts rend le code plus leger.

    Et pour finir si tu change tes declaration tu aura juste a mettre de des %d

    Et pour t'aider sur tes variables texte je vais te mettre un exemple sur le mois.

    voila le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
    #include <windows.h>
     
    int main (void)
    {
    unsigned char jour=0;
    char mois[10];  // ne pas oublier de compte le \0
    int annee=0;
     
    puts("Entrez le jour de naissance : \n");
    scanf("%d", &jour);
     
    puts("Le mois de naissance : \n");
    scanf("%s", &mois);
     
    puts("L'annee de naissance : \n");
    scanf("%d", &annee);
     
    printf("Vous etes ne le %d %s %d\n\n", jour, mois, annee); 
    system("PAUSE");
    return 0;
    }
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Overcrash3181 Voir le message
    Il y a des methode plus simple que le printf pour afficher les tableau ainsi que le scanf .

    pour le printf tu peux utiliser puts
    et le scanf gets
    Je comprends mieux pourquoi tu t'appelles 'Overcrash'...

    Merci de ne pas donner de mauvais conseils aux débutants. gets() est un bug. Il n'y a pas de moyens portables de l'utiliser de façon sûre. Il ne faut pas l'utiliser. Point.

    Et si tu confonds avec fgets(), ben il faut te relire avant de poster, ça m'évitera un coup de sang dès le matin... Je n'ai plus 20 ans...

  6. #6
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    désolé XD

    Ce sont mes prof qui m'ont dit qu'on pouvait l'utilisé .

    Comme ca aujourd'hui j'ai appris quelque chose .

    Merci
    Over
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Overcrash3181 Voir le message
    Ce sont mes prof qui m'ont dit qu'on pouvait l'utilisé .
    Change de profs, et vite, avant qu'il ne déclenchent l'Apocalypse...

Discussions similaires

  1. un tableau multidimentionnel avec des variable de type different ?
    Par sebsmax dans le forum Collection et Stream
    Réponses: 25
    Dernier message: 18/01/2007, 14h30
  2. Réponses: 6
    Dernier message: 14/06/2006, 16h02
  3. [VB] gestion des couleurs des variables de type string
    Par landry005 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/03/2006, 14h36
  4. [Access] Enregistrer des données de type Texte RTF
    Par portu dans le forum Bases de données
    Réponses: 22
    Dernier message: 27/10/2005, 22h54
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50

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