#include <stdio.h>
void GetRawNumbers(int *cent, int *micro, int *kiln) {
printf(" How many Centrifuges? ");
scanf("%d", cent);
printf(" Microscopes? ");
scanf("%d", micro);
printf(" Kilns? ");
scanf("%d", kiln);
}
void PrintHeader() {
printf("\n\n\nKathleen's Sales:\n\n");
printf("------------------------------------------------------------------\n");
printf("| Item | Princeton | Rutgers | Seton Hall | Total |\n");
printf("------------------------------------------------------------------\n");
}
float CalcTotal(int cen, int micro, int ki) {
return cen * 3500.0 + micro * 235.0 + ki * 9000.0;
}
void CalcTotalNumbers(int *C_t, int *M_t, int *K_t,
int P_c, int P_m, int P_k,
int R_c, int R_m, int R_k,
int S_c, int S_m, int S_k) {
/* the first three parameters here are passed by reference since *
* we need to modify the values inside this function. */
*C_t = P_c + R_c + S_c;
*M_t = P_m + R_m + S_m;
*K_t = P_k + R_k + S_k;
}
void PrintTable(int P_c, int R_c, int S_c, int C_t,
int P_m, int R_m, int S_m, int M_t,
int P_k, int R_k, int S_k, int K_t) {
printf("| Centrifuge | %10d | %10d | %10d | %10d |\n", P_c, R_c, S_c, C_t);
printf("| Microscope | %10d | %10d | %10d | %10d |\n", P_m, R_m, S_m, M_t);
printf("| Kiln | %10d | %10d | %10d | %10d |\n", P_k, R_k, S_k, K_t);
printf("------------------------------------------------------------------\n");
/* directly print out the values that being returned from CalcTotal(); */
printf("| Total | $%9.2f | $%9.2f | $%9.2f | $%9.2f |\n",
CalcTotal(P_c, P_m, P_k), CalcTotal(R_c, R_m, R_k), CalcTotal(S_c, S_m, S_k), CalcTotal(C_t, M_t, K_t));
printf("------------------------------------------------------------------\n");
}
int main() {
int P_cen, P_micro, P_ki;
int R_cen, R_micro, R_ki;
int S_cen, S_micro, S_ki;
int C_total, M_total, K_total;
printf("For Princeton University:\n");
GetRawNumbers(&P_cen, &P_micro, &P_ki);
printf("\nFor Rutgers University:\n");
GetRawNumbers(&R_cen, &R_micro, &R_ki);
printf("\nFor Seton Hall University:\n");
GetRawNumbers(&S_cen, &S_micro, &S_ki);
CalcTotalNumbers(&C_total, &M_total, &K_total, P_cen, P_micro, P_ki, R_cen, R_micro, R_ki, S_cen, S_micro, S_ki);
PrintHeader();
PrintTable(P_cen, R_cen, S_cen, C_total, P_micro, R_micro, S_micro, M_total, P_ki, R_ki, S_ki, K_total);
printf("\nHit return to finish.");
fflush(stdin);
getchar();
return 0;
}