Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/07/2014, à 20:25

Louupss

Bloqué dans ma programmation

Bonsoir, Bonjour.
J'essaye de créer un programme, pour calculer combien je peux créer de module minier MN.
Sans dépasser les ressources de l'entretien de ces modules.
(Oui je suis un geek ^^).

Voilà ce que j'ai fait pour l'instant.

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

int main()
{
    int resultat = 0, int resultat2 = 0, int resultat3 = 0, int resultat = 4;
    int métal = 0, int tritium = 0, int zircans = 0;
    int MNm = 10, int MNt = 5, int MNz = 0,011;
    printf("Entré les recoursses par heure (métal)\n");
    scanf("%d", métal);
    printf("Entré les recoursses par heure (tritium)\n");
    scanf("%d", tritium);
    printf("Entré les recoursses par heure (zircans)\n");
    scanf("%d", zircans);

    resultat = métal % MNm
    resultat2 = tritium % MNt
    resultat3 = zircans % MNz

    return 0;
}

Voila je voudrais avoir le résultats des ressources - le résultats de la différence de la plus petite ressource.
exemple :

resultat + resultat2 +resultat3 = resultat4

4 + 3 + 2 = 9

il faus faire la différence entre 9 et 2 ( la plus petite ressource) = 7
Ce qui donne

9 - 7 = 3

Donc résultat 4 = 3

ps : je n'es vus que les équations au premier degré.

Merci de m'avoir lus j' espère que mon message est compréhensible.

Dernière modification par Louupss (Le 07/07/2014, à 20:40)


GNU/Linux Un nom à coucher dehors.
Mais richesse de Programme au rendez vous et tous sa gratuitement ...

Ubuntu 14.04 LTS / Mémoire 7,8 Gio / Processeur Intel® Core™ i5-2300 CPU @ 2.80GHz × 4 / Carte Graphique Gallium 0.4 on AMD PITCAIRN / Type d' OS 64 bits / Disque 109,6 Go / 500,1 Go

Hors ligne

#2 Le 07/07/2014, à 20:34

jplemoine

Re : Bloqué dans ma programmation

Louupss a écrit :

4 + 3 + 2 = 8

4 + 3 = 7 --> 7+2 = 9 pas 8 --> tu pars donc mal....ou j'ai rien compris.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#3 Le 07/07/2014, à 20:41

Louupss

Re : Bloqué dans ma programmation

Désolé j ' es fais le calcul super vite mais c' étais pour donner un exemple ^^


GNU/Linux Un nom à coucher dehors.
Mais richesse de Programme au rendez vous et tous sa gratuitement ...

Ubuntu 14.04 LTS / Mémoire 7,8 Gio / Processeur Intel® Core™ i5-2300 CPU @ 2.80GHz × 4 / Carte Graphique Gallium 0.4 on AMD PITCAIRN / Type d' OS 64 bits / Disque 109,6 Go / 500,1 Go

Hors ligne

#4 Le 07/07/2014, à 20:47

Braun

Re : Bloqué dans ma programmation

Bonjour,
D'abord je crains que tu n'aies inopinément « merputé » "c" et "ss" et confondu quelques participes passés avec des infinitifs, mais ce n'est probablement pas là la question.
Si j'ai bien compris il s'agit de déterminer le plus petit de trois nombres. Pour cela tu initialises une variable à la valeur du premier nombres, puis compare au second et éventuellement remplace la valeur par ...

Hors ligne

#5 Le 07/07/2014, à 20:52

Louupss

Re : Bloqué dans ma programmation

J'ai pas tous compris désolé hmm.
Désolé pour la conjugaison et l'orthographe.


GNU/Linux Un nom à coucher dehors.
Mais richesse de Programme au rendez vous et tous sa gratuitement ...

Ubuntu 14.04 LTS / Mémoire 7,8 Gio / Processeur Intel® Core™ i5-2300 CPU @ 2.80GHz × 4 / Carte Graphique Gallium 0.4 on AMD PITCAIRN / Type d' OS 64 bits / Disque 109,6 Go / 500,1 Go

Hors ligne

#6 Le 07/07/2014, à 21:03

compte supprimé

Re : Bloqué dans ma programmation

tu peux faire un truc du genre (comme braun te l'a suggéré) :

mini = nbre1;
if (nbre2<nbre1)
{
    mini = nbre2;
}
if (nbre3<nbre2)
{
    mini = nbre3;
}

ETC

même si c'est plus pratique avec un tableau et une boucle si tu as beaucoup de valeurs

#7 Le 07/07/2014, à 21:06

Louupss

Re : Bloqué dans ma programmation

D'accords compris chef cool .
Je vais terminer le programme smile.

Je laisse en suspends le résolu le temps de finir wink.


GNU/Linux Un nom à coucher dehors.
Mais richesse de Programme au rendez vous et tous sa gratuitement ...

Ubuntu 14.04 LTS / Mémoire 7,8 Gio / Processeur Intel® Core™ i5-2300 CPU @ 2.80GHz × 4 / Carte Graphique Gallium 0.4 on AMD PITCAIRN / Type d' OS 64 bits / Disque 109,6 Go / 500,1 Go

Hors ligne

#8 Le 07/07/2014, à 22:04

Louupss

Re : Bloqué dans ma programmation

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

int main()
{
    int resultat = 0; int resultat2 = 0; int resultat3 = 0; int resultat4 = 0; int mini = 0;
    int metal = 0; int tritium = 0; int zircans = 0;
    int MNm = 10; int MNt = 5; int MNz = 0.011;
    printf("Entre les ressources par heure metal\n");
    scanf("%d", metal);
    printf("Entre les ressources par heure tritium\n");
    scanf("%d", tritium);
    printf("Entre les ressources par heure zircans\n");
    scanf("%d", zircans);

    resultat = metal % MNm;
    resultat2 = tritium % MNt;
    resultat3 = zircans % MNz;
    resultat4 = resultat + resultat2 + resultat4;

    if (mini > resultat)
{
        mini = resultat;
}
    if (mini < resultat2)
{
        mini = resultat2;
}
    if (mini < resultat3)
{
        mini = resultat3;
}

    resultat4 = resultat4 - mini;
    printf("Nombres de Module constructible, sans perte %d", resultat4 );

    return 0;
}

De nouveau bloqué, je lance le programme et quand je rentre la première valeur le programme plante. hmm

Dernière modification par Louupss (Le 07/07/2014, à 22:06)


GNU/Linux Un nom à coucher dehors.
Mais richesse de Programme au rendez vous et tous sa gratuitement ...

Ubuntu 14.04 LTS / Mémoire 7,8 Gio / Processeur Intel® Core™ i5-2300 CPU @ 2.80GHz × 4 / Carte Graphique Gallium 0.4 on AMD PITCAIRN / Type d' OS 64 bits / Disque 109,6 Go / 500,1 Go

Hors ligne

#9 Le 07/07/2014, à 22:12

Braun

Re : Bloqué dans ma programmation

Quelle est la nature du second argument de scanf() ?

scanf("%d", &metal); 

Hors ligne

#10 Le 07/07/2014, à 22:42

Louupss

Re : Bloqué dans ma programmation

Sa marche maintenant mais quand je rentre les 3 valeurs.
Mais après sa plante hmm.

La nature du second argument et le tritium.


GNU/Linux Un nom à coucher dehors.
Mais richesse de Programme au rendez vous et tous sa gratuitement ...

Ubuntu 14.04 LTS / Mémoire 7,8 Gio / Processeur Intel® Core™ i5-2300 CPU @ 2.80GHz × 4 / Carte Graphique Gallium 0.4 on AMD PITCAIRN / Type d' OS 64 bits / Disque 109,6 Go / 500,1 Go

Hors ligne

#11 Le 07/07/2014, à 23:35

Braun

Re : Bloqué dans ma programmation

Faut dire qu'un entier avec une bête virgule au milieu ça fait tache ... ou alors tu divises par zéro, ce qui n'est pas beaucoup mieux.
P.S. Quand ce n'est pas l'abréviation des Sturmabteilungen, « sa » est un adjectif possessif, la programmation est comme l'orthographe, chaque symbole compte.
Mais il se fait tard, bonne nuit.

Hors ligne

#12 Le 08/07/2014, à 10:13

claudius01

Re : Bloqué dans ma programmation

Bonjour,

Louupss a écrit :

Sa Cela marche maintenant mais quand je rentre les 3 valeurs.
Mais après sa ça plante

Avec une utilisation de scanf comme je le vois 3 fois dans le programme

    ...
    int metal = 0; int tritium = 0; int zircans = 0;
    ...
    scanf("%d", metal);
    scanf("%d", tritium);
    scanf("%d", zircans);
    ...

Ce n'est pas étonnant que cela tombe en marche (cf. un exemple d'utilisation de scanf avec une alternative à cette méthode scanf et consorts qui est à bannir et qui n'aurait jamais dû exister ;-)


Cordialement, A+
--
Claudius

Dernière modification par claudius01 (Le 08/07/2014, à 10:47)

Hors ligne

#13 Le 08/07/2014, à 20:18

telliam

Re : Bloqué dans ma programmation

Dans scanf il faut passer l'adresse de la variable.


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne