Question

In: Computer Science

Hi, I don't think my program is calcualting right at all. When I used a text...

Hi, I don't think my program is calcualting right at all. When I used a text editor to check the # of batches, for 20, it returned 0, but the program is calculated 543 and 1 batch. On 21, there are 29 batches, but the program calculates 28 batches for Chocolate Type #21. I'd like to make sure it calculates everything correctly before I turn it in on Monday.

Here is my program:

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

ifstream infile;
ofstream outfile;

//Maximum number of Chocolate Types
const int ARRAY_SIZE = 25;

int printReport(int ChocTypeArray[], int ChocPiecesArray[])
{
//Opens output file
outfile.open("ChocolateCo_Production_Results.txt");

//Print Title
outfile << "======================================================================================================" << endl;
outfile << "================================ O-So-Good Chocolate Company Report ==================================" << endl;
outfile << "======================================================================================================" << endl;

//Print Header
outfile << "Chocolate Type" << setw(42) << " Pieces" << setw(20) << "Batches" << setw(20) << "Average/Batch" << endl;
outfile << "======================================================================================================" << endl;
for (int count = 0; count < ARRAY_SIZE; count++)
{
  float avg = 0;
  if (ChocTypeArray[count] > 0)
  {
   avg = (float)ChocTypeArray[count] / (float)ChocPiecesArray[count];
  }
  
  outfile << count + 1 << "\t\t\t\t" << right << setw(24) << ChocTypeArray[count] << right << setw(20) << ChocPiecesArray[count] << right << setw(20) << avg << endl;
}

// Closes outout file
outfile.close();

return 0;
}

int main()
{
int ChocTypeArray[ARRAY_SIZE];
int ChocPiecesArray[ARRAY_SIZE];

//Initialize arrays
for (int count = 0; count < ARRAY_SIZE; count++)
{
  ChocTypeArray[count] = 0;
  ChocPiecesArray[count] = 0;
}

//Try to find data file
infile.open("Chocolates.txt");
if (!infile)
{
  cout << "Failed to open Chocolates.txt. Make sure it is in the same directory as the program." << endl;
  return -1;
}

//Read data until the end of file
int _chocType, _chocPieces;
while (!infile.eof())
{
  infile >> _chocType >> _chocPieces;

  // Validates if chocType is between 1 and 25
  if (_chocType < 1 || _chocType > ARRAY_SIZE)
  {
   continue; //skip
  }
  else
  {
   //Adjust for array index
   _chocType--;
   //Add the pieces to their appropriate type
   ChocTypeArray[_chocType] = ChocTypeArray[_chocType] + _chocPieces;
   ChocPiecesArray[_chocType]++;
  }
}

//Print the report
printReport(ChocTypeArray, ChocPiecesArray);

return 0;
}

