Calcul de la surface d'un champ rectangulaire
Résolu- Calcul de la surface d'un champ rectangulaire
- Logiciel calcul surface terrain gratuit - Télécharger - Outils professionnels
- Calcul moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Formule de calcul excel - Guide
2 réponses
16 déc. 2023 à 10:12
BONJOUR
si si on aime bien que le bonjour présent par défaut dans la boite de texte ne soit pas supprimé.
Pour tes prochains post merci d'utiliser la coloration syntaxique comme décrit ici
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Concernant tes problèmes, ton IDE t'a-t-il signalé des erreurs, en général c'est une bonne piste de départ.
En copiant collant ton code sur un site de code en ligne voici ce qu'il me donne
ERROR!
g++ /tmp/rJaVlb1QCT.cpp
/tmp/rJaVlb1QCT.cpp: In function 'int main()':
/tmp/rJaVlb1QCT.cpp:6:16: error: expected primary-expression before ':' token
6 | int longueur; :
| ^
/tmp/rJaVlb1QCT.cpp:13:1: error: 'perimetre' was not declared in this scope
13 | perimetre = (longueur + largeur)*2;
| ^~~~~~~~~
/tmp/rJaVlb1QCT.cpp:14:12: error: 'longeur' was not declared in this scope; did you mean 'longueur'?
14 | surface = longeur * largeur;
| ^~~~~~~
| longueur
Donc déjà, en ligne 6, il faut supprimer les : qui trainent.
Ensuite, ça dit que "perimetre" n'existe pas, or, tu as bien écrit la ligne de déclaration, mais après ces fameux : À mon avis, y'a un lien.
Enfin, ça te dit que "longeur" n'existe pas et effectivement, tu n'as pas déclaré de variable qui s'appelle comme ça, mais presque comme ça.
Voilà de quoi rendre ton code fonctionnel.
Mais (conseil pour l'avenir) l'utilisateur lui n'en a cure du code, ce qu'il voit, c'est juste son exécution, et certains pourraient s'offusquer du fait que "périmètre", c'est masculin et donc "calculée" sans e.
Si plus tard, tu présentes une maquette avec des fautes à un client, il pourrait choisir un autre prestataire juste pour cette raison. C'est donc un point à faire attention.
Cela dit, c'est la seule faute et c'est souvent bien pire dans les questions du forum
Bonjour,
Pourquoi utilises-tu des "int" ? Es-tu sûr de n'avoir que des nombres entiers ? Si tu veux prendre en compte des variables décimales, il faut utiliser "double".
Attention à l'orthographe "longeur" au lieu de "longueur", puis tu as rajouté un ":" en trop.
Aussi, tu pourrais séparer les kilomètres et les mètres dans le résultat du périmètre. De la même manière, dans le résultat de la surface, tu peux donner le résultat en m² , km² et hectare
Je te propose une correction (maintenant que l'exercice est fini ^^) :
#include <iostream> #include <iomanip> #include <cmath> int main() { using namespace std; double largeur; double longueur; double perimetre; double surface; cout << "La largeur est (en mètres) : "; cin >> largeur; cout << "La longueur est (en mètres) : "; cin >> longueur; perimetre = (longueur + largeur) * 2; surface = longueur * largeur; int km, m; km = perimetre / 1000; m = static_cast<int>(round(perimetre - km * 1000)); cout << fixed; cout << "Le périmètre calculé est : " << km << " km " << m << " m (" << setprecision(3) << perimetre << " m)" << endl; cout << fixed; cout << "La surface calculée est : " << setprecision(2) << surface << " m² soit " << setprecision(6) << surface / 1000000 << " km² soit " << setprecision(1) << surface / 10000 << " ha" << endl; return 0; }
J'ai essayé avec 100 pour chaque, c'est carré !! :p