Debut pas tres facile

Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006 - 26 oct. 2005 à 19:34
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006 - 29 oct. 2005 à 00:24
Salut à tous je suis nouveau sur le forum.

Je suis nouveau dans le monde de la programmation, je viens de fnir un livre sur le c++.Pour mettre en pratique j'ai pri l'un des exemple sur le livre et je l'ai modifié pour en faire un autre.Mais en faite j'aimerais en faire plus avec ce programme.Il consiste à traduire les Euros en francs et j'aimerais que le programme puisse aussi faire le contraire et qu'au debut du programme on puisse choisir entre la convertion de Euros en francs ou de Francs en Euros mais vu que c'est mon premier programme je suis un peut perdu.Donc si vous pouviez m'aider ce serait vraiment sympa.

Voici le code(compiler avec dev c++)

//
// Conversion de somme d'argent de Euros e
// en Francs :
// Francs = Euros * 6.55957
//
#include <cstdio>
#include <cstdlib>
#include
using namespace std;


int main(int nNumberofArgs, char* pszArgs[])
{


// saisie de la somme en Euros
int Euros;
cout << "Entrez la somme en Euros : ";
cin >> Euros;


// calcul du facteur de conversion de Euros
// en Francs
float factor;
factor = 6.55957;


// applique le facteur de conversion pour le passage
// de Euros en Francs
float Francs;
Francs = Euros * 6.55957;


// affiche les résultats (suivis d'un saut de ligne)
cout << "Valeur de la somme en Francs : ";
cout << Francs << endl;


// avant de terminer le programme, attend le signal de
// l'utilisateur pour lui permettre de voir le résultat
system("PAUSE");
return 0;
}


Merci d'avance pour l'aide.

15 réponses

jezus_azerty Messages postés 5 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 26 octobre 2005
26 oct. 2005 à 23:21
il existe pas mal de solutions mais la plus simple c'est de faire un menu.

int main()
{
char choix;
while(1)
{
cout<<"a->franc->euro"<<endl<<"b->euro->franc"<<endl;
cin>>choix;
switch(choix)
{
case'a'://ici ton traitement franc ->euro
case'b'://ici ton traitement euro->franc
default:break;
}
}
}

Jezus_Azerty
0
Rhazou Messages postés 31 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 juillet 2009
26 oct. 2005 à 23:33
Tout d'abord bien venu sur cppfrance,

jezus_azerty t'y va fort, les switch c'est pas les structure de controle les plus facile a comprendre pour un debutant, je pense que c'est mieu de préferer les if pour le moment ... meme si ton code est bon :)

moi j'ai revu un peut ton code complet que j'ai commenté au mieu afin que tu comprene bien.

voila ton code :


#include <cstdio>
#include <cstdlib>
#include
using namespace std;

int main(int nNumberofArgs, char* pszArgs[]) {
//Declaration des variable
int Choix;
float Euros;
float Francs;
float factor = 6.55957; //Declaration et initialisation de la variable factor

// Donne le choix a l'utilisateur
cout << "Pour une confertion francs/euro : 1 " << endl;
cout << "Pour une confertion euro/francs : 2 " << endl;
cin >> Choix; //Enregistre le choix

if (Choix == 1) { //Si l'utilisateur a choisi 1
cout << "Entrez la somme en Francs : " << endl;
cin >> Francs; //Enregistrer dans la variable francs
Euros = Francs / factor; //Diviser la somme par le facteur defini en haut
cout << "Valeur de la somme en Euros : " << Euros << endl; //Affichage
}

if (Choix == 2) { //Si l'utilisateur a choisi 1
cout << "Entrez la somme en Euros : " << endl;
cin >> Euros; //Si l'utilisateur a choisi 1
Francs = Euros * factor; //Multiplier la somme par le facteur defini en haut
cout << "Valeur de la somme en Francs : " << Francs << endl; //Affichage
}

system("PAUSE");
return EXIT_SUCCESS;
}



ps : dans ton code tu a faire un erreur qui n'en est pas vraiment, tu a coder :
factor = 6.55957;

puis apres :
Francs = Euros * 6.55957;

Le code est juste mais ta variable factor ne sert a rien vu que tu multipli par le facteur brut, pour optimiser ton code tu devrasi remplacer 6.55957 lors de la multiplication seulement.

Le principe est de donner un valeur a factor, et apres d'utiliser la valeur a travers factor pour que si jamais le taux de l'euro change par exemple, tu n'ai a changer qu'une seul valeure, celle de la definition.

Exemple de code :
int data = 10;
int var1 = data;
int var2 = data;
...
int var4564 = data;

Dans cete exemple toutes les var1, var2, var3, ..., var4564 ont une valeur de 10, il sufit de changer la valeur de data pour qu'a lors de leur declaration elle prenne la meme valeur.

Désolé si ca vire au tutorial, mais j'ai pensé qu'un petite explication ne serais pas de trop.

Rhazou,
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
27 oct. 2005 à 00:51
Merci pour vos reponses.

Je viens de tester ton code Rhazou et il marche tres bien.c'est vrais que le code remanier de cette maniere est plus claire pour moi.

Encore une question:

C'est vrai que les fenetres ms-dos c'est pas tres héstétique et je voudrais savoir si il y a un moyen pour enjoliver un peut tout ça(un truc simple un peut comme le calculette de windows).Est-ce possible sous ms-dos et si oui est-ce difficile?Car dans mon livre il n'en parle pas.

Je vous remercie pour vos precieux conseils
0
Rhazou Messages postés 31 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 juillet 2009
27 oct. 2005 à 02:51
Le c++ s'execute seulement dans une invité de commande, mais il existe ce qu'on appel des librérie graphique.

les lib c'est ce que t'include au debut, certaines te servent à controler des flux ( iostream ), tu peut ajouter des lib en les telechargant et en les installant.
Les lib graphiques te permetent de créé des fenetres (pour faire des utilitaires), d'autre à bien gérer les images et les actions entre elles (pour les jeux).
Certaines lib sont utilisables que sous windows, d'autre sont compatible unix.

window.h (par defaut avec dev) : te permet de créé des fenetres sous windows uniquement.

sdl.h (a installer) : est une lib pour jeux de préférence, on ne peut pas créé de boutton etc mais on peut faire intereagir les elements entre eux.

wx.h (a installer) : est en réalité wxwidgets, elle a le meme role que window.h mais est portable, c'est à dire que le meme code source poura etre compilé et executé aussi bien sur unix que sur windows.

L'aprentissage d'une librérie graphique est longue et rigoureuse, c'est pourquoi je te conseil d'utiliser wxwidgets car avec elle tu n'aura pas a reprogrammer tes programmes pour qu'ils passent sous unix, de plus elle contient enormement de class qui te simplifirons toutes tes action (gestion des chaines, sockets etc ..)

Par ailleur les librérie graphique sont en realité des ensembles de class, une class est une structure de donnée, notion très très importante qu'on appel programamtion orienté objet (POO), tu verra pourquoi quand tu en sera là.
En poo le moindre code prend des proportions differentes, exemple avec wxwidgets :

W_Main::W_Main() : wxFrame(NULL,-1,"Titre",wxDefaultPosition,wxSize(600,400)) {
PMain = new wxPanel(this, -1);
T_port = new wxStaticText(PMain, act_port, "Port :", wxPoint(20,12), wxDefaultSize);
Aff = new wxTextCtrl(PMain, -1, "", wxPoint(5,40), wxSize(450,180), wxTE_MULTILINE | wxTE_READONLY);


C'est pourquoi je te conseil d'abord d'avoir les bases sous consol, puis apres te trouner vers la programamtion graphique.


Désolé si je suis long dans mes explications.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
27 oct. 2005 à 11:48
Merci pour tes explications elles sont tres claire et je t'en remercie c'est vrai que la programmation orienté objet n'as pas l'air tres facile.Le code que tu vient de me donner on peut le mettre n'importe ou dans le programme ou il y a une place bien defini?

Merci encore pour tes explications.
0
Rhazou Messages postés 31 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 juillet 2009
27 oct. 2005 à 15:03
le bout de code est un code wxwidgets, c'est a dire que si tu ne l'a pas installer, ton compilateur ne comprendra pas.
Par ailleur meme ce n'est qu'un morceau de code qui ne parcherais pas seul, c'est comem si jtavasi donner :

cin >> Choix;

if (Choix == 1) {
cout << "Entrez la somme en Francs : " << endl;
cin >> Francs;
Euros = Francs / factor;

ca ne marcherais pas ...

Mais dans le context ou les libréries sont installé, le code peut se mettre nimporte ou (pour vu qu'il soit juste biensur ...)
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
27 oct. 2005 à 18:56
Et tu c'est pas pas hazard ou on peut les trouver?.S'installent-t-elles automatiquement?Crois-tu que ton code puisse marcher dans mon programme?

Je te remercie pour ton aide et de me consacrer de ton temps.
0
Rhazou Messages postés 31 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 juillet 2009
28 oct. 2005 à 03:02
ben www.widgets.org est le site officiel de wxwidgets, pour trouver les devpack etc c'est bien ^^

sinon pous que mon code marche faudra la source complete, si c'est pour un exemple j'ai poster une petite source qui est complete, c'est jsute pour demontrer un peu les base de wxwidgets.
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
28 oct. 2005 à 10:57
Salut Rhazou

J'ai regarder le site et je suis tomber sur une page tout en anglais mais qui n'a rien à voir avec le developpement.
Pour les devpaks ceux qui sont proposés via l'update de devc++ sont t'ils aussi bon? car il y a plein de fichiers et je c'est pas si je dois les installer.
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
28 oct. 2005 à 17:21
Je viens de trouver ca sur le net pour widgets mais quel fichier prendre?Car il y a plusieurs choix mais je c'est pas si je peut prendre n'importe lequel ou si il faut un fichier bien spécifique.
0
Rhazou Messages postés 31 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 juillet 2009
28 oct. 2005 à 17:34
essay de telecharger pluto le compilateur avec tout dedan, il se nom : wx-devcpp,
ca sera plu facil que tt install separement :)
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
28 oct. 2005 à 17:49
T'as pas une adresse stp car j'ai rechercher sur google mais pas de lien.
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
28 oct. 2005 à 19:04
Dans l'udapte de devc++ j'ai sa comme fichier sur widgets:

wxWidgets contrib 2.6.1

wxWidgets contrib unicode 2.6.1

wxWidgets 2.6.1

wxWidgets unicode 2.6.1


Apparement c'est les meme que sur devpaks.org
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
29 oct. 2005 à 00:16
sinon j'ai encore trouver le devpack

http://cfred.free.fr/download.php#wxdevpak

Crois-tu que je peut mettre ceux-la.

Je suis un peut perdu lol
0
Oruk Messages postés 28 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 19 février 2006
29 oct. 2005 à 00:24
sinon j'ai encore trouver le devpack

http://cfred.free.fr/download.php#wxdevpak

Crois-tu que je peut mettre ceux-la.

Je suis un peut perdu lol
0
Rejoignez-nous