Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

mia mikri boitheiaa!!!!

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

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

Απάντηση
NTINAaa
Δημοσιεύσεις: 21
Εγγραφή: 16 Μαρ 2009 00:25

mia mikri boitheiaa!!!!

Δημοσίευση από NTINAaa » 10 Απρ 2010 00:13

καλησπέρα παιδία!!!!!έχω μια άσκηση στη c++ έχω κάνει τα περισσότερα αλλα μου βγάζει λάθος στις συναρτήσεις length kai middle !!!όποιος μπορεί ας προτείνει καμία λυση !!!!!ευχαριστώ προκαταβολικά !!!!!!

Η κλάση Point (σημείο) ορίζεται από τα ιδιωτικά δεδομένα-μέλη x και y που
αντιστοιχούν στις συντεταγμένες του σημείου στο επίπεδο. Η κλάση περιλαμβάνει
τον κατασκευαστή (constructor) :
• Point(float a, float b){x=a; y=b;}
και τις δημόσιες (public) συναρτήσεις-μέλη:
• display() : Εμφανίζει στην οθόνη τις συντεταγμένες x,y του σημείου.
• move_x(a): Μετακινεί το σημείο κατά a μετρικές μονάδες προς τον άξονα των
x (μεταβάλλει δηλαδή την τετμημένη x κατά a).
• move_y(a): Μετακινεί το σημείο κατά a μετρικές μονάδες προς τον άξονα των
y (μεταβάλλει δηλαδή την τεταγμένη y κατά a).
Αντίστοιχα, το αντικείμενο Segment (ευθύγραμμο τμήμα) ορίζεται από δύο σημεία
(του τύπου Point). Η κλάση Segment περιέχει δύο κατασκευαστές:
• Segment(Point p1, Point p2) : Το ευθ. τμήμα ορίζεται από τα σημεία p1 και
p2.
• Segment(Point p): Το ευθ. τμήμα ορίζεται από τα σημεία (0,0) και p.
Η κλάση Segment περιλαμβάνει τις δημόσιες συναρτήσεις-μέλη:
• display(): Εμφανίζει στην οθόνη τα σημεία που ορίζουν το ευθύγραμμο τμήμα
(τις συντεταγμένες τους).
• length(): Επιστρέφει το μήκος του ευθύγραμμου τμήματος.
• middle():Επιστρέφει το κέντρο του ευθύγραμμου τμήματος.
Αφού κατασκευάσετε τις κλάσεις Point και Segment σύμφωνα με τα ανωτέρω, θα
πρέπει να γίνουν οι ακόλουθες ενέργειες:
• Να ορίσετε στο κυρίως πρόγραμμα το σημείο p στη θέση (-1,2) του επιπέδου.
• Να εμφανίσετε τη θέση του σημείου στην οθόνη.
• Να γράψετε ένα βρόχο μετακίνησης του σημείου προς τα αριστερά με βήμα
0.1. Ο βρόχος θα τερματίζει ύστερα από 7 μετακινήσεις. Μετά από κάθε
μετακίνηση να εμφανίζονται στην οθόνη οι συντεταγμένες του σημείου.
• Να ορίσετε το ευθύγραμμο τμήμα (0,4), (3,0)
• Να υπολογίσετε το μήκος του
• Να βρείτε το κέντρο του
Τα ανωτέρω αποτελέσματα θα πρέπει να εμφανίζονται στην οθόνη.

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


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

class Point 
 &#123;
      private&#58;
          float x,y;
          
      public&#58;
            Point&#40;float a, float b&#41;
          &#123;x=a; y=b;&#125;
          Point&#40;&#41; &#123;x=0;y=0;&#125;;

          float move_x&#40;float a&#41;;
          float move_y&#40;float a&#41;;
          void display&#40;&#41;;
          friend float length&#40;&#41;;
          friend float middle&#40;&#41;;
        
&#125;;
 void Point&#58;&#58;display&#40;&#41;
 &#123;
     cout <<"Oi sintetagmenes tou simeiou einai&#58; x="<<x<<"y="<<y<<endl; 
 &#125;   ;                    
 
 float Point&#58;&#58;move_x&#40; float a&#41;
 &#123;
   x=x+a;
 &#125;

float Point&#58;&#58;move_y&#40;float a&#41;
 &#123;
   y=y+a;
 &#125;
          
class Segment
 &#123; 
         Point a,b; 
          
      public&#58;
         Segment&#58;&#58; Segment&#40;Point p1,Point p2&#41;
            &#123;a=p1;b=p2;&#125;
                        
         Segment&#58;&#58;Segment&#40;Point p&#41;
         &#123;a=p;&#125;
          
          void  display&#40;&#41;;
          friend float lenght&#40;&#41;;
          friend float middle&#40;&#41;;
&#125;;


 
 void Segment&#58;&#58;display&#40;&#41;
 &#123;
    a.display&#40;&#41;;
    b.display&#40;&#41;;
