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 :

Recherche de scipte (avec librairie math.h)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut Recherche de scipte (avec librairie math.h)
    Salut a tous,

    Voila mon petit probleme :

    je cherche un scripte capable de me faire ca calcule :
    cout Total = (coût au niveau 1) * 1,5^(n-1)

    avec n : variable
    cout Total : tableau (3 case)
    coût au niveau 1 : tableau (3 case)

    Merci d'avance pour toutes vos proposition

  2. #2
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    C'est assez simple.
    Qu'as-tu comme code, et quel est le problème ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    je n'ai pas do code j'en cherche un pour realiser ce calcule ca fait beintot 2 semaine que ej cherche sans succes

  4. #4
    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 Re: Recherche de scipte (avec librairie math.h)
    Citation Envoyé par N@CR0T!C
    je cherche un scripte capable de me faire ca calcule :
    Pas de script en C, mais un code source...
    cout Total = (coût au niveau 1) * 1,5^(n-1)

    avec n : variable
    cout Total : tableau (3 case)
    coût au niveau 1 : tableau (3 case)
    pow()

    Fait de ton mieux et poste ton code.

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    T'as pas dû beaucoup chercher en dehors d'internet...
    Allez, ça ne compile pas, mais c'est l'idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    mult = pow(1.5, n-1);
    total[0]=niveau1[0]*mult;
    total[1]=niveau1[1]*mult;
    total[2]=niveau1[2]*mult;
    En n'oubliant pas le include maths, et en déclarant des doubles comme il faut

    Edit: évidement, je n'ai pas mis de boucle, évidement, j'ai fait comme j'ai pu avec tes données, si tu as plus de données, ça sera plus efficace.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    desoler pour cette erreur de vocabulaire


    j'utilise la fontion pow depuis le debut masi sans succes ...

    voici un code que je vien de retrouver il me sembe que c'est le dernier mais je en suis pas sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                niveauBase--;
                niveauFinal--;
                pow0 = pow(1.5, niveauBase);
                pow1 = pow(1.5, niveauFinal);
     
                for(i=0;i<3;i++)
                {
     
                    coutTotal[i] += ((coutBase[i] * pow0) - (coutBase[i] * pow1));
     
                }

  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 N@CR0T!C
    j'utilise la fontion pow depuis le debut masi sans succes ...

    voici un code que ej vien de retrouver il me sembe que c'est le dernier mais je en suis pas sur
    Merci de poster du code compilable. Comment veux-tu qu'on teste du code incomplet ? On ne sait pas ce que tu as oublié.

    Et si toi, tu ne sais pas ce que tu postes, dit toi bien que pour nous, c'est encore pire !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    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
                long niveauBase, niveauFinal, i=0;
                double pow0 = 0, pow1 = 0, coutSousTotalBas[3] = {0}, coutBase[3] = {60,15,0}, coutSousTotalHaut[3] = {0}, coutSousTotal[3] = {0};
                printf("Entrez le niveau de reference de votre mine de metal : ");
                scanf("%lf", &niveauBase);
                printf("Entrez le nniveau final de votre mine : ");
                scanf("%lf", &niveauFinal);
                niveauBase--;
                niveauFinal--;
                pow0 = pow(1.5, niveauBase);
                pow1 = pow(1.5, niveauFinal);
     
                for(i=0;i<3;i++)
                {
     
                    coutTotal[i] += ((coutBase[i] * pow0) - (coutBase[i] * pow1));
     
                }
     
                printf("%lf\n", coutTotal[1]);
                printf("%lf\n", coutTotal[2]);
                printf("%lf\n", coutTotal[3]);
                printf("%lf\n", pow0);
                printf("%lf\n", pow1);
                system("PAUSE");
                main();
    progman>


    voici le scripte adapté a mon cas :
    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
           {
                long niveauBase, niveauFinal, i=0;
                long mult = 0, multi = 0, coutSousTotalBas[3] = {0}, coutBase[3] = {60,15,0}, coutSousTotalHaut[3] = {0}, coutSousTotal[3] = {0};
                printf("Entrez le niveau de reference de votre mine de metal : ");
                scanf("%ld", &niveauBase);
                printf("Entrez le nniveau final de votre mine : ");
                scanf("%ld", &niveauFinal);
     
                mult = pow(1.5, niveauBase-1);
                multi = pow(1.5, niveauFinal-1);
                for(i=0;i<3;i++)
                {
                    coutTotal[i]=(coutBase[i]*mult)-(coutBase[i]*multi);
                }
     
     
                printf("%ld\n", mult);
                printf("%ld\n", multi);
                printf("%ld\n", coutTotal[1]);
                printf("%ld\n", coutTotal[2]);
                printf("%ld\n", coutTotal[3]);
                system("PAUSE");
                main();
    voici ce que la console affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Entrez le niveau de reference de votre mine de metal : 13
    Entrez le nniveau final de votre mine : 14
    129
    194
    0
    0
    29772306
    Appuyez sur une touche pour continuer...

  9. #9
    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
    Tu sais ce que ça veut dire 'compilable' ?
    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
     
    Compiling: main.c
    main.c:8: error: syntax error before string constant
    main.c:8: warning: type defaults to `int' in declaration of `printf'
    main.c:8: warning: function declaration isn't a prototype
    main.c:8: warning: conflicting types for built-in function 'printf'
    main.c:8: warning: data definition has no type or storage class
    main.c:9: error: syntax error before string constant
    main.c:9: warning: type defaults to `int' in declaration of `scanf'
    main.c:9: warning: function declaration isn't a prototype
    main.c:9: warning: conflicting types for built-in function 'scanf'
    main.c:9: warning: data definition has no type or storage class
    main.c:10: error: syntax error before string constant
    main.c:10: warning: type defaults to `int' in declaration of `printf'
    main.c:10: warning: function declaration isn't a prototype
    main.c:10: warning: redundant redeclaration of 'printf'
    main.c:8: warning: previous declaration of 'printf' was here
    main.c:10: warning: data definition has no type or storage class
    main.c:11: error: syntax error before string constant
    main.c:11: warning: type defaults to `int' in declaration of `scanf'
    main.c:11: warning: function declaration isn't a prototype
    main.c:11: warning: redundant redeclaration of 'scanf'
    main.c:9: warning: previous declaration of 'scanf' was here
    main.c:11: warning: data definition has no type or storage class
    main.c:12: error: syntax error before '--' token
    main.c:14: warning: type defaults to `int' in declaration of `pow0'
    main.c:14: error: conflicting types for 'pow0'
    main.c:7: error: previous definition of 'pow0' was here
    main.c:14: error: implicit declaration of function `pow'
    main.c:14: warning: passing arg 2 of `pow' as floating rather than integer due to prototype
    main.c:14: error: initializer element is not constant
    main.c:14: warning: data definition has no type or storage class
    main.c:15: warning: type defaults to `int' in declaration of `pow1'
    main.c:15: error: conflicting types for 'pow1'
    main.c:7: error: previous definition of 'pow1' was here
    main.c:15: warning: passing arg 2 of `pow' as floating rather than integer due to prototype
    main.c:15: error: initializer element is not constant
    main.c:15: warning: data definition has no type or storage class
    main.c:17: error: syntax error before "for"
    main.c:24: error: syntax error before string constant
    main.c:24: warning: type defaults to `int' in declaration of `printf'
    main.c:24: warning: function declaration isn't a prototype
    main.c:24: warning: redundant redeclaration of 'printf'
    main.c:10: warning: previous declaration of 'printf' was here
    main.c:24: warning: data definition has no type or storage class
    main.c:25: error: syntax error before string constant
    main.c:25: warning: type defaults to `int' in declaration of `printf'
    main.c:25: warning: function declaration isn't a prototype
    main.c:25: warning: redundant redeclaration of 'printf'
    main.c:24: warning: previous declaration of 'printf' was here
    main.c:25: warning: data definition has no type or storage class
    main.c:26: error: syntax error before string constant
    main.c:26: warning: type defaults to `int' in declaration of `printf'
    main.c:26: warning: function declaration isn't a prototype
    main.c:26: warning: redundant redeclaration of 'printf'
    main.c:25: warning: previous declaration of 'printf' was here
    main.c:26: warning: data definition has no type or storage class
    main.c:27: error: syntax error before string constant
    main.c:27: warning: type defaults to `int' in declaration of `printf'
    main.c:27: warning: function declaration isn't a prototype
    main.c:27: warning: redundant redeclaration of 'printf'
    main.c:26: warning: previous declaration of 'printf' was here
    main.c:27: warning: data definition has no type or storage class
    main.c:28: error: syntax error before string constant
    main.c:28: warning: type defaults to `int' in declaration of `printf'
    main.c:28: warning: function declaration isn't a prototype
    main.c:28: warning: redundant redeclaration of 'printf'
    main.c:27: warning: previous declaration of 'printf' was here
    main.c:28: warning: data definition has no type or storage class
    main.c:29: error: syntax error before string constant
    main.c:29: warning: type defaults to `int' in declaration of `system'
    main.c:29: warning: function declaration isn't a prototype
    main.c:29: warning: data definition has no type or storage class
    main.c:30: warning: type defaults to `int' in declaration of `main_'
    main.c:30: warning: function declaration isn't a prototype
    main.c:30: warning: redundant redeclaration of 'main_'
    C:/clib/frmwrk/inc/main.h:36: warning: previous declaration of 'main_' was here
    main.c:30: warning: data definition has no type or storage class
    Process terminated with status 1 (0 minutes, 0 seconds)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    je compile avec code bloc chez moi sans probleme
    ...

    j'ai effectivement omis de declare coutTotal

  11. #11
    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 N@CR0T!C
    je compile avec code bloc chez moi sans probleme
    ...
    Alors poste le code COMPLET.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    Le reste c'est du menu mais si tu insciste ...


    mainCC.c
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include "mainCC.h"
     
    int main()
    {
        system("CLS");
        double coutTotal[3] = {0};
    	printf("Bienvenus dans le Calculateurs de couts de Ogame cree par Neo_Nacrotic\n");
    	printf("Avec ce programes vous porez calculer le couts de vos batiments\nPour pouvoir economiser pour fair ce que vous voulez ou autre ...\n");
        long choixMG =0;
    	printf("==========MENU==========\n\n");
    	printf("1. Batiments\n");
    	printf("2. Recherche\n");
    	printf("3. Vaisseau\n");
    	printf("4. Defense\n");
    	printf("5. Total\n");
    	printf("6. Aide\n");
    	printf("7. Quitter\n");
    	printf("Entrez votre choix : ");
    	scanf("%ld", &choixMG);
     
    	switch(choixMG)
    	{
    	    case 1:
    	    {
    	        batiment(coutTotal);
    	        break;
    	    }
    	    case 2:
    	    {
    	        recherche(coutTotal);
    	        break;
    	    }
    	    case 3:
    	    {
    	        vaisseau(coutTotal);
    	        break;
    	    }
    	    case 4:
    	    {
    	        defense(coutTotal);
    	        break;
    	    }
    	    case 5:
    	    {
    	        total(coutTotal);
    	        break;
    	    }
    	    case 6:
    	    {
    	        system("CLS");
    	        printf("Entrez dans les menus (Batiments, Recherche, ...) pour entrer\n");
    	        printf("les niveaux des batiments et des recherches ainsi que le nombre\n");
    	        printf("de vaisseau que vous voulez construir. Une fois que vous avez\n");
    	        printf("tout rentrer allez dans Total pour avoire les quantite de\n");
    	        printf("materiaux qu'il vous faut pour construire ce que vous avez demander\n");
    	        system("PAUSE");
    	        main();
    	        break;
    	    }
    	    case 7:
    	    {
    	        printf("Pour toute suggestion d'amelioration de ce programme, potez\n");
    	        printf("un mail a : nacrotic@gmail.com en mettant un sujet clair.\n");
    	        system("PAUSE");
    	        exit(0);
    	        break;
    	    }
    	}
     
    	return 0;
    }
    mainCC.h
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
     
     
    double metal = 0, cristal = 0, deuterium = 0;
    void batiment(double *coutTotal);
    void recherche(double *coutTotal);
    void vaisseau(double *coutTotal);
    void defense(double *coutTotal);
    void total(double *coutTotal);
     
     
    void batiment(double *coutTotal)
    {
        long choixMB = 0, niveauBase = 0, niveauFinal = 0;
        printf("==========MENU==========\n");
        printf("1. Mine de Metal\n");
        printf("2. Mine de Cristal\n");
        printf("3. Synthetiseur de Deuterium\n");
        printf("4. Centrale electrique solaire\n");
        printf("5. Centrale électrique de fusion\n");
        printf("6. Usine de robots\n");
        printf("7. Usine de nanites\n");
        printf("8. Chantier spatial\n");
        printf("9. Hangar de métal\n");
        printf("10. Hangar de cristal\n");
        printf("11. Réservoir de deutérium\n");
        printf("12. Laboratoire de recherche\n");
        printf("13. Terraformeur\n");
        printf("14. Silo de missiles\n");
        printf("15. Base lunaire\n");
        printf("16. Phalange de capteur\n");
        printf("17. Porte de saut spatial\n");
        printf("18. Dépôt de ravitaillement\n");
        printf("19. Retour\n");
        printf("Votre choix : ");
        scanf("%ld", &choixMB);
     
        switch(choixMB)
        {
            case 1:
            {
                long niveauBase, niveauFinal, i=0;
                long mult = 0, multi = 0, coutSousTotalBas[3] = {0}, coutBase[3] = {60,15,0}, coutSousTotalHaut[3] = {0}, coutSousTotal[3] = {0};
                printf("Entrez le niveau de reference de votre mine de metal : ");
                scanf("%ld", &niveauBase);
                printf("Entrez le nniveau final de votre mine : ");
                scanf("%ld", &niveauFinal);
     
                mult = pow(1.5, niveauBase-1);
                multi = pow(1.5, niveauFinal-1);
                for(i=0;i<3;i++)
                {
                    coutTotal[i]=(coutBase[i]*mult)-(coutBase[i]*multi);
                }
     
     
                printf("%ld\n", mult);
                printf("%ld\n", multi);
                printf("%ld\n", coutTotal[1]);
                printf("%ld\n", coutTotal[2]);
                printf("%ld\n", coutTotal[3]);
                system("PAUSE");
                main();
                break;
            }
            case 2:
            {
                break;
            }
            case 3:
            {
                break;
            }
            case 4:
            {
                break;
            }
            case 5:
            {
                break;
            }
            case 6:
            {
                break;
            }
            case 7:
            {
                break;
            }
            case 8:
            {
                break;
            }
            case 9:
            {
                break;
            }
            case 10:
            {
                break;
            }
            case 11:
            {
                break;
            }
            case 12:
            {
                break;
            }
            case 13:
            {
                break;
            }
            case 14:
            {
                break;
            }
            case 15:
            {
                break;
            }
            case 16:
            {
                break;
            }
            case 17:
            {
                break;
            }
            case 18:
            {
                break;
            }
            case 19:
            {
                break;
            }
            default:
            {
                break;
            }
        }
    }
    void recherche(double *coutTotal)
    {
     
    }
    void vaisseau(double *coutTotal)
    {
     
    }
    void defense(double *coutTotal)
    {
     
    }
    void total(double *coutTotal)
    {
        long i=0;
        for(i=0;i<3;i++)
        {
            printf("%lf\n", coutTotal[i]);
        }
                system("PAUSE");
     
    }
    Voila ce code est a l'etat experimentale donc seuel la combinaison 1>1 fontion ...

  13. #13
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Euh, dans ton code, tu aurais pu, pour l'instant, remplacer les case par un simple if(), non ?
    Et puis, tu mélanges les doubles et les int...
    Je conseille, dans un premier temps, de tout passer en double.
    Et j'essaie

    Edit: C'est quoi cet appel à main(); dans le switch ??
    En tout cas, il compile avec des warnings (en modifiant deux trois trucs).
    Il se lance, mais il y a un soucis, ne serait-ce que dans le calcul du coût total, c'est censé te donner quoi, j'ai compris l'inspiration de C&C, mais je dois attendre quel résultat ?
    Si je rentre un niveau final supérieur au niveau initial, je me retrouve avec un cout total qui est négatif...
    Entrez le niveau de reference de votre mine de metal : 13
    Entrez le nniveau final de votre mine : 14
    129.746
    194.62
    -973.098
    0
    5.28418e-308
    Appuyez sur une touche pour continuer...

  14. #14
    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 N@CR0T!C
    Le reste c'est du menu mais si tu insciste ...
    Alors première chose à revoir immédiatement : la structure du code. (on ne met jamais de fonctions ou d'instance de variables dans un .h)

    • soit tu mets tout dans un seul fichier source (main.c, par exemple, et tu as bien senti que ça posait un problème pour les gros programmes),
    • soit tu utilises la compilation séparée, et dans ce cas, il faut définir un organisation extrêmement solide du code qui doit suivre des regles précises comme
      [list:fc609358ee]
    • le découpage en blocs fonctionnels
    • la modularisation en unités de compilations testables individuellement
    • la fourniture d'une interface pour les fonctions publiques
    • la non utilisation des globales quand c'est possible
    • etc.

    Une unité de compilation doit être organisée de la façon suivante :

    http://emmanuel-delahaye.developpez....ganiser_source
    http://emmanuel-delahaye.developpez.....htm#organiser

    (c'est pas à la lettre, mais il faut en comprendre l'esprit)[/list:u:fc609358ee]

    En fait, ça commence par une spécification claire. Tu as ça ?

    Par exemple, il faudrait, pour chaque données à entrer à la main, quelle est la plage valide. (min/max)

    Voici l'organisation que je propose :
    • main.c : menu principal
    • batiment.c : menu et traitements batiment
    • etc. (pour le moment, c'est dans menuCC.c)
    • tools.c : outils communs (saisie, notamment)

    http://delahaye.emmanuel.free.fr/nacrotic/

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    En fait, ça commence par une spécification claire. Tu as ça ?

    Qu'entend tu par une specification claire ?

  16. #16
    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 N@CR0T!C
    Qu'entend tu par une specification claire ?
    Un document qui explique ce que doit faire le programme, quelles sont les données externes (type, limites), les comportements attendus (calculs, traitements), le format des sorties (ecran, fichier...)

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    ah oui ca j'ai je te met le contenus



    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    /*==================buts================================*/
    Calculer le cout de creation d'un ou plusieurs batiment/vaisseaux/recherches ...
    et fait un total de toutes les ressources necaissaires
     
     
     
    /*==================Calculs================================*/
    I - Bâtiments
     
        * Mine de métal : 60 M, 15 C.
          coût au niveau n = (coût au niveau 1) * 1,5^(n-1)
     
        * Mine de cristal : 48 M, 24 C.
          coût au niveau n = (coût au niveau 1) * 1,6^(n-1)
     
        * Synthétiseur de deutérium : 225 M, 75 C.
          coût au niveau n = (coût au niveau 1) * 1,5^(n-1)
     
        * Centrale électrique solaire : 75 M, 30 C.
          coût au niveau n = (coût au niveau 1) * 1,5^(n-1)
     
        * Centrale électrique de fusion : 900 M, 360 C, 180 D.
          coût au niveau n = (coût au niveau 1) * 1,8^(n-1)
     
     
    Pour tous les autres bâtiments, coût au niveau n = (coût au niveau 1) * 2^(n-1).
     
        * Usine de robots : 400 M, 120 C, 200 D.
     
        * Usine de nanites : 1 000 000 M, 500 000 C, 100 000 D.
     
        * Chantier spatial : 400 M, 200 C, 100 D.
     
        * Hangar de métal : 2 000 M.
     
        * Hangar de cristal : 2 000 M, 1 000 C.
     
        * Réservoir de deutérium : 2 000 M, 2 000 C.
     
        * Laboratoire de recherche : 200 M, 400 C, 200 D.
     
        * Terraformeur : 50 000 C, 100 000 D, 1 000 énergie.
     
        * Silo de missiles : 20 000 M, 20 000 C, 1 000 D.
     
        * Base lunaire : 20 000 M, 40 000 C, 20 000 D.
     
        * Phalange de capteur : 20 000 M, 40 000 C, 20 000 D.
     
        * Porte de saut spatial : 2 000 000 M, 4 000 000 C, 2 000 000 D.
     
        * Dépôt de ravitaillement : 20 000 M, 40 000 C.
     
     
    ------
     
    II - Recherches
     
    Pour toutes les recherches, sauf graviton, coût au niveau n = (coût au niveau 1) * 2^(n-1).
     
        * Espionnage : 200 M, 1 000 C, 200 D.
     
        * Ordinateur : 400 C, 600 D.
     
        * Armes : 800 M, 200 C.
     
        * Bouclier : 200 M, 600 C.
     
        * Protection des vaisseaux spatiaux : 1 000 M.
     
        * Energie : 800 C, 400 D.
     
        * Hyperespace : 4 000 C, 2 000 D.
     
        * Réacteur à combustion : 400 M, 600 D.
     
        * Réacteur à impulsion : 2 000 M, 4 000 C, 600 D.
     
        * Propulsion hyperespace : 10 000 M, 20 000 C, 6 000 D.
     
        * Laser : 200 M, 100 C.
     
        * Ions : 1 000 M, 300 C, 100 D.
     
        * Plasma : 2 000 M, 4 000 C, 1 000 D.
     
        * Réseau de recherche intergalactique : 240 000 M, 400 000 C, 160 000 D.
     
        * Graviton : 300 000 énergie.
          coût au niveau n = (coût au niveau 1) * 3^(n-1)
     
     
    ------
     
    III - Vaisseaux
     
        * Petit transporteur : 2 000 M, 2 000 C.
     
        * Grand transporteur : 6 000 M, 6 000 C.
     
        * Chasseur léger : 3 000 M, 1 000 C.
     
        * Chasseur lourd : 6 000 M, 4 000 C.
     
        * Croiseur : 20 000 M, 7 000 C, 2 000 D.
     
        * Vaisseau de bataille : 40 000 M, 20 000 C.
     
        * Vaisseau de colonisation : 10 000 M, 20 000 C, 10 000 D.
     
        * Recycleur : 10 000 M, 6 000 C, 2 000 D.
     
        * Sonde espionnage : 1 000 C.
     
        * Bombardier : 50 000 M, 25 000 C, 15 000 D.
     
        * Satellite solaire : 2 000 C, 500 D.
     
        * Destructeur : 60 000 M, 50 000 C, 15 000 D.
     
        * Etoile de la mort : 5 000 000 M, 4 000 000 C, 1 000 000 D.
     
     
    ------
     
    IV - Défenses
     
        * Lanceur de missiles : 2 000 M.
     
        * Artillerie laser légère : 1 500 M, 500 C.
     
        * Artillerie laser lourde : 6 000 M, 2 000 C.
     
        * Canon de Gauss : 20 000 M, 15 000 C, 2 000 D.
     
        * Artillerie à ions : 2 000 M, 6 000 C.
     
        * Lanceur de plasma : 50 000 M, 50 000 C, 30 000 D.
     
        * Petit bouclier : 10 000 M, 10 000 C.
     
        * Grand bouclier : 50 000 M, 50 000 C.
     
        * Missile interception : 8 000 M, 2 000 D.
     
        * Missile interplanétaire : 12 500 M, 2 500 C, 10 000 D.

    si tu as besoin d'information tu peut me contacter a nacrotic@hotmail.com

  18. #18
    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 N@CR0T!C
    [code]/*==================buts================================*/
    Calculer le cout de creation d'un ou plusieurs batiment/vaisseaux/recherches ...
    et fait un total de toutes les ressources necaissaires



    /*==================Calculs================================*/
    I - Bâtiments

    * Mine de métal : 60 M, 15 C.
    coût au niveau n = (coût au niveau 1) * 1,5^(n-1)
    Ok. avec ça, on peut vérifier les saisies. Tu es sûr de la formule, parce que j'ai rapidement des résultats négatifs.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    les calcules sont certain les n sont des entier dasn tout les cas et dans les partie 1 et 2 ils sont compris entre 1 et 40

Discussions similaires

  1. FOX LX-832 problème C avec librairie math.h
    Par jackk dans le forum Embarqué
    Réponses: 3
    Dernier message: 13/11/2011, 19h07
  2. Problème avec librairie iostream.h
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 22/07/2005, 13h20
  3. Recherche BDD gratuite avec SDK C/C++
    Par Mike@Nestor dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 21/07/2005, 17h11
  4. Architecture multi couches avec librairie borland?
    Par seb_asm dans le forum JBuilder
    Réponses: 4
    Dernier message: 08/06/2005, 10h14
  5. Rechercher un crochet avec grep
    Par le mage tophinus dans le forum Linux
    Réponses: 2
    Dernier message: 27/05/2005, 14h17

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