Construire un disque en c++
Résolu
widi
Messages postés
34
Statut
Membre
-
taoufiq_ensias Messages postés 1 Statut Membre -
taoufiq_ensias Messages postés 1 Statut Membre -
Bonjour tout le monde, je voudrais dessiner un disque en c++
j'ai fait ça:
#include <iostream>
#include <cmath>
using namespace std;
main ()
{
float centreL,centreH,rayon,ligne,colonne;
char car;
// Définit l'abscisse du cercle
cout << "Entrez l'abcisse du centre du cercle : "<<endl;
cin >> centreL;
// Définit l'ordonnée du cercle
cout << "Entrez l'ordonnée du centre du cercle : "<<endl;
cin >> centreH;
do
{
cout << "Entrez le rayon positif du cercle : "<<endl;
cin >> rayon;
}
while(rayon<0);
do
{
cout << "Entrez le motif du cercle sauf ('+','-','|',' ') : " << endl;
cin >> car;
}
while(car=='+' || car=='-' || car=='|' || car==' ');
(sqrt((centreH-ligne)*(centreH-ligne)+(centreL-colonne)*(centreL-colonne))<=rayon);
cout << car;
}
je sais qu'il y a un problème car rien ne s'affiche, mais je ne sais pas d'ou ça vien, je vous remercie d'avance de vos reponse.
j'ai fait ça:
#include <iostream>
#include <cmath>
using namespace std;
main ()
{
float centreL,centreH,rayon,ligne,colonne;
char car;
// Définit l'abscisse du cercle
cout << "Entrez l'abcisse du centre du cercle : "<<endl;
cin >> centreL;
// Définit l'ordonnée du cercle
cout << "Entrez l'ordonnée du centre du cercle : "<<endl;
cin >> centreH;
do
{
cout << "Entrez le rayon positif du cercle : "<<endl;
cin >> rayon;
}
while(rayon<0);
do
{
cout << "Entrez le motif du cercle sauf ('+','-','|',' ') : " << endl;
cin >> car;
}
while(car=='+' || car=='-' || car=='|' || car==' ');
(sqrt((centreH-ligne)*(centreH-ligne)+(centreL-colonne)*(centreL-colonne))<=rayon);
cout << car;
}
je sais qu'il y a un problème car rien ne s'affiche, mais je ne sais pas d'ou ça vien, je vous remercie d'avance de vos reponse.
6 réponses
-
Ci dessous ton code corrigé avec mes suggestions
#include <iostream> #include <cmath> //using namespace std; // mauvaise habitude int main (){ // main doit retourner le code d'execution (0 si tout va bien) // float centreL,centreH,rayon,ligne,colonne; // ca n'a aucune raison d'être un flottant ! // ligne et colonne n'ont aucune raison d'être déclarées ici unsigned int centreL,centreH,rayon; char car; // Définit l'abscisse du cercle std::cout << "Entrez l'abcisse du centre du cercle : "<<std::endl; std::cin >> centreL; // Définit l'ordonnée du cercle std::cout << "Entrez l'ordonnée du centre du cercle : "<<std::endl; std::cin >> centreH; std::cout << "Entrez le rayon positif du cercle : "<<std::endl; std::cin >> rayon; do{ std::cout << "Entrez le motif du cercle sauf ('+','-','|',' ') : " << std::endl; std::cin >> car; }while(car=='+' || car=='-' || car=='|' || car==' '); // cette instruction fait juste le calcul mais ne fait rien ! // en particulier // - tu n'écris pas de caractère : std::cout << car; // - tu ne fais pas évoluer les variables ligne et colonne // (sqrt((centreH-ligne)*(centreH-ligne)+(centreL-colonne)*(centreL-colonne))<=rayon); std::cout << "rayon = " << rayon << std::endl; for(unsigned int ligne=0;ligne<2*rayon;++ligne){ for(unsigned int colonne=0;colonne<2*rayon;++colonne){ if (sqrt((centreH-ligne)*(centreH-ligne)+(centreL-colonne)*(centreL-colonne))<=rayon){ std::cout << car; }else{ std::cout << ' '; } } std::cout << std::endl; } return 0; }
Bonne chance -
merci bcp
le cercle n'est pas la seule chose qui doit aller dans mon programme ce qui peut expliquer queque trucs.
je vous retien au courant -
encor merci beaucoup ça y est j'ai fini mon projet grace a vous je le mettrais en ligne un peu plus tard.
J'ai juste encor quelque petite chose.
Comment je peu faire pour dire qu'une valeur ne doit pas être un réel
par exemple si je ne veux pas que a soit inferieur a 0
je fait un do ..... puis un while a<0...
comment je fait pour empêcher un réel.
et à un moment donner l'utilisateur doit donné un motif comment puis je contraindre l'utilisateur à mettre qu'un seul caractère??
Merci d'avance -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tu peux comparer la partie entière du réel et ce réel (par exemple avec la fonction floor ou ceil).
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/floor.3.html
http://www.manpagez.com/missing.php
Si c'est égal, c'est un entier.
Bonne chance -
#include <iostream>
#include <cmath>
//using namespace std; // mauvaise habitude
pourkoi c'est une mauvaise habitude