IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Calculer la distance d'un point par rapport au centre dans un rond en c++ sur QT creator


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut Calculer la distance d'un point par rapport au centre dans un rond en c++ sur QT creator
    Bonjour,

    Je travaille sur un projet pour calculer la distance d'un point dans un rond par rapport au centre et une fois qu'on a le résultat de cette distance on doit le comparer avec le rayon du cercle. (c'est le travaille qu'on me demande de faire).

    J'ai créer un objet sur le main, mais je sais pas qu'elle fonction, je doit utiliser, pouvez-vous m'aider ? Il faudrait aussi demander a l'utilisateur de taper un rayon, je sais pas si on a le droit de mettre des cout et des cin dans le main.

    Voici mon main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <QCoreApplication>
    #include <classe.h>
    #include <iostream>
    using namespace std;
     
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
     
        rond *objectrond;
        objectrond = new rond;
     
     
     
     
        return a.exec();
    }
    Voici mon classe.cpp (la ou il y a toute mes méthodes):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    #include "classe.h"
     
    float rond::getabscisse()
    {
        return abscisse;
    }
     
    void rond::setabscisse(float a)
    {
        abscisse=a;
    }
     
    float rond::getordonnee()
    {
        return abscisse;
    }
     
    void rond::setordonne(float o)
    {
        ordonnee=o;
    }
     
    float rond::getrayon()
    {
        return rayon;
    }
     
    void rond::setrayon(float r)
    {
        rayon=r;
    }
     
    bool rond::EstInterieur(float x, float y)
    {
     
        float a=y-ordonnee;
        a=pow (a, 2);
     
        float b=x-abscisse;
        b=pow (b, 2);
     
        double param, resultat;
        param = a + b;
        resultat = sqrt(param);
     
    }
     
    //comparer le resultat (racine carre) avec le rayon
        bool comparedouble (float a, float b)
        {
            return a==b;
        }
    Voici mon classe.h ( la ou je met tout mes attribut):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #ifndef CLASSE_H
    #define CLASSE_H
     
    #include <iostream>
    #include <math.h>
    #include <stdio.h>
    using namespace std;
     
    class rond
    {
    private:
    float abscisse, ordonnee, rayon;
    public:
        rond();
        ~rond();
     
        float getabscisse();
        void setabscisse(float a);
        float getordonnee();
        void setordonne(float o);
        float getrayon();
        void setrayon(float r);
        bool EstInterieur(float x, float y);
     
    };


    #endif // CLASSE_H

    Merci d'avance pour votre aide.

    Baptiste

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 771
    Par défaut
    Comme c'est 1 application Qt , le main doit contenir que le code pour créer et lancer l'application (<- ce code est généré par Qt Creator)

    Si ton application est 1 MVC/ MVP ou petit frère, alors en gros
    • c'est la vue qui doit demander au modèle de créer/ supprimer des cercles et des points
    • c'est la vue qui doit demander au modèle de calculer la distance de quel point par rapport à quel cercle et qu'en retour, le modèle donne cette distance pour être affichée par la vue

  3. #3
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    OK mais avec quele commande je peut supprimer le cercle.

    Voici mon nouveau main:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
     
        rond cercle;
     
    float A;
    float O;
     
       cout << "Saisir l'absciesse du point: " << endl;
       cin >> A;
        cercle.setabscisse(A);
     
       cout << "Saisir l'ordonnee du point: " << endl;
       cin>> O;
        cercle.setordonne(O);
     
     
        return a.exec();
    }

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par défaut
    Est-ce que tu es conscient du code que tu écris ?
    Tu crées une app Qt, puis un rond, puis exécutes l'app.
    À quel moment espères-tu que le rond et l'app intéragissent ?

    - using namespace dans un header est à bannir
    - ta classe n'a aucun const correctness
    - tu inclues des trucs inutiles dans le header
    - quitte à avoir tous les setter publics, autant mettre les variables publiques directement

    Tu ne travailles probablement pas seul sur ce projet, rapproche-toi de tes collègues qui t'aiguilleront.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/12/2020, 19h04
  2. Réponses: 4
    Dernier message: 02/04/2017, 14h24
  3. Réponses: 10
    Dernier message: 09/10/2015, 23h00
  4. [Débutant] calcul de la distance orthogonale d'un point par rapport à une droite
    Par djiweyewe dans le forum MATLAB
    Réponses: 10
    Dernier message: 09/10/2015, 23h00
  5. Calcul % d'ecart d'un point par rapport droite de tendance
    Par mat-tech dans le forum Statistiques, Data Mining et Data Science
    Réponses: 3
    Dernier message: 16/06/2008, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo