C++ fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
1.9 KiB

4 years ago
  1. ## 3 Piste-luokan käyttäminen
  2. **Tehtävä:**
  3. Luvun viimeisessä ohjelmointitehtävässä tehtävänäsi on laatia pääohjelma, joka käyttää Piste-luokan palveluita. Laatimasi pääohjelman tulee kysyä kaksi kokonaislukua (x- ja y-koordinaatit), muodostaa olio luokasta "Piste", asettaa saadut koordinaatit olioon ja lopulta tulostaa koordinaatit hyödyntäen luokan palvelua "KerroPaikka".
  4. Pääohjelman käyttäjä syöttää koordinaatit näppäimistöltä ja ne voidaan ottaa vastaan cin-oliolla. Tarkastelemalla tehtävän esimerkkitulostusta näet, millaisia tulosteita pääohjelman on muodostettava.
  5. Huomaa, että sinun tulee kirjoittaa vain pääohjelma, joka alkaa merkinnällä "int main()" ja päättyy sulkevaan aaltosulkeeseen.
  6. Omasta nurkasta voit tarkastella edellisiä tehtäviä palauttaaksesi mieleen, kuinka Piste-luokka on toteutettu.
  7. Example output:
  8. ```
  9. Syötä x-koordinaatti:39
  10. Syötä y-koordinaatti:23
  11. Pisteolio muodostettu ja koordinaatit asetettu.
  12. Pisteen x-koordinaatti: 39
  13. Pisteen y-koordinaatti: 23
  14. ```
  15. **Vastaus:**
  16. ```
  17. //** Pre-defined code in the assignment **//
  18. #include<iostream>
  19. using namespace std;
  20. class Piste
  21. {
  22. public:
  23. void KerroPaikka();
  24. void AsetaX(int x);
  25. void AsetaY(int y);
  26. void Siirra(int x, int y);
  27. private:
  28. int x_;
  29. int y_;
  30. };
  31. void Piste::AsetaX(int x)
  32. {
  33. x_ = x;
  34. }
  35. void Piste::AsetaY(int y)
  36. {
  37. y_ = y;
  38. }
  39. void Piste::Siirra(int x, int y)
  40. {
  41. x_ = x_ + x;
  42. y_ = y_ + y;
  43. }
  44. void Piste::KerroPaikka()
  45. {
  46. cout << "Pisteen x-koordinaatti: " << x_ << endl;
  47. cout << "Pisteen y-koordinaatti: " << y_ << endl;
  48. }
  49. //** ---------- ---------- ---------- **//
  50. int main()
  51. {
  52. Piste taso;
  53. int xk, yk;
  54. cout << "Syötä x-koordinaatti:";
  55. cin >> xk;
  56. if (cin.fail()) exit(1);
  57. cout << "Syötä y-koordinaatti:";
  58. cin >> yk;
  59. if (cin.fail()) exit(1);
  60. taso.AsetaX(xk);
  61. taso.AsetaY(yk);
  62. cout << "Pisteolio muodostettu ja koordinaatit asetettu." << endl;
  63. taso.KerroPaikka();
  64. return 0;
  65. }
  66. ```