Here is the data from Chocolates.txt:

      12     1026
      15      248
       7      402
      10     1076
      16      948
      14     1174
       6     1137
       8      719
       9      952
      14     1516
       9      830
      14      296
      19      596
      15      874
      23      100
      15     1063
      16      867
       6       87
      11     1330
       1      217
      18      802
      15      943
      15      165
      23      100
       2      866
      21      656
      18      885
       7     1221
       9     1032
      22      490
       9     1328
      12      584
      11      561
      14     1355
      22      750
      12      800
       9      686
      19      401
      11     1121
      16      389
       3      664
       8      676
      12      692
       1      844
       1      994
       1      847
      24     1173
       7      792
       8     1076
      19      613
      14     1085
       3     1107
      12      891
       3     1121
       6      870
      16      300
      16     1092
      24      969
      12      515
       6      403
      11      885
       7      839
      14      328
       1     1023
       7      653
       6      276
      11      217
       3     1288
       6     1109
      23      643
      23      384
       7     1213
       6      556
       4     1224
       9     1271
      15     1167
       8      595
       6      746
       1     1284
      18     1300
      14      747
       5      650
       4      934
       9      952
      16     1408
      24     1012
      12      696
      14      333
      14      478
       5      434
       1      548
       6      285
       9      341
      23      925
       3      150
      11     1166
       5      963
       8     1010
      11     1272
       1      587
      21      866
      12      152
      11     1280
       2      821
       4      778
      19     1087
      15      690
      11     1239
       6     1267
       4      361
      12      704
       3      560
      16     1231
      21     1198
       6      697
       3      696
       6      632
      16     1543
      10      211
       2      285
      10      845
      24      554
      16     1105
       6     1048
       4     1050
      16      552
       3     1077
      19     1333
      19      669
       8     1172
      21     1217
       2      826
      18      995
       7     1140
       5     1084
       7     1016
      21      624
       3      654
       5      990
       9     1115
      23      991
       3      324
       8      959
      16     1483
      16     1036
       9      694
       4      817
      24      247
       6      477
      12     1307
      10      596
      19     1008
       1      843
      12     1166
      24      693
       3      397
      16     1000
      19      368
       9     1101
      11     1270
      15      172
       8      839
      12      760
       6     1099
      16     1119
       1      673
      10      742
       2      858
      11     1015
       8      771
      10      537
      11      475
       6      857
       1      932
      14      728
      11      914
      10      652
      19      436
       2      415
      23      724
      10      974
       2      874
      18      365
      14     1158
       1      986
       7      283
      21      870
      10      708
       2      546
       7      919
      15      429
       9      607
      19      591
      16      938
       2      662
       6     1044
       3      549
       5     1012
      19     1003
       3      654
      18     1436
       1      738
      14      695
      14      655
      10      266
      11      510
       6     1265
       7      603
      24      687
      23     1014
       9      557
       1      677
      16     1177
      24      712
       9     1275
      14     1188
      16      311
      19      581
      23      237
      21     1228
      23      717
      24      729
      10      511
       7      584
      23     1043
      21      941
      23      100
       2      966
      23      492
       5     1312
       1      968
      18      699
       2      249
      24     1062
      18     1015
       2      924
      16      952
      14      591
       4      899
       5      692
      11     1435
       7      760
       2      852
      15      964
      21      921
       7     1131
       4      919
       6      870
       4      778
       2     1507
      14      213
      23      713
      23      861
       1      595
       4      623
       7      794
       7      880
      23     1371
       9      455
      19     1217
      16      187
       6     1219
      10     1135
      24      365
      18      906
      14      576
      23      700
      19      444
      10       11
       3      817
      19     1394
      10      948
       7      666
      24      883
       6     1447
       7      385
       1      976
       9     1037
      14      373
       2      526
      19     1148
      16     1185
      24     1338
      11      854
       5     1004
      15     1212
       8      281
      24     1316
       6       15
      18     1224
      19      654
      14      483
       4     1428
       8      769
      19      473
      14     1185
      12      691
       5     1252
       1      425
       6      459
      18     1036
      15      713
       6      840
       9      545
      12      515
       4      599
       1      619
       6     1162
       9      561
       5     1105
      24      453
      15      456
      24      644
      15      324
      18      808
      12      860
      23      307
      18      552
      18      568
       8      256
      16     1458
      23      562
      19      660
      19      983
       9      970
       7     1154
      21      594
       9      590
      15      174
       3     1048
       9     1079
       3      536
      11     1301
      16      508
       1      810
      21      647
      10      802
      11       50
      24      921
      18      195
       4      273
       5      564
      11      314
      21      710
       7      267
      15      224
      18      215
       9      975
       9      328
       9      475
      23      470
      12      649
       7      782
      16      765
      16     1019
       9      537
       4     1089
      21      221
      15      372
       7      706
      19      379
      10     1015
       8     1244
      23      443
       1      121
       6      732
      10      718
      23     1084
      12      424
      23      536
      11      308
       7      637
      18      611
      19      870
      24      310
      15     1145
       9     1005
      10      672
      10       59
      16     1235
      19      764
      18      430
      12     1122
       8      956
      23      704
       1      507
       8      822
       3      761
       2     1084
      11     1066
      19      439
      15      859
       5      494
      15      498
       5     1092
      15     1457
      15      458
      18     1133
      23       44
      10     1215
      16      856
       8      942
       1      321
      16      663
       1      463
       5     1324
       6      676
       7      858
      23      536
       2      476
      24      358
      21      481
       5      917
      10     1293
       4     1176
       9      768
      10      742
      10     1294
       6      608
      11      237
      15     1038
      11      330
       2     1117
       4       82
      21      516
      16     1222
       8     1347
      11      922
      23     1126
       4      868
      18      296
      24      412
      18      407
      23     1421
       4      930
      23      981
       2      146
       3      348
      16      361
      18      553
      24     1046
       2      557
       6      396
      23      104
       3     1197
       1      892
       6      218
       1      865
      11      644
       6      471
      12      938
      14      759
       2      180
      19      739
       5     1276
      19     1067
       7      299
      10      715
      19      514
       7      225
       5      574
      14      797
      18      556
      23      531
      21      516
      15     1463
       4     1264
      11     1006
      12      605
       6      592
       4      759
       6      628
      16     1469
       8      843
      16      638
      23      614
      24      439
      19      775
       9      711
       8     1304
      24      749
      16     1143
      12      829
      16     1063
       9      581
       8     1113
      10      851
      14      853
      19      781
   10       49
      16     1035
      19      264
      18      490
      12      922
       8      956
      23      704
       1      507
       8      822
       3      761
       2     1084
      14     1221
       6      772
       7      911
       7      545
       8      724
      10     1005
       7     1133
       2      189
      24     1212
      18     1118
      21      241
      15     1178
       3      659
      24      867
       4      497
       8      708
      18     1308
      11      411
       7      500
      15      538
       8      366
       1     1185
      19      989
       9      759
      10      144
       8     1210
      15     1284
       5      361
      23      962
       5      517
       8      637
      15     1239
      11      992
       7      394
       2      725
      24      114
      19     1518
       8     1127
      12      415
       1     1014
      15      637
       9      860
       3      986
      21      799
      24      211
       4     1212
       5     1348
       8      530
       5     1362
       9     1114
      10      294
       8     1414
      15     1010
       7      987
       7      608
      10      923
      21      837
      15      325
      16     1127
      10     1037
      12      980
      10     1160
       6      331
       1      840
      18      673
       3      561
       9      921
      24      752
      23     1123
      21      757
       3      722
       4      996
      19      415
      10      650
      11      239
       5      813
       2      349
       3      484
      16       70
       4      596
       7      753
       9      716
       6     1022
       4      351
      11      185
       2      403
      12      570
      24      905
       4       50
       9      211
      14      737
       8      587
       5      532
       1      544
      19       21
       5     1096
      11      232
       1      185
      24      507
       3      345
      16      340
       3      755
      15      487
       7      971
       2     1309
      11      500
      15      968
      10      739
       8      755
      12       60
       3      770
      18      601
       9      284
      21       55
      15     1144
      19     1524
       6     1214
       7      221
      19      391
      23      422
       9      476
       1     1054
       1      967
       5     1149
       1      794
      23     1014
       4      605
      23      860
       4      311
      14      443
       6      659
      19       85
       1      501
      23      346
       1      268
       8      941
      12      918
      23      779
      18      791
       8      561
       7     1051
      24      554
       8      444
      14      502
      12     1043
       9     1080
       6      771
       1     1274
       8      737
      19      197
       3      703
       6      748
      10     1029
      14     1095
      10     1141
       9      924
       5      962
       3      192
      10      963
      12      521
       1     1195
       4      529
       3     1330
       7      900
      21     1118
      18     1118
       5     1060
      15      459
      18     1107
      24      788
      16      689
       5      392
      18     1106
      15      848
      18      531
      12      242
      12      669
      18      962
      14      658
       9      799
       8      712
      21      873
      10     1191
      11      577
       5      499
      24      817
      23      569
       1      529
       1     1152
       3      813
      10      901
      21      739
       3      641
      23      581
      10      768
       6      810
       2     1457
       8      698
      14     1351
      11     1081
      21      589
       9      848
      16     1043
       8      710
      15      904
      11     1171
      10       62
      16     1097
      14      691
       3     1183
      11     1286
       7      606
      23       89
       7      859
      14      481
      12      839
       2      550
       3     1457
       3      512
      12      465
      14      657
      21     1149
      10     1340
       3      765
       2      948
       9      395
      16      662
       5      961
      23     1389
      23     1214
       5      890
       8      134
      22      666
      22      777
      23      100
      22      555
       3     1295
      11      307
      11      605
      15     1064
       6     1214
       1       64
       8      907
      18     1133
       9      636
       3     1134
      16     1101
       6      313
       7      791
       7     1130
       1     1221
      21      332
      24      697
       6      807
       2       36
       2      747
      16     1219
       3      859
      18      639
      18      312
       7     1079
      10     1074
       5      678
      18       59
       1      325
      21     543

