Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. main.cpp
  2. #include "person.h"
  3. #include <iostream>
  4.  
  5. using std::cout;
  6. using std::cin;
  7. using std::endl;
  8.  
  9. int main() {
  10.  
  11. CPerson ivan("Ivan Ivanov",190,70);
  12. ivan.print();
  13. ivan.printBMIStatus();
  14. return 0;
  15. }
  16. person.h
  17. #ifndef _PERSON_H
  18. #define _PERSON_H
  19.  
  20. class CPerson {
  21. public:
  22. CPerson(const char*, unsigned short, unsigned);
  23. ~CPerson();
  24.  
  25. //setters
  26. void setHcm(unsigned short);
  27. void setWkg(unsigned);
  28.  
  29. //getters
  30. const char * getName()const;
  31. unsigned short getHcm()const;
  32. unsigned getWkg()const;
  33.  
  34. void print()const;
  35. double bmi()const;
  36. void printBMIStatus()const;
  37.  
  38. private:
  39. const char * name;
  40. unsigned short hcm;
  41. unsigned wkg;
  42. };
  43.  
  44. #endif
  45. person.cpp
  46. #include "person.h"
  47. #include <iostream>
  48.  
  49. CPerson::CPerson(const char* name, unsigned short hcm, unsigned wkg){
  50. this->name = name;
  51. this->hcm = hcm;
  52. this->wkg = wkg;
  53. }
  54. CPerson::~CPerson(){
  55. }
  56.  
  57. //setters
  58. void CPerson::setHcm(unsigned short h){
  59. hcm = h;
  60. }
  61. void CPerson::setWkg(unsigned wkg){
  62. this->wkg = wkg;
  63. }
  64.  
  65. //getters
  66. const char * CPerson::getName()const{
  67. return name;
  68. }
  69. unsigned short CPerson::getHcm()const{
  70. return hcm;
  71. }
  72. unsigned CPerson::getWkg()const{
  73. return wkg;
  74. }
  75.  
  76. void CPerson::print()const{
  77. std::cout << "Person\'s name is " << name << std::endl;
  78. std::cout << "Person\'s height is " << hcm << std::endl;
  79. std::cout << "Person\'s weight is " << wkg << std::endl;
  80. }
  81. double CPerson::bmi()const{
  82. double t = 0.01*hcm;
  83. t *= t;
  84. return wkg / t;
  85. }
  86. void CPerson::printBMIStatus()const{
  87. double tmp = bmi();
  88. if (tmp < 16) {
  89. std::cout << "Severely underweight\n";
  90. return;
  91. }
  92. if (tmp > 16 && tmp <18.5) {
  93. std::cout << "Underweight\n";
  94. return;
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement