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 04/03/2011, à 05:12

dido1441

Script shell bash

Salut à tous je voudrai un script shell qui me permettra de décomposer une somme entre 0 et 1000 euros.je m'explique !
Par exemple si j'exécute le script et que j'entre 887 euros j'obtiens en résultat.(887 euros = 8 billets de 100Euro, 1 billets de 50Euro, 3 billets de 10Euro ,7 pièces de 1Euro ).
Merci de bien vouloir m'aider .

Hors ligne

edit modo : message restauré

Dernière modification par nesthib (Le 07/03/2011, à 02:36)

Hors ligne

#2 Le 04/03/2011, à 07:48

redo_fr

Re : Script shell bash

Salut,
ça ressemble à un exercice d'école ^_^

Je pense que nous pouvons te guider pour te mettre sur la voie, mais pas le faire à ta place...

Première question : Ton script doit-il être en bash "pur" ou bien peux tu utiliser des programmes "externes" ( awk, sed, ...) ?


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#3 Le 04/03/2011, à 09:39

nesthib

Re : Script shell bash

commence déjà par nous présenter ton algorithme


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#4 Le 05/03/2011, à 22:56

sputnick

Re : Script shell bash

En C, à adapter en shell :

/*
 * vim:ts=4:sw=4
 */
using namespace std;
#include <iostream>
#define MONNAIE int

int main() {
    MONNAIE somme, billet100, billet20, piece5, piece1, resteBillet100, resteBillet20;

    cout << "Veuillez saisir une somme entiere [0..999] de Francs SVP >>> ";
    cin >> somme;

    billet100 = somme / 100;
    resteBillet100 = somme % 100;

    billet20 = resteBillet100 / 20;
    resteBillet20 = resteBillet100 % 20;

    piece5 = resteBillet20 / 5;
    piece1 = resteBillet20 % 5;

    cout << "Vous devez me remettre :\n";
    if (billet100) cout << billet100 << " billets de 100 Francs\n";
    if (billet20) cout << billet20 << " billets de 20 Francs\n";
    if (piece5) cout << piece5 << " pieces de 5 Francs\n";
    if (piece1) cout << piece1 << " pieces de 1 franc\n";
}

( en réponse à http://forum.ubuntu-fr.org/viewtopic.php?id=445253 )

Dernière modification par sputnick (Le 05/03/2011, à 22:58)


Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr

Hors ligne

#5 Le 05/03/2011, à 23:03

grim7reaper

Re : Script shell bash

Ce n'est pas du C ça, mais du C++.

Hors ligne

#6 Le 06/03/2011, à 00:37

sputnick

Re : Script shell bash

grim7reaper a écrit :

Ce n'est pas du C ça, mais du C++.

Nan, t'y es pas, c'est du C qui include des libs C++, voilà tout.

Ca change rien sur l'algo qui peut etre retranscrit en n'importe quel langage !


Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr

Hors ligne

#7 Le 06/03/2011, à 13:28

grim7reaper

Re : Script shell bash

Non c'est toi qui est à côté de la plaque.
Je veux bien que l'algo soit indépendant du langage (c'est le principe même d'un algo).
Mais pas pitié ne viens pas dire que ton code c'est du C (à moins de vouloir passer pour un mec qui n'y connait rien…)

int main() => C++
using namespace std; => C++ (très mauvaise pratique en passant…)
cout et cin => C++
Pas de return à la fin du main => C++

Il n'y a pas que les include roll

Hors ligne

#8 Le 06/03/2011, à 16:27

sputnick

Re : Script shell bash

On m'a en effet appris à faire du C bâtard. C'est du au fait que j'ai pas appris du C pur mais de l'algo avec un mélange de C et de C++...

using namespace std; => C++ (très mauvaise pratique en passant…)

En quoi c'est mauvais ? C'est sur qu'on peut utiliser std::cout etc...


Je sais, un peu partout, tout le monde s'entretue, c'est pas gai, mais d'autres s'entrevivent, j'irai les retrouver. Jacques Prévert
https://sputnick.fr

Hors ligne

#9 Le 06/03/2011, à 18:16

grim7reaper

Re : Script shell bash

Les espaces de nommages ont été introduit pour résoudre le problème des collisions de noms.
Rendre global l'espace de nommage standard c'est un peu rendre inutile cette initiative, s'ils ont choisi un préfixe court, en l'occurence std, c'est justement pour qu'il ne soit pas trop chiant à taper.
Sinon, je te renvoie à cette discussion.

Hors ligne