Solutions

Expert Solution

// C++ code
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

ifstream infile;
ofstream outfile;

//Maximum number of Chocolate Types
const int ARRAY_SIZE = 25;

int printReport(int ChocTypeArray[], int ChocPiecesArray[])
{
//Opens output file
outfile.open("ChocolateCo_Production_Results.txt");

//Print Title
outfile << "======================================================================================================" << endl;
outfile << "================================ O-So-Good Chocolate Company Report ==================================" << endl;
outfile << "======================================================================================================" << endl;

//Print Header
outfile << "Chocolate Type" << setw(42) << " Pieces" << setw(20) << "Batches" << setw(20) << "Average/Batch" << endl;
outfile << "======================================================================================================" << endl;
for (int count = 0; count < ARRAY_SIZE; count++)
{
float avg = 0;
if (ChocTypeArray[count] > 0)
{
   avg = (float)ChocTypeArray[count] / (float)ChocPiecesArray[count];
}

outfile << count + 1 << "\t\t\t\t" << right << setw(24) << ChocTypeArray[count] << right << setw(20) << ChocPiecesArray[count] << right << setw(20) << avg << endl;
}

// Closes outout file
outfile.close();

return 0;
}

int main()
{
int ChocTypeArray[ARRAY_SIZE];
int ChocPiecesArray[ARRAY_SIZE];

//Initialize arrays
for (int count = 0; count < ARRAY_SIZE; count++)
{
ChocTypeArray[count] = 0;
ChocPiecesArray[count] = 0;
}

//Try to find data file
infile.open("Chocolates.txt");
if (!infile)
{
cout << "Failed to open Chocolates.txt. Make sure it is in the same directory as the program." << endl;
return -1;
}

//Read data until the end of file
int _chocType, _chocPieces;

// break inside while loop in order to avoid duplicate reading of last value in file
while (true)
{
infile >> _chocType >> _chocPieces;

// Validates if chocType is between 1 and 25
if (_chocType < 1 || _chocType > ARRAY_SIZE)
{
   continue; //skip
}
else
{
   //Adjust for array index
   _chocType--;
   //Add the pieces to their appropriate type
   ChocTypeArray[_chocType] = ChocTypeArray[_chocType] + _chocPieces;
   ChocPiecesArray[_chocType]++;
}

// break from reading when no elements are left to r ead in file
if(infile.eof())
    break;

}

//Print the report
printReport(ChocTypeArray, ChocPiecesArray);

return 0;
}

