Cosinus,sinus,tangante,ans

cs_chinois57 Messages postés 22 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 16 juillet 2006 - 27 nov. 2005 à 13:50
huben Messages postés 13 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 27 février 2006 - 27 nov. 2005 à 14:41
quelqu'un peut maider a rajouter (cos, sin, tan, ans) svp ma source est:

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
main()
{
float x,y;
char z;


printf("veuillez saisir un nombre: \n");
fflush(stdin);
scanf("%f",&x);
printf("veuillez saisir un deuxieme nombre: \n");
fflush(stdin);
scanf("%f",&y);
printf("veuillez saisir le signe mathematique que vous voulez realiser avec ses nombres\n");
fflush(stdin);
scanf("%c",&z);


switch(z)
{
case '+':
printf("Vous acez decider d'aditionner %f + %f\n\n\n",x,y);
printf("Le resultat de %f + %f = %f ",x,y,x+y);
break;
case '-':
printf("Vous acez decider de soustraire %f - %f\n\n\n",x,y);
printf("Le resultat de %f - %f = %f ",x,y,x-y);


break;
case '*':
printf("Vous acez decider de multiplier %f * %f\n\n\n",x,y);
printf("Le resultat de %f * %f = %f ",x,y,x*y);
break;
case '/':
if ((y!=0)&&(x!=0))
{
printf("Vous acez decider de multiplier %f / %f\n\n\n",x,y);
printf("Le resultat de %f / %f = %f ",x,y,x/y);
break;
case 'cos':
break;
case 'sin':
break;
case 'tan':
break;
case 'ans':
break;
}
else
{
printf("WARNING OPERATION IMPOSSIBLE\n");
break;
}

}
system("PAUSE");
return 0;
}

7 réponses

huben Messages postés 13 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 27 février 2006
27 nov. 2005 à 13:58
il ne te faut qu'un nombre pou rle cosinus et le sinus et la tangente

ce pourrait etre



case 'cos':

printf("le cosinus de %f est %f",x,cos x);

break;

et peut etre ajouter un test :

case 'cos':

if(x<360) //ou quelque chose comme ça

printf("le cosinus de %f est %f",x,cos x);

break;



enfin voila, et tu fais pareil avec les autres

tu peu toujours venir faire un tour surmon site
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 nov. 2005 à 14:02
c contient 1 caractères, or pour coder cos, il en faut 4
Comme tu es débutant, tu devais utiliser strcmp.
Au lieu de char c, tu déclares char operation[4];
puis fgets(c, 4, stdin); pour le lire.
switch(operation[0])
{
case '+':
...
case '-':
...
default:
if(!strcmp(operation, "cos")) // c'est cosinus
else if(!strcmp(operation, "sin")) // sinus
...
}

Sinon, comme tes chaines ne font que 4 caractères, tu peux optimiser cela:

int operation;
fgets((char*)&operation, 4, stdin);
switch(operation)
{
case '+':
...
case 'soc': cosinus
...
case 'nis': //sinus
...
}
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 nov. 2005 à 14:03
huben> cos est défini sur tout R, ca ne pose pas de problème que x soit grand
0
huben Messages postés 13 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 27 février 2006
27 nov. 2005 à 14:05
ok

mais je ne comprend pas porquoi tu ve compliquer plus que necessaire en rajoutant des truc bizarres et compliqués
0

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

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 nov. 2005 à 14:11
J'ai juste donné une deuxième possibilité, mais la première je crois que c'est la plus simple
Apparemment ca ne te choque pas qu'on lise un seul char pour entre "cos"
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 nov. 2005 à 14:16
Pour revenir à ton 360, tu dois savoir que les fonctions trigo de math.h travaillent en radians
0
huben Messages postés 13 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 27 février 2006
27 nov. 2005 à 14:41
je ne le savait pas

et je te remercie de me le signaler
0
Rejoignez-nous