Kenneth Bruen
3 years ago
commit
ef5f055695
3 changed files with 101 additions and 0 deletions
@ -0,0 +1,28 @@ |
|||||||
|
# CCIoT Homework Lab 1 |
||||||
|
|
||||||
|
## Slide 11 |
||||||
|
|
||||||
|
### Problem |
||||||
|
|
||||||
|
```cpp |
||||||
|
class Human |
||||||
|
{ |
||||||
|
public: |
||||||
|
Human(); |
||||||
|
~Human(); |
||||||
|
std::string name; |
||||||
|
int age; |
||||||
|
}; |
||||||
|
``` |
||||||
|
|
||||||
|
Try this: |
||||||
|
|
||||||
|
1. Create 4 humans. |
||||||
|
2. Give them names and ages. |
||||||
|
3. Retrieve the data from all humans and print it to the screen. |
||||||
|
4. Print the data for the youngest human. |
||||||
|
5. Print all humans’ names in descending order by their names. |
||||||
|
|
||||||
|
### Solution |
||||||
|
|
||||||
|
See [slide11.cpp](./slide11.cpp). |
@ -0,0 +1,70 @@ |
|||||||
|
// For std::string
|
||||||
|
#include <string> |
||||||
|
// For std::cout
|
||||||
|
#include <iostream> |
||||||
|
// For std::sort
|
||||||
|
#include <algorithm> |
||||||
|
|
||||||
|
class Human |
||||||
|
{ |
||||||
|
public: |
||||||
|
Human(); |
||||||
|
~Human(); |
||||||
|
std::string name; |
||||||
|
int age; |
||||||
|
}; |
||||||
|
|
||||||
|
// Implementation
|
||||||
|
Human::Human() : name{}, age{} {} |
||||||
|
Human::~Human() {} |
||||||
|
|
||||||
|
int main() { |
||||||
|
// 1. Create 4 humans
|
||||||
|
Human humans[4]; |
||||||
|
|
||||||
|
// 2. Give them names and ages.
|
||||||
|
humans[0].name = "Joe"; |
||||||
|
humans[0].age = 18; |
||||||
|
humans[1].name = "Jane"; |
||||||
|
humans[1].age = 19; |
||||||
|
humans[2].name = "Jim"; |
||||||
|
humans[2].age = 20; |
||||||
|
humans[3].name = "John"; |
||||||
|
humans[3].age = 21; |
||||||
|
|
||||||
|
// 3. Retrieve the data from all humans
|
||||||
|
// and print it to the screen.
|
||||||
|
for (int i = 0; i < 4; i++) { |
||||||
|
std::cout
|
||||||
|
<< "name=" << humans[i].name
|
||||||
|
<< ", age=" << humans[i].age
|
||||||
|
<< std::endl; |
||||||
|
} |
||||||
|
|
||||||
|
// 4. Print the data for the youngest
|
||||||
|
// human.
|
||||||
|
Human& youngest = humans[0]; |
||||||
|
for (int i = 1; i < 4; i++) { |
||||||
|
if (humans[i].age < youngest.age) { |
||||||
|
youngest = humans[i]; |
||||||
|
} |
||||||
|
} |
||||||
|
std::cout
|
||||||
|
<< "Youngest:" |
||||||
|
<< " name=" << youngest.name |
||||||
|
<< ", age=" << youngest.age |
||||||
|
<< std::endl; |
||||||
|
|
||||||
|
// 5. Print all humans' names in
|
||||||
|
// descending order by their
|
||||||
|
// names.
|
||||||
|
std::sort(humans, humans + 4, [](const Human &h1, const Human &h2) {
|
||||||
|
return h1.name <= h2.name; |
||||||
|
}); |
||||||
|
for (int i = 0; i < 4; i++) { |
||||||
|
std::cout << humans[i].name << ", "; |
||||||
|
} |
||||||
|
std::cout << std::endl; |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
Loading…
Reference in new issue