Pages : 1
#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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
Hors ligne
#6 Le 06/03/2011, à 00:37
- sputnick
Re : Script shell bash
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
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
Pages : 1