&#125;
/*float lenght&#40;&#41;
&#123;
   float len;
   len=sqrt&#40;&#40;&#40;b.x&#41;^2-&#40;a.x&#41;^2&#41;+&#40;&#40;b.y&#41;^2-&#40;b.x&#41;^2&#41; &#41;
   cout<<"To mikos einai &#58;"<< len <<endl;
  return 0;
&#125;       

float middle&#40;&#41;
&#123;   Point a,b;
    float midx,midy;
    midx=&#40;a.x+b.x&#41;/2;
    midy=&#40;a.y+b.y&#41;/2;
    cout <<"to kentro einai &#58;"<<midx<<","<<midy<<endl;
    &#125;*/
 int main &#40;&#41;
&#123;
     Point p&#40;-1,2&#41;;     
    p.display&#40;&#41;;
     
     float i=0;
     while &#40;i>=-0.7&#41;  
     &#123; 
           i=i-0.1;
           p.move_x&#40;i&#41;;
           p.move_y&#40;i&#41;;
           p.display&#40;&#41;;
             
     &#125;     
       Point p1&#40;0,4&#41;;
       Point p2&#40;3,0&#41;;
       Segment Seg1&#40;p1,p2&#41;; 
      Seg1.display&#40;&#41;;                       
system&#40;"pause"&#41;;
return 0;
&#125;



Υ.Γ. εχω βάλει σαν σχόλια τις συναρτήσεις που δεν δουλεύουν !!!

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

mia mikri boitheiaa!!!!

Δημοσίευση από virxen75 » 10 Απρ 2010 02:26

μάλλον πρέπει να είναι έτσι

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

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

class Point
 &#123;
      private&#58;
          float x,y;
         
      public&#58;
          Point&#40;float a, float b&#41;&#123;x=a; y=b;&#125;
          Point&#40;&#41; &#123;x=0;y=0;&#125;
          float getX&#40;&#41;;
          float getY&#40;&#41;;
          float move_x&#40;float a&#41;;
          float move_y&#40;float a&#41;;
          void display&#40;&#41;;
       
&#125;;

 float Point&#58;&#58;getX&#40;&#41;&#123;
   return x;
 &#125;
  float Point&#58;&#58;getY&#40;&#41; &#123;
  return y;
 &#125;
 
 void Point&#58;&#58;display&#40;&#41;
 &#123;
     cout <<"Oi sintetagmenes tou simeiou einai&#58; x="<<x<<" y="<<y<<endl;
 &#125;                
 
 float Point&#58;&#58;move_x&#40; float a&#41;
 &#123;
   x=x+a;
 &#125;

float Point&#58;&#58;move_y&#40;float a&#41;
 &#123;
   y=y+a;
 &#125;
         
class Segment&#123;
         Point a,b;
         
      public&#58;
         Segment&#58;&#58; Segment&#40;Point p1,Point p2&#41;
            &#123;a=p1;b=p2;&#125;
                       
         Segment&#58;&#58;Segment&#40;Point p&#41;&#123;
                a=p;
         &#125;
         
          void  display&#40;&#41;;
         float length&#40;&#41;;
          void middle&#40;&#41;;
&#125;;


 
 void Segment&#58;&#58;display&#40;&#41;
 &#123;
    a.display&#40;&#41;;
    b.display&#40;&#41;;
&#125;
float Segment&#58;&#58;length&#40;&#41;&#123;
   float len;
   float dx=b.getX&#40;&#41;-a.getX&#40;&#41;;
   float dy=b.getY&#40;&#41;-a.getY&#40;&#41;;
   len=sqrt&#40;dy*dy+dx*dx&#41;;
   //cout<<"To mikos einai &#58;"<< len <<endl;
  return len;
&#125;       

void Segment&#58;&#58;middle&#40;&#41;&#123; 
    //Point a,b;
    float midx,midy;
    midx=&#40;a.getX&#40;&#41;+b.getX&#40;&#41;&#41;/2.0f;
    midy=&#40;a.getY&#40;&#41;+b.getY&#40;&#41;&#41;/2.0f;
    cout <<"to kentro einai &#58;"<<midx<<","<<midy<<endl;
    &#125;
    
 int main &#40;&#41;&#123;
     Point p&#40;-1,2&#41;;     
      p.display&#40;&#41;;cout<<endl;
     int i=0;
     while &#40;i<7&#41; &#123;
           i++;
           p.move_x&#40;-0.1&#41;;
           //p.move_y&#40;i&#41;;
           p.display&#40;&#41;;  
     &#125;     
     cout<<endl;
       Point p1&#40;0,4&#41;;
       Point p2&#40;3,0&#41;;
       Segment Seg1&#40;p1,p2&#41;;
       cout<<endl;
       Seg1.display&#40;&#41;;
       cout<<"length="<<Seg1.length&#40;&#41;<<endl;
       Seg1.middle&#40;&#41;;                     
system&#40;"pause"&#41;;
return 0;
&#125;



NTINAaa
Δημοσιεύσεις: 21
Εγγραφή: 16 Μαρ 2009 00:25

mia mikri boitheiaa!!!!

Δημοσίευση από NTINAaa » 13 Απρ 2010 21:49

Ευχαριστώ πολύ !!!Να σαι καλά!:) :D

Απάντηση

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

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

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