-
Notifications
You must be signed in to change notification settings - Fork 0
/
aicp_week_7.cpp
72 lines (60 loc) · 1.76 KB
/
aicp_week_7.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
67
68
69
70
71
72
#include <iostream>
using namespace std;
double charity_total[3];
string charity_choices[3];
void set_charity_choices(){
for(int i=0;i<3;i++){
cout<<"Enter name of charity "<<i+1<<endl;
cin>>charity_choices[i];
}
for(int i=0;i<3;i++){
cout<<i+1<<". "<<charity_choices[i]<<endl;
}
for(int i=0;i<3;i++){
charity_total[i]=0.0;
}
}
void calculate_charity(int ch,double bill){
charity_total[ch-1]+=0.01*bill;
cout<<"The name of charity is "<<charity_choices[ch-1]
<<" and the amount donated is "<<0.01*bill<<endl;
}
void show_total() {
// Display totals in descending order
cout << "\nCharities and Totals (Descending Order):" << endl;
for (int i = 0; i <3;i++) {
int maxIndex = 0;
for (int j = 1; j <3;j++) {
if (charity_total[j] > charity_total[maxIndex]) {
maxIndex = j;
}
}
cout << charity_choices[maxIndex] << ": " << charity_total[maxIndex] << endl;
charity_total[maxIndex] = -1.0;
}
// Calculate and display grand total
double grandTotal = 0.0;
for (int i = 0; i < 3; i++) {
grandTotal += charity_total[i];
}
cout << "\nGRAND TOTAL DONATED TO CHARITY: " << grandTotal << endl;
}
int main(){
int choice,idx=1;
double bill;
//set the donation system
set_charity_choices();
cout<<"Enter choice (1,2,3) to which charity you want to donate or -1 to check the totals so far\n";
cin>>choice;
while(choice>=1 && choice<=3){
cout<<"Welcome customer number "<<idx++<<endl;
cout<<"Enter bill\n";
cin>>bill;
//calculate charity
calculate_charity(choice,bill);
cout<<"Enter choice again\n";
cin>>choice;
}
//show the totals
show_total();
}