Menu dynamique, calculette factorielle, exposant, etc...

Soyez le premier à donner votre avis sur cette source.

Vue 7 203 fois - Téléchargée 627 fois

Description

Programme sous DOS. Menu dynamique (on sélectionne ce que l'on veut grâce aux flèches directionelles et on valide avec la touche enter). Le tout avec "seulement" stdio, conio et iostream. (il y a également une calculette capable de faire les exposants et les factoriels (et bien sûr addition, soustraction etc...)).

Ceci est un de mes premiers codes en C... La syntaxe vous semblera peut etre un peu brouillon ou encore le code un peu long parfois.

(toutes les remarques sont les bienvenues ;))

Source / Exemple :


#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <conio.C>

main ()
{

system("title La p'tite calculette d'Adri V1.1");
int a=1;
int b=1;

while (a==1)
{
int c=0;

system("cls");

textcolor(55);
cout << "                      La p'tite calculette d'Adri V1.1                          ";

textcolor(9);

cout << "

  • *
  • La p'tite calculette d'Adri *
  • *
"; textcolor(55); gotoxy (9,11); cout <<"Menu principal:"; gotoxy (9,12); cout <<"==============="; textcolor(55); gotoxy (9,13); printf ("||=> "); if (b==1) textcolor(60); cout << "Addition"; textcolor(55); gotoxy (9,14); printf ("||=> "); if (b==2) textcolor(60); cout << "Soustraction"; textcolor(55); gotoxy (9,15); printf ("||=> "); if (b==3) textcolor(60); cout << "Multiplication"; textcolor(55); gotoxy (9,16); printf ("||=> "); if (b==4) textcolor(60); cout << "Division"; textcolor(55); gotoxy (9,17); printf ("||=> "); if (b==5) textcolor(60); cout << "Exposant"; textcolor(55); gotoxy (9,18); printf ("||=> "); if (b==6) textcolor(60); cout << "Factoriel"; textcolor(55); gotoxy (9,19); printf ("||=> "); if (b==7) textcolor(60); cout << "A propos"; textcolor(55); gotoxy (9,20); printf ("||=> "); if (b==8) textcolor(60); cout << "Quitter"; textcolor(3); textcolor(95); gotoxy(45, 12); printf(" ");textcolor(3); textcolor(95); gotoxy(45, 13); printf(" Pour utiliser le menu, ");textcolor(3); textcolor(95); gotoxy(45, 14); printf(" utilisez les fleches ");textcolor(3); textcolor(95); gotoxy(45, 15); printf(" directionelles. Pour ");textcolor(3); textcolor(95); gotoxy(45, 16); printf(" selectioner une option ");textcolor(3); textcolor(95); gotoxy(45, 17); printf(" appuyez sur enter. ");textcolor(3); textcolor(95); gotoxy(45, 18); printf(" ");textcolor(3); switch (getch()) { case 72: if (b==1) b=8; else b=b-1; break; case 80: if (b==8) b=1; else b=b+1; break; case 13: c=b; break; case 27: a=2; break; } if (c==8) a=2; double one; double two; double resultat; if (c==6) { system("cls"); textcolor(55); cout << " La p'tite calculette d'Adri V1.1 "; textcolor(3); cout <<" Vueillez entrer le nombre a elever factoriellement: "; cin >>one; two=one; double oneb=one-1; while (oneb>0) { two=oneb*two; oneb=oneb-1; } resultat=two; cout <<" Le resultat de votre operation est "; textcolor (5); cout << resultat; textcolor (3); cout <<"\n\n"; system("PAUSE"); } if (c==1 || c==2 || c==3 || c==4 || c==5) { system("cls"); textcolor(55); cout << " La p'tite calculette d'Adri V1.1 "; textcolor(3); cout <<" Vueillez entrer le premier nombre de votre operation: "; cin >>one; cout <<" Vueillez entrer le deuxieme nombre de votre operation: "; cin >> two; if (c==1) resultat=one+two; if (c==2) resultat=one-two; if (c==3) resultat=one*two; if (c==4) resultat=one/two; if (c==5) { int exp=1; double oneb=one; while (exp<two) { oneb=oneb*one; exp=exp+1; } resultat=oneb; } cout <<" Le resultat de votre operation est "; textcolor (5); cout << resultat; textcolor (3); if (c==5) cout <<" note: la calculette est seulement capable de calculer des puissances entieres etstrictement positives."; cout <<"\n\n"; system("PAUSE"); } if (c==7) { system("cls"); textcolor(55); cout << " La p'tite calculette d'Adri V1.1 "; textcolor(3); cout <<" \"La ptite calculette d'Adri\" est un programme realise par Adrien Bourgeois. Pour tout renseignement sur le code, vueillez me contacter a cette adresse: adrien_bourgeois@hotmail.com Merci "; system("PAUSE"); } } }

Conclusion :


Voilà, dans le zip il y a seulement le exe... Il a été compilé avec dev-c++ 4.0... Cependant j'avais essayé de compilé et j'avais des problèmes avec la librairie (ou bibliothèque) conio.h. Apparemment celle de dev-c++ 4.0 n'est pas complète ou il y a des bugs.. Alors j'ai pris la librairie conio de Turbo compilator, et là, ça a marché nickel...

note: le but de ce code est de montré comment je fais pour faire un menu "dynamique"... Voilà, qu'en pensez-vous?

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Maegis
Messages postés
101
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
6 août 2007
-
Verifie que two est different de zero quand tu fais one/two, ça peut servir ...
bourgi220
Messages postés
21
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
30 août 2006
-
ok, prochaine fois je mettrai le code source dans le zip ;)

asmanur> merci pour le conseil ;)
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8 -
C'est pas un fichier source de 1 ou 2ko qui va alourdir un zip avec un exe de 78 ko.

C'est mieux de mettre le code source aussi dans le zip pour ceux qui téléchargent (évite d'avoir à faire un copier coller de la page web)
asmanur
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005
-
C'est vrai que le code c'est le bordel pour les puissances utilise
double exp(double,double); qui te permet de calculer toutes les puissances
bourgi220
Messages postés
21
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
30 août 2006
-
Bin la source je l'ai mise sur la page que tu es en train de voir...

Je n'ai pas jugé bon de la mettre dans le zip pour ne pas l'alourdir...

lol jte pardonne... ciao

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.