Répondre à la discussion
Affichage des résultats 1 à 22 sur 22

[Langage C ] j'arrive pas à faire un truc....



  1. #1
    Blind3ur

    [Langage C ] j'arrive pas à faire un truc....


    ------

    Bonjour tout le monde,

    Je suis en train de faire un mini logiciel et j'ai un petit problème c'est que j'arrive pas à faire ça en langage C :

    logiciel : Quelle jour on est ?
    la personne : On est le 31/12/2011
    logiciel : Quelle jour êtes vous née ?
    la personne : 31/12/2011
    logiciel : Bonne Anniversaire

    Et si c'est pas son anniversaire :

    logiciel : Quelle jour on est ?
    la personne : On est le 31/12/2011
    logiciel : Quelle jour êtes vous née ?
    la personne : 01/12/2011
    logiciel : Ah désolé, ce n'est pas encore votre anniversaire .


    Voilà j'arrive pas à faire ça ... Je pense qu'il faut faire des conditions, mais je sais pas comment .

    Donc j’espère qu'une personne pourra m'aider à résoudre ce problème .

    Merci !! Et Bonne Année 2012 !!!
    Cordialement,


    Ps : Voici le code pour si des personnes on besoin .

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    { int bien ;
    printf("********************** ****************************** **************\n");
    printf("*************** Bienvenue dans Happy Birthday 1.0 !!!! ***************\n");
    printf("********************** ****************************** **************\n\n\n");
    printf("Bon nous allons commencer !!\n\n");
    printf("Comment allez vous ? \n\n");
    printf("1. Je vais bien .\n\n");
    printf("2. Je ne vais pas bien .\n\n");
    printf("tapez un des 2 chiffres :\t");
    scanf("%d", &bien);

    switch (bien)
    { case 1 :
    printf("Moi aussi je vais bien ! \n\n");
    break;
    case 2 :
    printf("Moi je vais bien.(\n\n");
    printf("La Beta 1 de 'HB' n'a pas encore la possibilite de vous demander pourquoi ?\n\n");
    break;
    default :
    printf("Vous n'avez pas tape le bon chiffre =) recommencer svp =)\n\n\n");
    break;
    }

    int aujourdhui;
    printf("1.Quelle jour on est ? (JJ/MM/AAAA) \n\n"); // C'est à partir de ici que j'ai le problème ... jusqu’à la fin du programme ..
    scanf("%d",&aujourdhui);
    printf("D'accord\n\n", aujourdhui);

    int age;
    printf("2.Quelle est votre date de naissance ? (JJ/MM/AAAA) \n\n");
    scanf("%d",&age);
    printf("Ok !!!");


    system("pause");

    return 0;
    }

    -----

  2. Publicité
  3. #2
    photon57

    Re : [Langage C ] j'arrive pas à faire un truc....

    Hello,

    Nom : code.png
Affichages : 54
Taille : 1,3 Ko

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int
    main ()
    {
      int bien;
      printf
        ("******************************************************************\n");
      printf
        ("*************** Bienvenue dans Happy Birthday 1.0 !!!! ***************\n");
      printf
        ("******************************************************************\n\n\n");
      printf ("Bon nous allons commencer !!\n\n");
      printf ("Comment allez vous ? \n\n");
      printf ("1. Je vais bien .\n\n");
      printf ("2. Je ne vais pas bien .\n\n");
      printf ("tapez un des 2 chiffres :\t");
      scanf ("%d", &bien);
    
    
      switch (bien)
        {
        case 1:
          printf ("Moi aussi je vais bien ! \n\n");
          break;
        case 2:
          printf ("Moi je vais bien.(\n\n");
          printf
            ("La Beta 1 de 'HB' n'a pas encore la possibilite de vous demander pourquoi ?\n\n");
          break;
        default:
          printf
            ("Vous n'avez pas tape le bon chiffre =) recommencer svp =)\n\n\n");
          break;
        }
    
    
      int aujourdhui;
      printf ("1.Quelle jour on est ? (JJ/MM/AAAA) \n\n");  // C'est à partir de ici que j'ai le problème ... jusqu’à la fin du programme .. 
      scanf ("%d", &aujourdhui);
      printf ("D'accord\n\n", aujourdhui);
    
    
      int age;
      printf ("2.Quelle est votre date de naissance ? (JJ/MM/AAAA) \n\n");
      scanf ("%d", &age);
      printf ("Ok !!!");
    
    
    
    
      system ("pause");
    
    
      return 0;
    }
    Remarques :

    * pour recommencer une entrée il faut utiliser une boucle, du style tant que la réponse n'est pas correcte redemander ...

    * une date est composée de 3 entiers ... il faut donc en demander 3 ... soit en formattant bien la saisie de scanf, soit en demandant séparément le jour, le mois et l'année.

  4. #3
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Ok, merci =) . Mais peut tu me montrer un exemple pour formater bien la saisie "Scanf" . Merci .

  5. #4
    photon57

    Re : [Langage C ] j'arrive pas à faire un truc....

    Quel est ton niveau ?

    Sais-tu utiliser les boucles et les conditionnelles ?

  6. A voir en vidéo sur Futura
  7. #5
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Bah, j'ai un niveau de débutant pour l'instant .
    Oui, je sais à peu près utiliser les conditions et les boucles ça peut aller .

  8. #6
    photon57

    Re : [Langage C ] j'arrive pas à faire un truc....

    Citation Envoyé par Blind3ur Voir le message
    Bah, j'ai un niveau de débutant pour l'instant .
    Oui, je sais à peu près utiliser les conditions et les boucles ça peut aller .
    Une façon de faire pour le début pourrait-être :

    Code:
    int saisieOK=0;
    int entreesLues=0;
    int cava=0;
    
    while (!saisieOK) {
      printf("Entrez 1 ou 2 : ");
      entreesLues = scanf("%d",&cava);
      saisieOK = (entreesLues==1) && (cava>0) && (cava<3);
      if (!saisieOK)
        printf("Entrée non valide.\n");
    }

  9. Publicité
  10. #7
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Ok, merci .

  11. #8
    defender19

    Re : [Langage C ] j'arrive pas à faire un truc....

    Pour saisir la date, tu dois en effet passer par trois entiers, tu peux donc faire comme ça ou tout faire en un coup.

    Code:
    int jour, mois, ans;
      printf ("1.Quel jour on est ?\n"); 
      scanf ("%d", &jour);
      printf ("1.Quel mois on est ?\n"); 
      scanf ("%d", &mois);
      printf ("1.Quelle année on est ?\n"); 
      scanf ("%d", &ans);
      printf ("D'accord, nous sommes donc le : %d/%d/%d", jour, mois, ans);
    Si mes souvenirs de C avec les % sont bon, ça devrait marcher.
    Tu peux donc reprendre ce schéma pour la date et celle de l'anniversaire.

  12. #9
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Citation Envoyé par Blind3ur Voir le message
    logiciel : Quelle jour on est ?
    la personne : On est le 31/12/2011
    logiciel : Quelle jour est votre anniversaire ?
    la personne : 31/12/2011
    logiciel : Bonne Anniversaire

    Et si c'est pas son anniversaire :

    logiciel : Quelle jour on est ?
    la personne : On est le 31/12/2011
    logiciel : Quelle jour est votre anniversaire ?
    la personne : 01/12/2012
    logiciel : Ah désolé, ce n'est pas encore votre anniversaire .


    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {     int bien ;
         printf("******************************************************************\n");
         printf("*************** Bienvenue dans Happy Birthday 1.0 !!!! ***************\n");
         printf("******************************************************************\n\n\n");
         printf("Bon nous allons commencer !!\n\n");
         printf("Comment allez vous ? \n\n");
         printf("1. Je vais bien .\n\n");
         printf("2. Je ne vais pas bien .\n\n");
         printf("tapez un des 2 chiffres :\t");
         scanf("%d", &bien);
    
         switch (bien)
        { case 1 :
          printf("Moi aussi je vais bien ! :D\n\n");
          break;
          case 2 :
          printf("Moi je vais bien.(\n\n");
          printf("La Beta 1 de 'HB' n'a pas encore la possibilite de vous demander pourquoi ?\n\n");
          break;
          default :
          printf("Vous n'avez pas tape le bon chiffre =) recommencer svp =)\n\n\n");
          break;
          }
    
          int jour, mois, ans;
      printf ("1.Quel jour on est ?\n"); 
      scanf ("%d", &jour);
      printf ("1.Quel mois on est ?\n"); 
      scanf ("%d", &mois);
      printf ("1.Quelle année on est ?\n"); 
      scanf ("%d", &ans);
      printf ("D'accord, nous sommes donc le : %d/%d/%d", jour, mois, ans);
    
    int jour, mois, ans;
      printf ("1.Quel jour etes vous nee ?\n"); 
      scanf ("%d", &jour);
      printf ("1.Quel mois etes vous née  ?\n"); 
      scanf ("%d", &mois);
      printf ("1.Quelle année on est ?\n"); 
      scanf ("%d", &ans);
      printf ("D'accord, nous sommes donc le : %d/%d/%d", jour, mois, ans);
     
    /* Et à partir de la, je voudrai savoir le code pour la conclusion soit bonne c'est à dire que ci le jour d'aujourd'hui et identique au jour de son anniversaire alors c'est "Joyeux Anniversaire" et si ce n'est pas identique alors "Désolé ce n'est pas aujourd'hui votre anniversaire " c'est là que j'arrive pas ... Merci .*/
    
          system("pause");
    
        return 0;
    }
    Merci defender19 et photon57 pour m'avoir un peu aidé . Sinon moi je voudrai le code pour conclure que la date d'aujourd'hui et identique à son anniversaire et si c'est identique ça dira "Joyeux Anniversaire" et si ce n'est pas identique ça dira "Désolé ce n'est pas aujourd'hui votre anniversaire " . Merci d'avance . =)

  13. #10
    photon57

    Re : [Langage C ] j'arrive pas à faire un truc....

    Attends le plus compliqué est fait ... comment tu fais toi pour savoir si quelqu'un a anniversaire le jour même ?

  14. #11
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Bah si le jour 31/12/2011 est pareil que le jour de son anniversaire 31/12/2011 . La personne tape le jour et il tape le jour de son anniversaire qui est dans l'année et si le jour qu'il a tapé et le jour de son anniversaire qu'il a tapé son identique alors le logiciel lui souhaite "Bon Anniversaire" et si, ce n'est pas identique alors il lui dit "désolé ce n'est pas aujourd'hui votre anniversaire" .

  15. #12
    polo974

    Re : [Langage C ] j'arrive pas à faire un truc....

    si tu ne veux pas faire de test de validité sur l'année, tu peux carrément la zapper:
    int jour, j_anniv, mois, m_anniv;

    scanf("%d/%d/",&jour, &mois);

    scanf("%d/%d/",&j_anniv, &m_anniv);

    // puis test
    if ((jour == j_anniv) && (mois == m_anniv))
    printf("un ptit beur des touyous\n");
    else
    printf(reviens demain\n");
    Jusqu'ici tout va bien...

  16. Publicité
  17. #13
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    J'ai essayé et ça fait rien .

  18. #14
    photon57

    Re : [Langage C ] j'arrive pas à faire un truc....

    Citation Envoyé par Blind3ur Voir le message
    J'ai essayé et ça fait rien .
    En 3 messages on t'a entièrement fait ton exo ...
    recopie bien et ça fonctionnera.

  19. #15
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Ok bah je vais essayé et merci !! =)

  20. #16
    danyvio

    Re : [Langage C ] j'arrive pas à faire un truc....

    Citation Envoyé par Blind3ur Voir le message
    logiciel : Quelle jour on est ?
    la personne : On est le 31/12/2011
    logiciel : Quelle jour êtes vous née ?
    la personne : 31/12/2011
    logiciel : Bonne Anniversaire
    Je dirais même : bienvenue chez les humains
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

  21. #17
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Voilà j'ai enfin réussi à finir le logiciel "HB 1.0" . Je remercie les personnes qui m'ont aidé Photon57 et Defender19 . =)

    J'ai l'honneur de vous présentez "HB 1.0" XD :

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {     int bien ;
         printf("******************************************************************\n");
         printf("*************** Bienvenue dans Happy Birthday 1.0 !!!! ***************\n");
         printf("******************************************************************\n\n\n");
         printf("Bon nous allons commencer !!\n\n");
         printf("Comment allez vous ? \n\n");
         printf("1. Je vais bien .\n\n");
         printf("2. Je ne vais pas bien .\n\n");
         printf("tapez un des 2 chiffres :\t");
         scanf("%d", &bien);
    
         switch (bien)
        { case 1 :
          printf("Moi aussi je vais bien ! :D\n\n");
          break;
          case 2 :
          printf("Moi je vais bien.(\n\n");
          printf("La Beta 1 de 'HB' n'a pas encore la possibilite de vous demander pourquoi ?\n\n");
          break;
          default :
          printf("Vous n'avez pas tape le bon chiffre =) recommencer svp =)\n\n\n");
          break;
          }
    
     int jour, mois, ans;
      printf ("1.Quel jour on est ?\n");
      scanf ("%d", &jour);
      printf ("1.Quel mois on est ?\n");
      scanf ("%d", &mois);
      printf ("1.Quelle annee on est ?\n");
      scanf ("%d", &ans);
      printf ("D'accord, nous sommes donc le : %d/%d/%d\n\n", jour, mois, ans);
    
    int jouranniversaire, moisanniversaire, anneeaniversaire ;
      printf ("1.Quel jour etes vous nee ?\n");
      scanf ("%d", &jouranniversaire);
      printf ("1.Quel mois etes vous nee  ?\n");
      scanf ("%d", &moisanniversaire);
      printf ("1.Quelle annee on est ?\n");
      scanf ("%d", &anneeaniversaire);
      printf ("D'accord, votre anniversaire est donc le : %d/%d/%d\n\n", jouranniversaire, moisanniversaire, anneeaniversaire );
    
      if (jouranniversaire == jour && moisanniversaire == mois && anneeaniversaire == ans)
    {
      printf("\n\n\n");
    
         printf("**   **|*****        ~~     ~~            \n");
         printf("**   **|*    *     __||_____||__                      \n");
         printf("**   **|*     *    OOOOOOOOOOOOO                     \n");
         printf("*******|******     ~~~~~~~~~~~~~                        \n");
         printf("*******|******     \\          //                         \n");
         printf("**   **|*     *     ~~~~~~~~~~~                        \n");
         printf("**   **|*    *      \\________//                       \n");
         printf("**   **|*****                              \n\n\n");
    
    
    printf(" JOYEUX ANNIVERSAIRE !!!!!!!!!!!!\n");
    }
    else
    {
      printf("Dommage ce n'est pas votre anniversaire aujourd'hui, revene une autre fois, merci !!! =) \n\n");
    }
    
    
      system("pause");
    
        return 0;
    }

    Vous pouvez maintenant l'essayer dans(sur, (je sais pas le quelle prendre x) )) votre IDE (Code Blocks ou autre) et me dire comment vous le trouvez =) . Bien sur, ce n'est que la bêta 1 =) . Merci .

    Et Bonne Année,
    Et je remercie une deuxième fois les personnes qui m'ont aidé =) .

  22. #18
    defender19

    Re : [Langage C ] j'arrive pas à faire un truc....

    C'est bien, tu peux maintenant tu peux l'améliorer!

    Et corriger ça : if (jouranniversaire == jour && moisanniversaire == mois && anneeaniversaire == ans), car ton anniversaire risque pas d'arriver si tu dois être dans l'année de ta naissance pour qu'on te le souhaite

  23. Publicité
  24. #19
    whoami

    Re : [Langage C ] j'arrive pas à faire un truc....

    Bonjour,

    Oui, et faire une présentation du code régulière et cohérente, et aussi, découper tout ça en fonctions.

    Et pour lecture d'une date, plutôt lire toute la chaîne, et faire un parseur (quel que soit le soin à prévoir un scanf, il faut TOUJOURS prévoir des entrées fautives, ça représente une grande partie d'un programme quand il y a interactivité avec un humain).


  25. #20
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Oui, merci pour les conseilles =) . J’essayerai d'améliorer tout ça dans les Bêta à venir .

  26. #21
    defender19

    Re : [Langage C ] j'arrive pas à faire un truc....

    Tu peux te servir de l'année pour pour calculer son age! Un truc du genre : printf("c'est votre annif! vous avez x ans!");

  27. #22
    Blind3ur

    Re : [Langage C ] j'arrive pas à faire un truc....

    Hmm, oui j'avoue c'est une bonne idée . J'ai hâte de tester tout ça pour la Bêta 2 de HB .

Discussions similaires

  1. petite integrale que j'arrive pas à faire
    Par mathildefou dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 15/12/2010, 07h27
  2. J'arrive pas à me reperer
    Par yoyox dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 27
    Dernier message: 29/12/2008, 19h12
  3. truc en langage assembleur PIC
    Par mejdi_electronique dans le forum Électronique
    Réponses: 0
    Dernier message: 04/06/2007, 20h05
  4. truc en langage assembleur
    Par mejdi_electronique dans le forum Électronique
    Réponses: 3
    Dernier message: 23/05/2007, 20h16
  5. petit calcul que j'arrive pas à faire
    Par theo2059 dans le forum Mathématiques du supérieur
    Réponses: 14
    Dernier message: 26/02/2006, 18h34