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 :

casse-tete chinois !


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 112
    Points : 53
    Points
    53
    Par défaut casse-tete chinois !
    Bonsoir tout le monde !

    Un autre casse-tete chinois de notre cher professeur a l'universite. Cette fois il s'agit de comptabilite.
    Le but de l'exercice c'est d'imprimer le temps necessaire pour que la somme investie dans la caisse d'epargne atteingne le triple de la somme mise au demarrage, en utilisant le principe des interets cumules annuel.

    J'ai ecrit ce code mais il parait que j'ai un probleme au niveau du scoop while
    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
     
    // calculating the yearly interests
     
    # include <stdio.h>
    # include <conio.h>
    # include <stdlib.h>
    # include <math.h>
    void main (void)
    {
    int counter=0, years;
    float b=0.07;
    long yearly_amount, money, yearly_value, changing_value=0;
    printf("please enter the value .. \n");
    scanf("%dl", &money);
    yearly_amount=money*b;
    printf("the value of cumulated yearly interest is %dl", yearly_amount);
    yearly_value=money+yearly_amount;
     
    while (changing_value%3==0)
    		{
          yearly_amount=yearly_value*b;
          changing_value=yearly_amount+changing_value;
          years++;
     
          }
           printf("the needed year to gain 3 times the earned money are %d", years);
          getch();
    }
    alors j'attends vos commentaires et biensur vos conseils.

    @+

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par bonomsoleil
    Cette fois il s'agit de comptabilite.
    Le but de l'exercice c'est d'imprimer le temps necessaire pour que la somme investie dans la caisse d'epargne atteingne le triple de la somme mise au demarrage, en utilisant le principe des interets cumules annuel.
    Alors c'est de la finance et non de la compta... Peu importe, de toutes façons, j'y connais rien et ça me sort par les trous de nez...
    J'ai ecrit ce code mais il parait que j'ai un probleme au niveau du scoop while

    alors j'attends vos commentaires et biensur vos conseils.
    Déjà, il faudrait corriger ç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
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : C:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:8: warning: return type of 'main' is not `int'
    main.c: In function `main':
    main.c:13: warning: int format, long int arg (arg 2)
    main.c:15: warning: int format, long int arg (arg 2)
    main.c:9: warning: unused variable `counter'
    main.c:9: warning: 'years' might be used uninitialized in this function
    Linking console executable: C:\dev\forums\forums.exe
    Process terminated with status 0 (0 minutes, 4 seconds)
    0 errors, 5 warnings
    Quelques corrections et remarques :
    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
    // calculating the yearly interests
     
    #include <stdio.h>
     
    /* -ed- inutile et non standard.
    #include <conio.h>
    */
     
    #include <stdlib.h>
    #include <math.h>
     
    /* -ed-
    void main (void)
     
       main () returne int. Toujours.
    */
    int main (void)
    {
       int
       /* -ed- non utilisee
          counter = 0,
        */
          /* -ed- variable non initialisee. ajoute '= 0' */
         years = 0;
     
    /* -ed-
       float b = 0.07;
     
     je recommande de faire les calculs en double
     Tout ce qui dépend de b devrait etre de type double...
     
       */
       double b = 0.07;
       long yearly_amount, money, yearly_value, changing_value = 0;
       printf ("please enter the value .. \n");
       /* -ed-
          scanf ("%dl", &money);
     
          pour long, c'est "%ld" et non "%dl"
        */
       scanf ("%ld", &money);
     
       yearly_amount = money * b;
     
       /* -ed-
          printf ("the value of cumulated yearly interest is %dl", yearly_amount);
     
          meme probleme...
          ajoute \n
        */
       printf ("the value of cumulated yearly interest is %ld\n", yearly_amount);
     
       yearly_value = money + yearly_amount;
     
       while (changing_value % 3 == 0)
       {
          yearly_amount = yearly_value * b;
          changing_value = yearly_amount + changing_value;
          years++;
     
       }
     
       /* -ed- ajoute \n */
       printf ("the needed year to gain 3 times the earned money are %d\n", years);
     
       /* -ed- inutile et non standard.
          getch ();
        */
     
       /* -ed- parce que main() retourne int... */
       return 0;
    }
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 112
    Points : 53
    Points
    53
    Par défaut
    [QUOTE=Emmanuel Delahaye]
    Déjà, il faudrait corriger ç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
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : C:\dev\forums\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c:8: warning: return type of 'main' is not `int'
    main.c: In function `main':
    main.c:13: warning: int format, long int arg (arg 2)
    main.c:15: warning: int format, long int arg (arg 2)
    main.c:9: warning: unused variable `counter'
    main.c:9: warning: 'years' might be used uninitialized in this function
    Linking console executable: C:\dev\forums\forums.exe
    Process terminated with status 0 (0 minutes, 4 seconds)
    0 errors, 5 warnings
    Quelques corrections et remarques :
    [CODE]// calculating the yearly interests

    c'est quoi ce code ?

  4. #4
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    C'est ton code revu et corrigé
    Il a notamment erradiqué les warnings

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 112
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Gruik
    C'est ton code revu et corrigé
    Il a notamment erradiqué les warnings
    Oui pour les commentaire j'ai bien saisi mais dont je parlais c'est les phrases en anglais en haut. Ne s'agit-il pas des reponses du compilateur ?

  6. #6
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Non, non : c'est une tirade de Hamlet ! Je plaisante, bien-sûr !

    C'est écrit en haut : ça doit à coup sûr être la sortie de gcc après compilation de ton propre code.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 112
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par InOCamlWeTrust
    Non, non : c'est une tirade de Hamlet ! Je plaisante, bien-sûr !

    C'est écrit en haut : ça doit à coup sûr être la sortie de gcc après compilation de ton propre code.
    alors la je dois adjuster mes lunettes

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par bonomsoleil
    alors la je dois adjuster mes lunettes
    Tu dois surtout apprenre à configurer les options de ton compilateur. Par exemple (gcc) :
    -Wall -Wextra (ou -W si ancien) -O2 et même -ansi -pedantic pour des contrôles plus sévères...
    Pas de Wi-Fi à la maison : CPL

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 112
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Tu dois surtout apprenre à configurer les options de ton compilateur. Par exemple (gcc) :
    -Wall -Wextra (ou -W si ancien) -O2 et même -ansi -pedantic pour des contrôles plus sévères...
    ou pourrais-je trouver des tutos pour la config du borland 5.01 ?

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par bonomsoleil
    ou pourrais-je trouver des tutos pour la config du borland 5.01 ?
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. [AC-2003] Casse tete chinois : formulaire-données-formulaire
    Par izydhor dans le forum Access
    Réponses: 1
    Dernier message: 24/12/2013, 10h10
  2. Partage de fichiers windows XP, un casse tete chinois
    Par Mister_FX dans le forum Administration
    Réponses: 1
    Dernier message: 29/11/2008, 03h21
  3. .h ou .cpp ? casse tete chinois
    Par laatysha dans le forum C++/CLI
    Réponses: 1
    Dernier message: 11/03/2007, 22h52
  4. casse tete de requete
    Par moutey dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/12/2004, 14h00
  5. [casse-tete (pour moi)] recuperer la largeur d'un <div>
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 05/11/2004, 07h39

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