fork download
  1. // C code
  2. // This code will compute the values of the sales ticket sales for concerts
  3. // and sort the entries by those values
  4. // Developer: Gary Tran, Student CMIS102
  5. // Date: 07 Aug 2019
  6.  
  7. #include <stdio.h>
  8.  
  9. #define MAXN 100 // max characters in a group/concert name
  10. #define MAXG 50 // max concerts/groups
  11. #define MAXC 4 // max categories
  12.  
  13. char group [MAXG][MAXN];
  14. int fans [MAXG][MAXC];
  15. float prices [MAXC];
  16. float sales [MAXG];
  17. int count = 0;
  18. //Function to display a Welcome Message.
  19. void welcome(){
  20. printf ("Welcome to the ticket Sales Calulator.\n");
  21. printf ("Purpose: This application will help you calculate ticket Sales & help may be a success\n");
  22. printf ("Created By: Martha Hagos for ypur convenience\n");
  23. printf ("Created On: December 15, 2019 \n\n\n\n\n");
  24.  
  25. }
  26.  
  27. void printArray () {
  28. printf ("%15s%5s%5s%5s%10s\n",
  29. "Concert", "s1", "s2", "s3", "s4" "Sales");
  30. for (int i = 0; i < count; i++) {
  31. printf ("%15s", group [i]);
  32. for (int j = 0; j < MAXC; j++) {
  33. printf ("%5d", fans[i][j]);
  34. } // end for each category
  35. printf ("%10.2f\n", sales [i]);
  36. } // end for each group
  37. } // end function printArray
  38. void computeSales () {
  39. for (int i = 0; i < count; i++) {
  40. sales [i] = 0;
  41. for (int j = 0; j < MAXC; j++) {
  42. sales [i] += prices [j] * fans [i][j];
  43. } // end for each category
  44. } // end for each group
  45. } // end function computeSales
  46.  
  47. void switchRows (int m, int n) {
  48. char tc;
  49. int ti;
  50. float v;
  51. // printf ("Switching %d with %d\n", m, n);
  52. for (int i = 0; i < MAXN; i++) {
  53. tc = group [m][i];
  54. group [m][i] = group [n][i];
  55. group [n][i] = tc;
  56. } // end for each character in a group name
  57. for (int i = 0; i < MAXC; i++) {
  58. ti = fans [m][i];
  59. fans [m][i] = fans [n][i];
  60. fans [n][i] = ti;
  61. } // end for each fan category
  62. v = sales [m];
  63. sales [m] = sales [n];
  64. sales [n] = v;
  65. } // end switch
  66.  
  67. int findMinSales (int m){
  68. float min = fans [m][0];
  69. int target = m;
  70. for (int i = m+1; i < count; i++){
  71. if (fans [i][0]<min){
  72. min = fans [i][0];
  73. target = i;
  74. }//end new max found
  75. }
  76. return target;
  77. }// end function findMinSales
  78.  
  79. void sortBySales () {
  80. int target;
  81. for (int i = 0; i < count; i++) {
  82. target = findMinSales (i);
  83. if (target > i)
  84. switchRows (i, target);
  85. } // for each concert
  86. } // end function sortBySales
  87.  
  88. void getData () {
  89. // for (int i = 0; i < MAXG; i++) sales [i] = 0;
  90. printf ("Enter ticket prices in each of %d categories: ", MAXC);
  91. for (int i = 0; i < MAXC; i++)
  92. scanf ("%f", &prices [i]);
  93. printf ("-- Enter group and fans in %d categories\n", MAXC);
  94. printf (" . to finish entries:\n");
  95. for (int i = 0; i < MAXG; i++) {
  96. scanf ("%s", group[i]);
  97. if (group [i][0] == '.')
  98. break;
  99. count++;
  100. for (int j = 0; j < MAXC; j++)
  101. scanf ("%d", &fans[i][j]);
  102. } // end for each group
  103. } // end function getData
  104.  
  105. //Calculates the Total for all concerts
  106. void totalSalesCalculator(){
  107. //The Total
  108. float total = 0;
  109. int salesSize = sizeof(sales);
  110. //Loop THrough the sizes
  111. for (int i = 0; i < salesSize; i++){
  112. total += sales[i];
  113. }
  114. printf("\nThe Total Sales is %.2lf \n\n", total);
  115. }//end Total sales Calculation
  116.  
  117. int main(void) {
  118. welcome ();
  119. getData ();
  120. computeSales ();
  121. printArray ();
  122. printf ("\n --- Sorted ---\n");
  123. sortBySales ();
  124. printArray ();
  125. totalSalesCalculator();
  126. printf("... bye ...\n");
  127. return 0;
  128. }
  129.  
Success #stdin #stdout 0s 4524KB
stdin
1 2 3 4
a 1 2 3 4
b 1 2 3 4
c 1 2 3 4
stdout
Welcome to the ticket Sales Calulator.
Purpose: This application will help you calculate ticket Sales & help may be a success
Created By: Martha Hagos for ypur convenience
Created On: December 15, 2019 




Enter ticket prices in each of 4 categories: -- Enter group and fans in 4 categories
   . to finish entries:
        Concert   s1   s2   s3   s4Sales
              a    1    2    3    4     30.00
              b    1    2    3    4     30.00
              c    1    2    3    4     30.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00

 --- Sorted ---
        Concert   s1   s2   s3   s4Sales
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
                   0    0    0    0      0.00
              c    1    2    3    4     30.00
              a    1    2    3    4     30.00
              b    1    2    3    4     30.00

The Total Sales is 90.00 

... bye ...