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 :

Numéro de jour dans la semaine


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Numéro de jour dans la semaine
    bonjour
    je veux un programme en c
    tu donne un numero entre 1 ET 7
    IL TE DONNE le nom du jour de la semain
    par exemple 2 MARDI
    J'utilise DEV C++
    J'ai essai:
    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
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
        int n;
        printf("entrer un nombre");
        scanf("%d",&n);
        if (n=1) printf("Lundi",n);
        if (n=2) printf("Mardi",n);
        if (n=3) printf("Mercredi",n);
        if (n=4) printf("Jeudi",n);
        if (n=5) printf("Vendredi",n);
        if (n=6) printf("Samedi",n);
        if (n=7) printf("Dimanche",n);
    getch();
    return 0;
    }
    mais CA MARCHE PAS
    ET MERCI D'AVANCE

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if (n == 1) printf("Lundi\n");
    ...
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    Il faut utiliser le double egale dans le if pour faire une comparaison

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (i == 0)
     /*action*/
    Le simple egale est utilise pour assigner une variable.

    Mais tu devrais aller lire un tuto pour apprendre un peu de C.

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Merci ça marche

    mais pour afficher un message "n est pas valide" si N >7 ou bien N<=0???
    comment faire sur le même programme?

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Je vais t'introduire à l'utilisation du 'switch' avec son camarade le 'case'.

    Bref, pour écrire rapidement une série de if / else if / else , il existe un mot clé qui est le 'switch'
    Ainsi au lieu de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (n=1) printf("Lundi",n);
    if (n=2) printf("Mardi",n);
    if (n=3) printf("Mercredi",n);
    if (n=4) printf("Jeudi",n);
    if (n=5) printf("Vendredi",n);
    if (n=6) printf("Samedi",n);
    if (n=7) printf("Dimanche",n);
    Tu pourrai faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (n=1) printf("Lundi",n);
    else if (n=2) printf("Mardi",n);
    else if (n=3) printf("Mercredi",n);
    else if (n=4) printf("Jeudi",n);
    else if (n=5) printf("Vendredi",n);
    else if (n=6) printf("Samedi",n);
    else if (n=7) printf("Dimanche",n);
    Qui fait simplement:
    Si n est égale à 1 afficher lundi
    sinon si n est égale à 2 afficher marid
    sinon si n ...

    Qui peut donc se simplifier avec un 'switch' comme ceci:
    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
    23
    24
    25
    26
    27
    28
     
    switch (n)
    {
         case 1:
              printf("Lundi",n);
              break;
         case 2:
              printf("Mardi",n);
              break;
         case 3:
              printf("Mercredi",n);
              break;
         case 4:
              printf("Jeudi",n);
              break;
         case 5:
              printf("Vendredi",n);
              break;
         case 6:
              printf("Samedi",n);
              break;
         case 7:
              printf("Dimanche",n);
              break;
         default:
              printf("n est pas valide");
              break;
    }
    Qui fait à peu de chose près pareil qu'avant ( sauf que j'ai rajouté le message d'erreur ).
    Donc dans le 'switch' on met ce que l'on veut tester.
    Et les case indique, en français, quelque chose comme, dans le cas où ( ce que contient le switch ) n est équivalent à ( ce qui suit le case ) 1 , affiche Lundi
    Le break permet de sortir de morceau du switch ( donc d'aller après l'accolade fermante ) qui permet d'éviter d'afficher les autres printf ( essaie sans tu comprendra )
    Le mot clé 'default' n'est atteint que lorsque ce que contient le switch ( n ) ne correspond pas aux case. Donc si on a une erreur pour notre cas.

    Si tu n'as pas tout compris, essaie par toi même ou demande
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Ainsi au lieu de faire:
    if (n==1) printf("Lundi\n");
    (...)

    Tu pourrai faire

    if (n==1) printf("Lundi\n");
    else if (...)

    (...) Qui peut donc se simplifier avec un 'switch'
    Pour ce contexte-ci, la méthode switch est parfaitement adéquate. Toutefois, je nuancerais en précisant qu'un switch ne correspond pas à une succession de if/else if, mais plutôt à une succession de conditions effectuant un goto en cas de succès. Un switch pourrait plutôt s'apparenter à ceci :

    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
    if (valeur==1) goto saut1;
    if (valeur==2) goto saut2;
    if (valeur==3) goto saut3;
    /* ( ... autres conditions ... ) */
    goto par_defaut: /* en cas d'échec de toutes les conditions précédentes */
    saut1:
    /* (... code associé à la condition 1 ...) */
    goto fin_du_switch; /* Si présence du break;, sinon l'enlever */
    saut2:
    /* (... code associé à la condition 2 ...) */
    goto fin_du_switch; /* Si présence du break;, sinon l'enlever */
    saut3:
    /* (... code associé à la condition 3 ...) */
    goto fin_du_switch; /* Si présence du break;, sinon l'enlever */
    /* (... autres sauts et code associé ...) */
    par_defaut:
    /* (... code en cas d'échec aux précédentes conditions ...) */
    
    fin_du_switch:
    
    /* (... suite du programme ...) */

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connaitre le numéro du jour dans la semaine
    Par Calarith dans le forum C#
    Réponses: 2
    Dernier message: 13/06/2010, 22h48
  2. Récupérer le numéro du jour dans la semaine
    Par alliance dans le forum MFC
    Réponses: 1
    Dernier message: 19/10/2007, 10h54
  3. [DOS] récupérer le numéro du jour dans un batch
    Par maxo dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 23/03/2007, 16h25
  4. trouver la position relative du jour dans la semaine
    Par toomsounet dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2007, 16h06
  5. Réponses: 6
    Dernier message: 25/09/2006, 14h51

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