Fonction cosinus erronnée...
Yuku
Messages postés
215
Statut
Membre
-
dieng -
dieng -
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 !
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 !
Configuration: Windows Vista Firefox 3.0.1
10 réponses
-
Mon C est un peut rouillé, mais je pense qu'en utilisant "%f" simplement cela devrait fonctionner.
-
-
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. -
Pour info, pi n'est pas implémenté en C, il faut le définir.
Une approximation correcte à 2 10^-7 est 355/113. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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? -
Et bien merci beaucoup, la vache :p
J'espère avoir ton niveau un jour :) -
Ah, et à ce propos, y aurait-il un moyen de passer des radians aux degrés sous Dev-C++?
-
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 -
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 !