Bonjour,je me suis mis a la programmation depuis 1 petit mois avec le site du zero. J'ai voulu créer une calculette en mode console qui gère toutes les opérations de base et les puissances.Je me suis servi de ma logique pour la créer,mais quand je veux choisir quelle opération faire(avec un scanf),ça plante(Quand le programme est lancé). Voici le code source(Je suis sous Code Blocks) :
- include <stdio.h>
- include <stdlib.h>
- include <math.h>
long menu()
{
long choix = 0;
while( choix < 1 || choix > 5)
{
printf("Menu\n\n");
printf("1- Addition\n\n2- Soustraction\n\n3- Multiplication\n\n4- Division\n\n5- Puissances d'un nombre\n\n");
printf("Rentrez le chiffre qui definit votre operation ");
scanf("%ld", choix);
}
return choix;
}
double addition()
{ double nombre1 = 0, nombre2 = 0, resultat = 0;
printf("\nEntrez le premier nombre ");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre ");
scanf("%lf", &nombre2);
resultat = nombre1 + nombre2;
printf("%lf + %lf = %lf\n\n", nombre1, nombre2, resultat);
}
double soustraction()
{ double nombre1 = 0, nombre2 = 0, resultat = 0;
printf("\nEntrez le premier nombre ");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre ");
scanf("%lf", &nombre2);
resultat = nombre1 - nombre2;
printf("%lf - %lf = %lf\n\n", nombre1, nombre2, resultat);
}
double multiplication()
{
double nombre1 = 0, nombre2 = 0, resultat = 0;
printf("\nEntrez le premier nombre ");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre ");
scanf("%lf", &nombre2);
resultat = nombre1 * nombre2;
printf("%lf X %lf = %lf\n\n", nombre1, nombre2, resultat);
}
double division()
{
double nombre1 = 0, nombre2 = 0, resultat =0;
printf("\nEntrez le premier nombre ");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre ");
scanf("%lf", &nombre2);
resultat = nombre1 / nombre2;
printf("%lf : %lf = %lf\n\n", nombre1, nombre2, resultat);
}
double puissance()
{
double nombre1 = 0, nombre2 = 0, resultat = 0;
printf("\nEntrez le premier nombre(Le nombre de depart) ");
scanf("%lf", &nombre1);
printf("Entrez la puissance ");
scanf("%lf", &nombre2);
resultat = pow(nombre1, nombre2);
printf("%lf puissance %lf = %lf\n\n", nombre1, nombre2, resultat);
}
int main()
{ long recommencer = 1;
do
{
printf("Bienvenue sur la calculette ultime de Vivien Cheneveau!\n");
switch (menu())
{
case 1:
addition();
break;
case 2:
soustraction();
break;
case 3:
multiplication();
break;
case 4:
division();
break;
case 5:
puissance();
break;
}
printf("Voulez-vous faire une autre operation?\n\n 1-Oui\n 2-Non\n\n");
scanf("%ld", &recommencer);
}
while (recommencer != 2);
return 0;
}
Ps: C'est un entrainement sur les fonctions.
PPs: J'ai 12 ans, pouvez-vous me dire si je suis doué?^^(J'ai fait cette calculette uniquement avec la logique,il n'y a pas la correction du site du zero comme pour les tp :p ).