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 :

Programme à réaliser en C(petit probl)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut Programme à réaliser en C(petit probl)
    Bonjour voila je doit réaliser un programme ayan comme enoncer ceci :

    L'utilisateur introduit la valeur d'une année ainsi qu'un numéro de trimestre
    Au cas ou la date correspondant a la fin du trimestre dépasse la date du jour(date que je met directement dans une variable), affichez uniquement un message d'erreur.

    Ensuite , l'utilisateur encode les valeurs de 2 dates sous la forme AAAAMMJJ .
    Dans la mesure ou la premiere date est <= à la deuxiéme , vérifiez qu'au moins un jour de l'intervalle formé par ces 2 date est repris dans le trimestre de l'année concernée.Affichez un message adéquat.


    Bon voila ce que j'ai deja fais :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
     
    #include <mylib.h>
    #include <stdio.h>
     
     
     
    long int annee = 0;
    long int trimestre = 0;
    long int datepc  = 20061125;
    long int finpremier ;
    long int findeuxieme;
    long int fintroisieme;
    long int finquatrieme;
     
               int main ()
     
    {
        cls (BLEU);
        gotoxy (1, 1); printf ("%45s", "DEVOIR");
    	gotoxy (2, 1); printf ("%45s", "=====================");
    	gotoxy (4, 1); printf ("   Annee :        :");
    	lire_long_int (&annee, 4, 28, 4, 1, 2999);
    	gotoxy (5, 1); printf ("   Trimestre :        :");
    	lire_long_int (&trimestre, 5, 28, 1, 0, 9);
        finpremier = (annee * 10000 )+ 331 ;
        findeuxieme =(annee * 10000 )+ 630 ;
        fintroisieme =(annee * 10000 )+ 930 ;
        finquatrieme =(annee * 10000 )+ 1203 ;
     
       if ((trimestre ==1 )&& (finpremier > datepc )){
           gotoxy (9, 1); printf ("ERREUR \n");
           system ("pause");
     
     
       }/* end if  */
     
           else  {
     
              if ((trimestre ==2 )&& (findeuxieme > datepc )){
                  gotoxy (9, 1); printf ("ERREUR \n");
                  system ("pause");
              } /* end if  */
     
              else  {
     
                     if ((trimestre ==3 )&& (fintroisieme > datepc )){
                         gotoxy (9, 1); printf ("ERREUR \n");
                         system ("pause");
                      } /* end if  */
     
     
                       else  {
     
                              if ((trimestre ==4 )&& (finquatrieme > datepc )){
                                 gotoxy (9, 1); printf ("ERREUR \n");
                                 system ("pause");
     
                              } /* end if  */
     
     
                              else {
     
                                   gotoxy (10, 1); printf ("date du jour: %ld  \n\n\n",  datepc);
                                   system ("pause");
     
              }
                 }
     
                       }
     
     
                              }
     
     
     
     
     
        system ("pause");
    	return 0;
     
     } /* end main  */
    Si quelqu'un aurait une idée ou plusieur lol je les prend toute merci d'avance

  2. #2
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Déjà quelques remarques :
    • Commente ton code;
    • Utilises les fonctions (le bloc qui vérifie la date revient 4 fois; tu aurais pu en faire une fonction) pour améliorer la lisibilité.
      Concernant la date de fin de trimestre, tu pourrais aussi simplifier en utilisant un tableau indexé par le trimestre;
    • Pourquoi utiliser des long int pour stocker des nombres d'au plus 4 chiffres ?
    • En cas d'erreur, ton main() renvoie la même valeur qu'en cas de succès.


    Tu n'as pas posé de question dans ton post...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut
    en fait je commencer seuleument le language c et pour le moment je n'ai vu que long int , double et char .

    Ensuite le raccourcir en 1 fonction , je voix pas comment , et je viens de m'apercevoir que le code n'est pas bon pour ce que je veux obptenir pfffff

  4. #4
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Par exemple comme ça :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    #include <mylib.h>
    #include <stdio.h>
     
    long int annee = 0;
    long int trimestre = 0;
    long int datepc  = 20061125;
    long int finTrimestre[4];
     
    int verifierDate(long int *_finTrimestre, long int _datepc) {
        int i;
        for (i = 0; i < 4; i++) {
            if (_finTrimestre[i] < _datepc)
                return 1;
        }
        return 0;
    }
     
    int main ()
    {
        cls (BLEU);
        gotoxy (1, 1); printf ("%45s", "DEVOIR");
    	gotoxy (2, 1); printf ("%45s", "=====================");
    	gotoxy (4, 1); printf ("   Annee :        :");
    	lire_long_int (&annee, 4, 28, 4, 1, 2999);
    	gotoxy (5, 1); printf ("   Trimestre :        :");
    	lire_long_int (&trimestre, 5, 28, 1, 0, 9);
     
        finTrimestre[0] = (annee * 10000 )+ 331 ;
        finTrimestre[1] =(annee * 10000 )+ 630 ;
        finTrimestre[2] =(annee * 10000 )+ 930 ;
        finTrimestre[3] =(annee * 10000 )+ 1203 ;
     
        if (verifierDate(finTrimestre, datepc) != 0) {
           gotoxy (9, 1); printf ("ERREUR \n");
           system ("pause");
        }
        else {
            gotoxy (10, 1); printf ("date du jour: %ld  \n\n\n",  datepc);
            system ("pause");
        }
     
        system ("pause");
        return 0;
     } /* end main  */
    Je n'ai pas testé si ça compile. Et le code reste moche.
    Ah, et en plus, j'ai oublié de parler des variables globales !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut
    oui c'est surement une solution , mais je doit effectuer l'exercice avec les condition OR ,AND

  6. #6
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Citation Envoyé par conceicao
    oui c'est surement une solution , mais je doit effectuer l'exercice avec les condition OR ,AND
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ...
    if (
            ((trimestre ==1 )&& (finpremier > datepc))
         || ((trimestre ==2 )&& (findeuxieme > datepc))
         || ((trimestre ==3 )&& (fintroisieme > datepc))
         || ((trimestre ==4 )&& (finquatrieme > datepc))
      ) {
         gotoxy (9, 1); printf ("ERREUR \n");
    } else {
         gotoxy (10, 1); printf ("date du jour: %ld  \n\n\n",  datepc);
    }
    system("pause");
    ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/02/2012, 13h39
  2. Apple va lancer son programme d'assistance aux petites entreprises
    Par Katleen Erna dans le forum Actualités
    Réponses: 0
    Dernier message: 28/02/2011, 19h49
  3. Programme pour compiler des petits fichiers java
    Par Invité dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 14/09/2010, 16h22
  4. Demande d'aide pour la réalisation d'un petit jeu video
    Par Frank1010 dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 08/09/2009, 07h59
  5. [Syntaxe] PETIT probl avec un Jlabel
    Par blackcrow1981 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/09/2006, 19h53

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