[LANGAGE C] La Calculatrice basique
3 participants
Forum UVSQ :: DUT :: Informatique :: Programmation :: Programmes
Page 1 sur 1
[LANGAGE C] La Calculatrice basique
Coucou tout le monde, suite au TP de C que nous avons fait, j'ai l’opportunité de vous remettre sur ce forum une ébauche d'un dur labeur qui FONCTIONNE !
Il s'agit comme vous l'avez bien deviné d'une calculatrice basique (+ - * / et l'option puissance)
Voici donc sans plus attendre cette ébauche :
Si vous trouvez des bugs, des erreurs ou tout autre chose dans ce programme je vous remercierais de m'en faire part !!!
Pour ce qui est du lien de téléchargement de l'executable : Lien
Il s'agit comme vous l'avez bien deviné d'une calculatrice basique (+ - * / et l'option puissance)
Voici donc sans plus attendre cette ébauche :
- Spoiler:
- Code:
#include <stdio.h>
#include <stdlib.h>
#define ADD "Pour une addition tapez +"
#define SOUS "Pour une soustraction tapez -"
#define MULT "Pour une multiplication tapez *"
#define DIVI "Pour une division tapez /"
#define PUIS "Pour une puissance tapez p"
#define EXIT "Pour sortir de l'application tapez S"
static char*Menu[]=
{
ADD, SOUS, MULT, DIVI, PUIS, EXIT
};
#define NB_CHOIX sizeof(Menu)/sizeof(Menu[0])
int main()
{
float total, a, b;
int i;
char choix, recommencer;
int Rescanf;
printf(" ==================================================\n");
printf(" = =\n");
printf(" = =\n");
printf(" = Bienvenu sur la calculatrice next generation ! =\n");
printf(" = Code by TitrOu & MeMule =\n");
printf(" = =\n");
printf(" = =\n");
printf(" ==================================================\n");
printf("\n");
printf("\n");
recommencer = 'o';
do
{
for (i=0; i<NB_CHOIX; i++)
{
printf("%s \n", Menu[i]);
}
do
{
fflush(stdin);
printf("\n");
printf("Saisissez votre choix ['+', '-', '*', '/', 'p', 's']\n");
Rescanf = scanf("%c", &choix);
}
while ((Rescanf != 1) || ((((((choix != '+') && (choix != '-')) && (choix != '*')) && (choix != '/')) && (choix != 'p')) && (choix != 's')));
switch (choix)
{
case '+' :
system("cls");
printf("========== Vous avez choisi l'addition ==========");
printf("\n");
printf("\n");
printf("\n");
printf("Entrez 2 valeurs a additionner sous la forme a + b\n");
printf("a:");
scanf("%f", &a);
printf("\n");
printf("b:");
scanf("%f", &b);
total = a+b;
printf("\n");
printf("%f + %f = %f\n", a, b, total);
break;
case '-' :
system("cls");
printf("======== Vous avez choisi la soustraction ========");
printf("\n");
printf("\n");
printf("\n");
printf("Entrez 2 valeurs a soustraire sous la forme a - b\n");
printf("a:");
scanf("%f", &a);
printf("\n");
printf("b:");
scanf("%f", &b);
printf("\n");
total = a-b;
printf("%f - %f = %f\n", a, b, total);
break;
case '*' :
system("cls");
printf("======= Vous avez choisi la multiplication =======");
printf("\n");
printf("\n");
printf("\n");
printf("Entrez 2 valeurs a multiplier sous la forme a * b\n");
printf("a:");
scanf("%f", &a);
printf("\n");
printf("b:");
scanf("%f", &b);
printf("\n");
total = a*b;
printf("%f * %f = %f\n", a, b, total);
break;
case '/' :
system("cls");
printf("========= Vous avez choisi la division =========");
printf("\n");
printf("\n");
printf("\n");
printf("Entrez 2 valeurs a diviser sous la forme a/b\n");
printf("a:");
scanf("%f", &a);
printf("\n");
printf("b:");
scanf("%f", &b);
printf("\n");
if (b==0)
{
while (b==0)
{
printf("La division est impossible, diviser par 0 ne peut se faire.\n");
printf("Veuillez entrer 2 nouvelles valeurs de la forme a/b\n");
printf("a:");
scanf("%f", &a);
printf("\n");
printf("b:");
scanf("%f", &b);
printf("\n");
}
}
else
total = a/b;
printf("%f / %f = %f\n", a, b, total);
break;
case 'p' :
system("cls");
printf("===== Vous avez choisi la mise en puissance =====");
printf("\n");
printf("\n");
printf("\n");
printf("Entrez une valeur et sa puissance de la forme a^b\n");
printf("a:");
scanf("%f", &a);
printf("\n");
printf("b:");
scanf("%f", &b);
printf("\n");
i=0;
total = 1;
for (i=0; i<b; i++)
{
total = total*a;
}
printf("%f^%f = %f\n", a, b, total);
break;
case 's' :
return 0;
break;
}
printf("\n");
fflush(stdin);
recommencer = 'n';
printf("Souhaitez vous recommencer ? o/n \n");
scanf("%c", &recommencer);
system("cls");
}
while (recommencer == 'o');
return 0;
}
Si vous trouvez des bugs, des erreurs ou tout autre chose dans ce programme je vous remercierais de m'en faire part !!!
Pour ce qui est du lien de téléchargement de l'executable : Lien
Re: [LANGAGE C] La Calculatrice basique
Aller la prochaine fois, on en fait une qui affiche les graphes de fonctions =)
DamienRD- Développeur
- Messages : 59
Date d'inscription : 28/09/2011
Re: [LANGAGE C] La Calculatrice basique
je comprend jamais bien pourquoi on met le menu dans un for
- Spoiler:
- Code:
for (i=0; i<NB_CHOIX; i++)
{
printf("%s \n", Menu[i]);
}
DamienRD- Développeur
- Messages : 59
Date d'inscription : 28/09/2011
Re: [LANGAGE C] La Calculatrice basique
Le for permet d'afficher chaque ligne du tableau.
i=1 -> Pour une addition tapez +
i=2 -> Pour une soustraction tapez -
.
.
.
i=6 -> Pour sortir de l'application tapez S
ça se fait parce que
static char*Menu[]=
{
ADD, SOUS, MULT, DIVI, PUIS, EXIT
};
tu as créer un tableau de cette forme avant et qu'il y a 6 éléments dans ton tableau.
Tu remarquera aussi que pour ne pas charger le tableau ou permettre qu'il y ait un changement de langue j'ai mis comme élément des constante qui sont des chaines de caractère. (%s pour afficher les caractères).
i=1 -> Pour une addition tapez +
i=2 -> Pour une soustraction tapez -
.
.
.
i=6 -> Pour sortir de l'application tapez S
ça se fait parce que
static char*Menu[]=
{
ADD, SOUS, MULT, DIVI, PUIS, EXIT
};
tu as créer un tableau de cette forme avant et qu'il y a 6 éléments dans ton tableau.
Tu remarquera aussi que pour ne pas charger le tableau ou permettre qu'il y ait un changement de langue j'ai mis comme élément des constante qui sont des chaines de caractère. (%s pour afficher les caractères).
Re: [LANGAGE C] La Calculatrice basique
ok ok merci, ta réponse arrive pile a la fin de ma série de test.
Par contre, ce qui est nul c'est qu'un tableau est forcément de taille fini et qu'on ne puisse mettre une variable pour sa taille.
Par contre, ce qui est nul c'est qu'un tableau est forcément de taille fini et qu'on ne puisse mettre une variable pour sa taille.
DamienRD- Développeur
- Messages : 59
Date d'inscription : 28/09/2011
Re: [LANGAGE C] La Calculatrice basique
NB 1 -> %s n'est pas l'affichage d'un caractère !
%s, "string" en anglais correspond a une chaine de caractère (à partir de 2 lettres donc)
pour afficher un et un seul caractère on fait un %c
@Damien -> Tu peux demander un tableau de taille variable, je travaille dessus pour le défi n°2 et pour le moment j'ai pas réellement trouvé
%s, "string" en anglais correspond a une chaine de caractère (à partir de 2 lettres donc)
pour afficher un et un seul caractère on fait un %c
@Damien -> Tu peux demander un tableau de taille variable, je travaille dessus pour le défi n°2 et pour le moment j'ai pas réellement trouvé
Re: [LANGAGE C] La Calculatrice basique
Arthur - TitrOu a écrit: (%s pour afficher les caractères).
Tu remarqueras Thomas qu'il y a écrit "les" caractères et non pas le caractère =)
Sujets similaires
» [LANGAGE C] GrpB - Marées
» [LANGAGE C] GrpB - Exercice 4 Td2
» [LANGAGE C]Salaire Net[V1.1]
» [LANGAGE C] Le GPS du champ !
» [LANGAGE C] Morpion
» [LANGAGE C] GrpB - Exercice 4 Td2
» [LANGAGE C]Salaire Net[V1.1]
» [LANGAGE C] Le GPS du champ !
» [LANGAGE C] Morpion
Forum UVSQ :: DUT :: Informatique :: Programmation :: Programmes
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|