Fonction cosinus erronnée...

Fermé
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 - 12 sept. 2008 à 20:38
 dieng - 12 sept. 2008 à 23:39
Bonjour,

Je commence à programmer en C depuis peu, même si j'avais deux ou trois bases il y a longtemps.

J'ai essayé de créer un mini programme d'une vingtaine de lignes, permettant de demander à l'utilisateur deux valeurs, puis de faire le cosinus de ces deux valeurs, et la somme des deux cosinus est le résultat attendu par l'utilisateur...

Seulement, j'ai un problème sur les deux lignes que j'ai indiquées en gras :

Voici mon programme :

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;
int main(int argc, char *argv[])
{
float resultat, a, b, c ,d;
printf("Valeur du nombre 1?\n");
scanf("%ld\n", &a);
printf("Valeur du nombre 2?\n");
scanf("%ld\n", &b);
cos(a) = c;
cos(b) = d;

resultat = c + d;
printf("La somme des cosinus des deux nombres est donc : %ld\n", resultat);
system("PAUSE");
return EXIT_SUCCESS;
}



Et voici ce que me dit le compilateur :

In function `int main(int, char**)':
13 non-lvalue in assignment
14 non-lvalue in assignment
[Build Error] [main.o] Error 1


PS : je programme avec Dev-C++. Si le problème paraît évident, je vous serais reconnaissant de pas vous moquer xD Tout le monde doit passer par là pour apprendre à programmer...

Bref, merci d'avance !
A voir également:

10 réponses

dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 82
12 sept. 2008 à 21:30
Mon C est un peut rouillé, mais je pense qu'en utilisant "%f" simplement cela devrait fonctionner.
2
bonjour excus me g fai une erreur c xd merci
1
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 82
12 sept. 2008 à 20:47
Essaye avec :
c=cos(a);
d=cos(b);

Les affectations se font dans cet ordre VariableAAffecter=Affectation.

P.S. Vérifie l'unité d'angle C travaille en radian.
0
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 82
12 sept. 2008 à 22:54
Pour info, pi n'est pas implémenté en C, il faut le définir.
Une approximation correcte à 2 10^-7 est 355/113.
0
355/113, ça fait 3 en C, car il s'agit de 2 entiers -> résultat entier ;)
il vaut mieux faire 355.0/113 ou 4*atan(1)
0

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

Posez votre question
salut j avait comme se blem se blem au debut mais g apris lés d il faut l utilisé
0
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
12 sept. 2008 à 21:16
Merci beaucoup ! En effet, j'avais oublié ce détail... Important !

Cependant... J'ai un autre problème : en conservant exactement le même programme mais en inversant donc variable / affectation comme tu l'as si bien expliqué, le programme est donc compilé.

Mais peu importe les valeurs a et b que j'entre, le résultat final est toujours 0... et quand je mets "%lf" et non "%ld" afin d'avoir les décimales (au cas où le résultat serait arrondi), j'obtiens aussi "0.00000"...

Est-ce normal?
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
12 sept. 2008 à 21:33
Et bien merci beaucoup, la vache :p

J'espère avoir ton niveau un jour :)
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
12 sept. 2008 à 21:42
Ah, et à ce propos, y aurait-il un moyen de passer des radians aux degrés sous Dev-C++?
-1
Bonsoir

Pour passer des degrés aux radians ou l'inverse, il suffit d'une multiplication, qu'on soit en C++, PHP ou javascript c'est la même chose. C'est une question de maths, pas de programmation. Il suffit de savoir que pi radians = 180 degrés.
0
dandypunk Messages postés 831 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 11 septembre 2011 82
12 sept. 2008 à 21:45
Pour de bonne bases en C puis en C++, je te conseille d'investir dans la "bible" à savoir le K&R (Kernighan et Ritchie) qui sont les créateurs du langage.
Ma version date de 1994 et a été éditée chez Masson avec l'ISBN 2-225-82070-8
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
12 sept. 2008 à 21:50
En effet, ça risque de m'être utile, ce genre d'ouvrage =)

Je suis étudiant en info, et la moyenne de C/C++ (et Java/Java Threads au deuxième trimestre) vaut quand même un septième de la moyenne générale... =P

Encore merci à toi !
-1