Άσκηση C++ με τρίγωνο

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
VagosM
Δημοσιεύσεις: 46
Εγγραφή: 03 Νοέμ 2010 20:19

Άσκηση C++ με τρίγωνο

Δημοσίευση από VagosM » 18 Μαρ 2011 22:32

Για σας έχω να υλοποιήσω ένα πρόγραμμα που θα δεχτεί 3 συντεταγμένες (χ,ψ) και θα υπολογίζω περίμετρο και εμβαδόν, μου βγάζει κάποια λάθη αν μπορεί κάποιος να με βοηθήσει..
Ευχαριστώ..

Κώδικας: Επιλογή όλων

#include <iostream>
#include <math.h>
using namespace std;

class triangle &#123;
      private&#58;
            int  x&#91;3&#93;,y&#91;3&#93;;
            float E;
            float Pe;
              
      public&#58;
             void set_x&#40;int X&#41;&#123;
                  *x=X;&#125;
                  
             void set_y&#40;int Y&#41;&#123;
                  *y=Y;&#125;     
                  
             int  get_x&#40;&#41;&#123;
                  return *x;&#125;
            
              int  get_y&#40;&#41;&#123;
                  return *y;&#125;
                  
             float get_E&#40;&#41;;
                 
             float get_Pe&#40;&#41;;
             &#125;;
             
             float triangle&#58;&#58;get_Pe&#40;&#41;&#123;
                   float P&#91;3&#93;;
                   int i,j;
                   for&#40;i=0;i<3;i++&#41;
                   P&#91;i&#93;=square&#40;pow&#40;A&#91;i&#93;.get_x&#40;&#41;,2.0&#41;+pow&#40;A&#91;i+1&#93;.get_x&#40;&#41;,2.0&#41;&#41;;
                   for&#40;j=0;j<3;j++&#41;
                   Pe=Pe+P&#91;i&#93;
                   return Pe;
                   &#125;
                   
             float triangle&#58;&#58;get_E&#40;&#41;&#123;
                      float P&#91;3&#93;;
                   int i,j;
                   for&#40;i=0;i<3;i++&#41;
                   P&#91;i&#93;=square&#40;pow&#40;A&#91;i&#93;.get_x&#40;&#41;,2.0&#41;+pow&#40;A&#91;i+1&#93;.get_x&#40;&#41;,2.0&#41;&#41;;
                   E=&#40;P&#91;1&#93;*P&#91;2&#93;&#41;/2;
                   return E;
                   &#125;
 int main&#40;&#41;&#123;
     triangle A&#91;3&#93;;
     int i,X,Y;
     float perimetros=0,evado=0;
     for&#40;i=0;i<3;i++&#41;&#123;
     cout << "Dwste sintetagmenes &#40;x,y&#41; " << i+1 << " simiou" << endl;
     cin >> X >> Y;
     A&#91;i&#93;.set_x&#40;X&#41;;
     A&#91;i&#93;.set_y&#40;Y&#41;;&#125;
     cout << "i perimetros einai &#58; " <<get_Pe&#40;&#41;;
     cout << "To evado einai &#58; " << get_E&#40;&#41;;
     
     
     system&#40;"pause"&#41;;
     &#125;
     


Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Άσκηση C++ με τρίγωνο

Δημοσίευση από virxen75 » 18 Μαρ 2011 23:36

1) φτιάξε μία κλάση point (set,get --> x,y)
π.χ.

Κώδικας: Επιλογή όλων

class point&#123;
    private&#58;
        float x,y;
    public&#58;
        void set_x&#40;float X&#41;&#123;
            x=X;
        &#125;
                 
        void set_y&#40;float Y&#41;&#123;
            y=Y;
        &#125;     
                 
        float  get_x&#40;&#41;&#123;
            return x;
        &#125;
           
        float  get_y&#40;&#41;&#123;
            return y;
        &#125;
    
&#125;;
2) στην κλάση triangle βάλε ένα πίνακα 3 θέσεων τύπου point που θα είναι οι κορυφές
του τριγώνου
π.χ.

Κώδικας: Επιλογή όλων

class triangle &#123;
      private&#58;
            point A&#91;3&#93;;
            float E;
            float Pe;
             
      public&#58;
              point  getPoint&#40;int i&#41;&#123;
                    return A&#91;i&#93;;
              &#125;
              void  addPoint&#40;int i,point pt&#41;&#123;
                    A&#91;i&#93;=pt;
              &#125;   
              float get_E&#40;&#41;;
                 
              float get_Pe&#40;&#41;;
             &#125;;
5) και άλλαξε και την main με βάση τα παραπάνω
π.χ.

Κώδικας: Επιλογή όλων

 int main&#40;&#41;&#123;
     triangle A;
     int i;
     float X,Y;
     float perimetros=0,evado=0;
     for&#40;i=0;i<3;i++&#41;&#123;
        cout << "Dwste sintetagmenes &#40;x,y&#41; " << i+1 << " simiou" << endl;
        cin >> X >> Y;
        point pt;
        pt.set_x&#40;X&#41;;
        pt.set_y&#40;Y&#41;;
        A.addPoint&#40;i,pt&#41;;
     &#125;
     cout << "i perimetros einai &#58; " <<A.get_Pe&#40;&#41;;
     cout << "To evado einai &#58; " << A.get_E&#40;&#41;;
     
     
     system&#40;"pause"&#41;;
 &#125;
4) γράψε τους τύπους με βάση τους οποίους υπολογίζεις το εμβαδό και την περίμετρο.
π.χ.
περίμετρος(ΑΒΓ)=ΑΒ+ΒΓ+ΓΑ

ΑΒ=sqrt( (xA-XB)^2 + (yA-yB)^2 )
.........

VagosM
Δημοσιεύσεις: 46
Εγγραφή: 03 Νοέμ 2010 20:19

Άσκηση C++ με τρίγωνο

Δημοσίευση από VagosM » 20 Μαρ 2011 17:57

Ευχαριστώ πολύ για την βοήθεια σου...αν μπορείτε να με βοηθήσετε και σε κάτι ακόμα έχω να κάνω μια συνάρτηση reverse που να αντιστρέφει τη λέξη που θα δίνω ανάλογα με την σταθερά που θα έχω ορίσει. Π.χ με το 0 θα κάνει το έσυ σε υσε και αν είναι ,4 από αυτός θα γίνει ότυας κ.τ.λ.

#include <iostream>
using namespace std;

char reverse(char * , int count=0);

int main(){
char str[5],sira;
int i,count=0;
cout << "Doste to minima gia antistrophi" << endl;
cin >> str;
sira=reverse(str,count);
cout << "Oi protasi anestrameni :" << sira << endl;


system("pause");
}

char reverse(char *g , int b){
int i;
char P[5];
if(b=0)
for(i=0;i<5;i++){
P=g[5-i];
}
return *P;}

Κώδικας: Επιλογή όλων


Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης