Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

COMP163 Pipe Length A plumbing company has a large inventory of pieces of pipe o

ID: 3594231 • Letter: C

Question

COMP163 Pipe Length A plumbing company has a large inventory of pieces of pipe of various lengths. The data file pipeLength.txt contains a list of numbers representing the length of pieces of pipe. Each line of the file contains a number with a decimal point followed by the unit of measurement. The units can be ft, inch or m. The units might be in a mixture of upper and lower case. A. [85 points] Write a program that sums the length of all the pieces of pipe and displays the total length in meters. There are 0.3048 meters in a foot and 12 inches in a foot. B. [15 points] Display the sum of the pipe lengths with only three decimal digits of accuracy. Sample output The total length is 12021.326140600006 meters or The total length is 12021.326 meters

pipeLength.txt


7.140 inch 36.500 ft 21.335 ft 88.081 inch 158.132 m 70.270 inch 196.164 inch 143.592 ft 34.850 m 3.297 ft 64.759 m 41.163 m 114.742 inch 105.397 ft 45.518 inch 18.307 ft 192.922 inch 30.681 inch 4.596 m 1.633 m 27.736 inch 28.568 m 53.029 m 71.397 m 5.633 ft 27.125 ft 173.620 ft 56.766 ft 83.716 ft 2.169 m 5.623 ft 99.925 inch 0.501 inch 24.792 inch 18.602 inch 55.637 m 15.320 ft 66.702 inch 195.605 inch 99.833 inch 35.876 ft 77.485 m 10.457 inch 42.761 inch 16.034 inch 0.073 ft 13.098 inch 90.357 ft 5.865 ft 4.340 inch 18.502 inch 20.686 ft 32.945 ft 19.348 inch 82.654 m 8.784 ft 40.395 inch 100.099 inch 7.797 m 22.418 inch 66.036 ft 4.902 m 33.253 ft 15.884 inch 6.198 ft 9.247 ft 92.877 ft 20.750 ft 5.521 ft 103.713 m 14.104 m 188.624 ft 46.207 inch 26.747 ft 9.513 inch 17.102 m 89.800 ft 11.735 ft 41.050 m 6.204 ft 23.873 ft 21.347 ft 29.610 ft 20.694 ft 1.019 inch 62.926 ft 36.626 inch 49.548 m 17.025 m 90.083 ft 44.843 ft 42.032 ft 14.030 m 43.999 m 15.323 ft 37.668 m 24.566 inch 6.859 inch 49.306 inch 25.645 m 82.776 m 135.398 ft 1.456 inch 76.640 m 42.279 ft 51.869 inch 41.513 ft 147.739 inch 37.819 m 18.561 inch 14.435 m 151.397 inch 81.843 inch 34.623 m 11.803 ft 91.909 m 67.264 inch 194.258 m 99.241 ft 66.478 ft 52.953 m 126.133 ft 100.165 inch 1.466 inch 16.219 inch 9.394 ft 30.162 ft 68.423 m 31.618 m 66.722 inch 72.801 inch 11.894 ft 11.958 ft 201.750 inch 51.487 ft 27.775 inch 17.785 ft 13.404 inch 11.268 m 45.697 inch 67.520 m 14.401 m 12.145 ft 85.102 inch 56.970 ft 3.760 inch 3.425 ft 8.506 ft 4.778 m 0.168 ft 47.970 ft 11.504 ft 1.316 inch 1.455 inch 12.240 ft 0.535 inch 60.102 ft 73.824 m 48.474 ft 2.451 m 4.032 inch 36.564 inch 67.805 m 48.517 inch 42.882 inch 45.743 inch 15.582 inch 50.597 ft 8.342 m 21.908 inch 2.836 ft 26.705 ft 41.355 m 12.694 inch 2.325 m 33.250 ft 73.565 m 68.619 ft 0.522 inch 38.506 ft 17.120 m 3.520 inch 40.095 inch 16.776 m 11.684 ft 26.709 ft 37.705 m 3.098 ft 14.367 m 23.714 ft 66.317 ft 5.354 m 55.950 m 4.606 m 36.279 ft 2.814 ft 38.667 ft 5.998 ft 109.636 m 62.253 m 106.067 inch 8.403 m 22.809 m 57.929 inch 24.497 ft 50.946 ft 50.452 m 17.560 ft 33.101 ft 126.420 ft 8.640 ft 85.825 m 25.621 m 9.116 ft 50.114 m 77.818 ft 1.206 inch 144.186 ft 23.275 m 1.208 inch 4.193 inch 8.629 ft 59.600 ft 26.030 m 26.317 m 143.284 m 8.920 ft 24.706 inch 94.172 inch 48.283 ft 12.550 inch 43.925 m 194.956 ft 163.969 m 2.847 ft 0.206 ft 54.167 ft 8.277 m 19.072 inch 17.397 m 36.527 inch 17.658 ft 17.896 ft 41.457 m 37.864 m 6.584 inch 20.479 m 64.693 m 87.620 inch 88.014 inch 140.622 ft 111.900 inch 16.160 inch 9.624 inch 94.280 inch 41.574 ft 80.117 m 6.782 inch 127.712 m 14.323 m 43.383 inch 88.031 inch 40.754 m 5.296 m 25.551 m 27.108 ft 61.592 m 26.605 ft 14.435 m 49.667 m 8.319 m 110.152 m 2.211 m 19.333 inch 7.105 inch 91.784 m 22.200 inch 0.362 ft 6.239 ft 85.437 inch 27.050 ft 44.483 m 9.860 inch 5.680 ft 20.621 ft 35.614 ft 25.208 inch 10.808 m 59.214 m 44.084 m 18.831 inch 6.093 ft 2.300 m 79.881 m 1.691 m 3.792 inch 9.110 ft 9.855 inch 91.267 inch 12.055 ft 60.828 inch 44.342 m 21.300 ft 3.727 inch 118.397 inch 158.396 m 122.051 m 6.252 ft 50.680 ft 4.360 inch 62.107 m 23.166 m 16.892 m 1.706 m 2.230 m 109.550 m 39.757 inch 42.681 inch 83.719 ft 62.865 ft 27.376 ft 17.590 ft 25.552 m 61.073 inch 3.724 inch 76.285 inch 8.743 FT 35.886 FT 77.987 FT 53.486 m 64.185 Inch 80.184 m 45.283 FT 29.625 FT 63.182 FT 222.893 Inch 40.092 Inch 10.235 Inch 101.710 FT 1.621 m 63.017 FT 3.147 FT 5.721 FT 13.985 m 16.814 m 87.292 FT 70.177 Inch 185.510 FT 24.821 Inch 24.752 Inch 6.987 Inch 110.337 m 150.025 FT 29.056 m 45.063 FT 12.248 FT 7.537 m 0.262 FT 5.180 m 59.881 FT 144.285 FT 117.619 Inch 109.906 m 160.450 Inch 63.779 Inch 45.553 Inch 22.872 m 70.325 Inch 7.357 Inch 9.684 Inch 122.820 FT 27.074 FT 62.411 m 7.478 Inch 109.855 m 7.153 Inch 17.683 FT 2.045 m 20.568 FT 34.903 m 4.007 Inch 15.868 Inch 17.613 FT 0.087 FT 17.875 FT 33.817 Inch 12.384 FT 59.265 m 33.789 Inch 6.224 FT 5.832 FT 43.453 Inch 41.976 FT 17.293 m 71.929 FT 7.720 m 91.332 Inch 2.196 m 63.476 FT 9.691 Inch 148.817 m 9.666 Inch 44.475 m 98.302 m 1.399 Inch 15.144 FT 27.044 FT 25.971 m 99.793 Inch 0.568 Inch 16.699 m 0.877 Inch 112.088 Inch 2.409 m 16.659 m 0.743 Inch 25.215 Inch 84.474 FT 64.889 m 13.306 Inch 24.415 FT 16.185 Inch 48.778 Inch 13.450 Inch 19.064 Inch 141.062 FT 20.677 FT 5.845 FT 163.942 m 5.888 FT 0.898 Inch 5.824 FT 17.830 FT 114.784 Inch 16.694 m 154.626 m 134.601 FT 107.012 m 224.004 m 45.541 Inch 83.342 m 36.335 FT 45.620 Inch 52.606 m 23.812 FT 18.169 FT 81.860 Inch 17.834 FT 12.804 inch 73.879 m 31.339 inch 31.136 inch 15.600 inch 214.860 m 21.622 inch 5.287 m 75.515 inch 5.709 ft 71.506 ft 3.116 ft 49.590 m 44.163 m 33.392 ft 10.476 inch 31.820 m 31.011 inch 49.551 m 131.232 m 6.530 inch 21.160 ft 89.094 m 32.886 ft 86.969 ft 195.738 inch 14.291 m 21.969 inch 54.521 inch 51.988 inch 49.116 inch 38.012 m 36.990 inch 64.797 m 6.227 ft 28.640 m 26.975 ft 53.801 ft 17.110 m 24.143 ft 67.087 inch 37.237 inch 10.122 inch 29.997 ft 22.102 inch 66.522 inch 2.742 ft 11.021 m 35.573 ft 4.926 m 61.834 m 31.181 inch 34.741 m 11.628 ft 5.708 ft 44.816 ft 72.141 ft 38.945 ft 68.374 m 100.378 inch 22.459 inch 41.068 m 31.705 m 44.517 ft 7.869 m 54.081 ft 7.513 m 29.284 m 9.596 inch 29.779 ft 28.652 m 0.541 inch 7.106 inch 45.249 ft 157.094 inch 42.484 ft 123.798 inch 40.559 m 6.018 ft 24.321 ft 32.579 ft 62.617 ft 0.329 ft 25.220 inch 28.400 inch 1.196 inch 52.708 m 4.408 inch 72.871 inch 123.139 ft 90.387 ft 91.340 inch 63.056 ft 7.348 inch 10.953 m 108.908 inch 6.363 ft 59.397 m 0.545 inch 103.114 inch 6.416 ft 13.365 inch 15.289 ft 14.325 m 39.839 inch 69.955 inch 18.057 ft 105.248 ft 2.690 ft 11.510 ft 16.793 m 17.071 m 0.470 ft 11.024 m 17.968 ft 0.079 ft 97.938 m 18.748 inch 16.613 m 30.861 inch 39.821 inch 3.764 inch 33.676 inch 32.563 ft 30.572 inch 115.446 inch 2.476 m 37.422 inch 68.107 m 32.408 m 87.859 inch 22.141 inch 97.787 m 33.877 inch 57.878 inch 13.394 inch 51.783 inch 9.410 ft 27.648 inch 1.763 m 9.065 ft 2.579 ft 20.884 ft 2.386 m 13.494 inch 157.382 inch 21.096 ft 78.479 ft 65.186 m 54.650 inch 49.721 m 47.658 ft 186.468 ft 5.676 ft 111.165 ft 23.434 m 65.848 ft 6.745 inch 88.394 inch 71.404 m 22.342 inch 21.275 ft 281.123 m 32.241 m 21.845 inch 79.128 inch 5.866 ft 0.979 inch 32.339 m 10.432 inch 60.970 inch 82.006 inch 14.921 ft 88.808 m 44.939 ft inch86

Explanation / Answer

#include<iostream>

#include<fstream>

#include<iomanip>

#include<string.h>

using namespace std;

int main()

{

               ifstream f("pipeLength.txt"); //to read file

               long double a,sum=0;

               string s;

               while(f>>a>>s) //read until end of file

               {

//below,if s equals inch (after ignoring case and s.c_str() means, convert s to char array as the function needs it)

                              if(!strcasecmp(s.c_str(),"inch"))

                              {

                                             a=a*(.0254);//to metre

                              }

                              if(!strcasecmp(s.c_str(),"ft"))

                              {

                                             a=a*(.3048);//to metre

                              }

                              sum=sum+a;

               }

//fixed, tells the cout to show without rounding all decimals, and setprecision, sets its rounding decimal places

               cout<<"Total length = "<<fixed<<sum<<" m and also upto 3 decimal places, total length = "<<setprecision(3)<<fixed<<sum<<" m";

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote