Construire un disque en c++

Résolu
widi Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
taoufiq_ensias Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

6 réponses

mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
0
widi Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
widi Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
widi Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
encore une tite aide SVP
0

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

Posez votre question
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
0
taoufiq_ensias Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
#include <iostream>
#include <cmath>
//using namespace std; // mauvaise habitude

pourkoi c'est une mauvaise habitude
0