/*
ChocolateCo_Production_Results.txt
======================================================================================================
================================ O-So-Good Chocolate Company Report ==================================
======================================================================================================
Chocolate Type                                    Pieces             Batches       Average/Batch
======================================================================================================
1                          32374                  44             735.773
2                          22534                  32             704.188
3                          30875                  40             771.875
4                          21998                  29             758.552
5                          29359                  33             889.667
6                          32849                  44             746.568
7                          32648                  43             759.256
8                          33374                  41                 814
9                          33381                  43             776.302
10                           33058                  43             768.791
11                           29308                  38             771.263
12                           23570                  33             714.242
13                               0                   0                   0
14                           25402                  33             769.758
15                           29193                  38             768.237
16                           39606                  43              921.07
17                               0                   0                   0
18                           28935                  38             761.447
19                           27391                  38             720.816
20                               0                   0                   0
21                           20238                  28             722.786
22                            3238                   5               647.6
23                           30730                  46             668.043
24                           24496                  34             720.471
25                               0                   0                   0


*/


Related Solutions

Hi, (C programming) I am looking to write a program that will encrypt a text file...
Hi, (C programming) I am looking to write a program that will encrypt a text file automatically once program has opened, and have the option to decrypt it in a menu in my program. I have multiple text files that I need to encrypt, and would like if the program could encrypt all of them at once. I would also only like to decrypt the a text file once the name has been entered into a scanf function.
I need to write a java program (in eclipse) that will read my text file and...
I need to write a java program (in eclipse) that will read my text file and replace specific placeholders with information provided in a second text file. For this assignment I am given a text file and I must replace <N>, <A>, <G>, with the information in the second file. For example the information can be John 22 male, and the template will then be modified and saved into a new file or files (because there will be multiple entries...
Hi, I have a set of three similar questions here. I don't necessarily need them all...
Hi, I have a set of three similar questions here. I don't necessarily need them all answered. Maybe just one or two, what I really need is the formulas used in solving these types of questions and an explanation of that, which doesn't need to be detailed, just an explanation of the notation and variables used. Please!! Thanks! 25. A levered firm has a debt-to-equity ratio of 0.38 and an equity beta of 1.42. What would be the beta of...
HI, I hope you are doing well. I really don't understand this question and don't know...
HI, I hope you are doing well. I really don't understand this question and don't know how to solve it at all because I am completely new to this c++ programming. can you please explain each line of code with long and clear comments? please think of me as someone who doesn't know to code at all. and I want this code to be written in c++ thank you very much and I will make sure to leave thumbs up....
I don't understand why this method will not return true, even when my parameters for boolean...
I don't understand why this method will not return true, even when my parameters for boolean results are met, can anyone help shed some light on my mistake? import java.util.*; public class PasswordChecker{    public static void main (String[]args){ Scanner scan = new Scanner(System.in); System.out.println("Please enter a password that is 8 characters in length."); System.out.println("The password must have at least 3 uppercase letters,"); System.out.println("3 numeric digits, as well as 2 lowercase letters,"); System.out.println("and contain no special characters."); System.out.println(); System.out.println("Enter a...
Hi, I am running C# in Vis. Studio 2019 community. Trying to get my program to...
Hi, I am running C# in Vis. Studio 2019 community. Trying to get my program to populate the username in the program after entered. I can enter a name and the three scores and average them as the program needs but the name is not adding next to the "Students name: " in the program. Any help would be appreciated and please place a note for what I am doing wrong. Thank you using System; using System.Collections.Generic; using System.Linq; using...
When you say “dog” I think of my hound dog and you think of your chocolate...
When you say “dog” I think of my hound dog and you think of your chocolate lab. This is an example of the concept that language is: (Points : 2)        Symbols are arbitrary        Symbols are ambiguous        Symbols are abstract        Symbols are concrete Question 2.2. Jan just graduated from college and makes a good salary. The word “good” best represents which of the concepts of the symbolic nature of language? (Points : 2)        Symbols are arbitrary        Symbols are ambiguous        Symbols are...
how can I get my program to read one of 4 text files (chosen/ inputted by...
how can I get my program to read one of 4 text files (chosen/ inputted by user, game1.txt, game2, game3, or game4.txt). and place its information into variables, one of which is an array. I sort of understand this, but I don't know how to make my program know which parts of the textfile go into which variables. my 4 textfiles are in the format: the list of e4-bc need to be entered into my array. B 35 e4 e5...
Hi my name is Elena. I’m a general contractor. I took over the family business when...
Hi my name is Elena. I’m a general contractor. I took over the family business when my Dad retired. This inflation has made my job a lot harder. The price of materials keeps going up and up. My employees and sub-contractors keep costing me more and more. I have to overbid on contracts so that I do not lose money. I win some contracts but lose out on others. On the other side with inflation being so high people are...
When I sit and watch my students take exams, I often think to myself "I wonder...
When I sit and watch my students take exams, I often think to myself "I wonder if students with bright calculators are impacted by the pretty colors." This leads me to wonder if there is a difference in the exam scores of students with colorful calculators versus the exam scores of students with plain black calculators. To investigate further, I took a sample of past students. There were 49 students with colorful calculators with a mean exam score of 84...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT