/
circle.cpp
66 lines (53 loc) · 1.49 KB
/
circle.cpp
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <vector>
#include "shape.h"
#include "circle.h"
using namespace std;
typedef vector<int> vi;
void CariRadius(vi & Lingkaran, int a);
void hapusRadius(vi & Lingkaran, int a);
void LuasCircle(Circle circle, vi&Lingkaran){
printf("Radius\t\tLuas\n");
for (vi::const_iterator i = Lingkaran.begin(); i!=Lingkaran.end();++i){
int radius = *i;
circle.setPi();
circle.setRadius(radius);
double hasil = circle.luas_circle();
printf("%d\t\t%.3f\n",radius,hasil);
}
}
void KelilingCircle(Circle circle, vi &Lingkaran){
printf("Radius\t\tKeliling\n");
for (vi::const_iterator i = Lingkaran.begin(); i!=Lingkaran.end();++i){
int radius = *i;
circle.setPi();
circle.setRadius(radius);
double hasil = circle.keliling_circle();
printf("%d\t\t%.3f\n",radius,hasil);
}
}
void menuDeleteCircle(vi & Lingkaran){
int inp;
printf("Masukkan radius yang akan dihapus: ");
scanf("%d",&inp);
CariRadius(Lingkaran, inp);
}
void CariRadius(vi & Lingkaran, int inp){
while(binary_search(Lingkaran.begin(),Lingkaran.end(),inp)){
hapusRadius(Lingkaran,inp);
}
if (!binary_search(Lingkaran.begin(),Lingkaran.end(),inp)){
printf("Tidak ada lingkaran dengan radius %d\n",inp);
}
}
void hapusRadius(vi & Lingkaran, int inp){
vi::const_iterator a = Lingkaran.begin();
for (vi::const_iterator i = Lingkaran.begin(); i<Lingkaran.end();++i){
if (*i == inp){
Lingkaran.erase(Lingkaran.begin()+(i-a));
i=Lingkaran.end();
}
}
}