-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDisk.cpp
More file actions
25 lines (22 loc) · 709 Bytes
/
Copy pathDisk.cpp
File metadata and controls
25 lines (22 loc) · 709 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "Disk.h"
#include <cassert>
#include <iostream>
Disk::Disk(unsigned size): size_(size)
{
assert(size_ > 0);
}
unsigned Disk::size() const { return size_; }
void drawDisk(const Disk d, char filling)
{
std::cout << '['; // Left edge of the disk
unsigned j = 2 * d.size() + 1;
if(d.size() >= 10 && d.size() <= 99) j--;
for(unsigned i = 0; i < j; i++) {
const unsigned DISK_CENTER = (2 * d.size() + 1) / 2;
if(i == DISK_CENTER) std::cout << d.size();
else if(i == (DISK_CENTER - 1)) std::cout << ' ';
else if(i == (DISK_CENTER + 1)) std::cout << ' ';
else std::cout << filling;
}
std::cout << ']'; // Right edge of the disk
}