CALCULATRICE DE BASE

Jo - 14 juin 2001 à 12:15
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 - 16 oct. 2006 à 22:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9094-calculatrice-de-base

Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
16 oct. 2006 à 22:01
y'a un truc bizarre je trouve, pourquoi utilisé 4 octets pour savoir si l'on a tapé 1, 2, 3 ou 4 alors qu'un char ou même unsigned char ou bien encore short int aurait amplement suffit ???
Dommage.

Ensuite tu utilise 2 double donc 16 octets pour faire une opération de bases, certes tu prend plus ou moins tes précautions si l'on balance un grand nombre mais bon le double ne gère pas les nombres infini, donc si tu vezux économisé de la place et gagner de la vitesse utilise 2 int, avec une fonciton qui détecte si c'est supèrieur à tant par exemple...
Bloudeau Messages postés 2 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 28 juin 2006
12 juin 2006 à 01:58
Les if.. else sont plus optimisés que les switchs ou les ternaires ^^
cs_fring Messages postés 21 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 25 mars 2006
9 août 2005 à 19:07
Programme très simple mais avec bcp de si utlise switch et tu gegnerais du temps .Time is money!!!!!!!!!!!!!!!!!
Courage
Julien2906 Messages postés 1 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 3 juin 2005
3 juin 2005 à 10:41
pourquoi déclares tu un 'int' pour le type de calcul a effectuer:

int type_operation;
avec 1 pour +; 2 pour -, etc etc...pourquoi ne pas faire un:

char type_operation;

puis ensuite un switch ou un if peu importe mais comme ca c'est réglé et on ne se demande pas quel chiffre on dois taper pour faire le calcul et puis on a pas besoin dans ce cas de dire 1pour+ 2pour- 3pour*....

if (type_operation == '+')printf(premier + second);

je débute en c mais c'est un des premiers truc que j'ai fait justement pour me servir de 'char'....
BONNE VACANCE A TOUS!!
cs_darkman2 Messages postés 121 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 décembre 2005
7 mai 2005 à 09:30
je trouve k jo a raison t'aurai du utiliser un switch
le prog est 1 peu long
amis dans l'ensemble c bien joué
dafunker Messages postés 47 Date d'inscription samedi 11 octobre 2003 Statut Membre Dernière intervention 10 décembre 2006
24 nov. 2004 à 14:00
Il y a une autre erreur dans ton code eglalement :

----------
printf("Votre choix : ");
scanf("%d",&type_operation);
do
{
printf("Votre choix : ");
scanf("%d",&type_operation);
} while (type_operation < 1 || type_operation > 4);
---------
L'instruction scanf va s'executer deux fois car meme si la condition while est fausse la boucle va s'executer au moins une fois. Il faut utiliser :

while (type_operation < 1 || type_operation >
{
printf("Votre choix : ");
scanf("%d",&type_operation);
}
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
21 déc. 2003 à 02:45
trompé de rubrique ?
Salut, ce code contient beaucoup de if, il aurait ete preferabl d'utilise un switch, car plein de if qui se suivent ca fait aps bien
Rejoignez-nous