Question: The program must be written in C++. Implement the main function such that It creates a Stock object loaded with close prices in HSBC.txt; It
The program must be written in C++.

Implement the main function such that
It creates a Stock object loaded with close prices in HSBC.txt;
It allows users to input start and end such that the return is shown on the screen:
Enter the buy date (mm/dd/yyyy): 11/9/2012 Enter the sell date (mm/dd/yyyy): 11/8/2017 HSBC was bought at 47.91 on 11/9/2012. HSBC was sold at 48.35 on 11/8/2017.
The return of this transaction is 0.918384%
1260 HSBC 7/11/2012 48.810001 8/11/2012 48.029999 9/11/2012 47.91 12/11/2012 48.09 13/11/2012 47.990002 14/11/2012 47.509998 15/11/2012 47.810001 16/11/2012 47.75 19/11/2012 49.299999 20/11/2012 49.029999 21/11/2012 49.380001 23/11/2012 50.23 26/11/2012 49.860001 27/11/2012 49.77 28/11/2012 50 29/11/2012 50.700001 30/11/2012 51.130001 3/12/2012 51.029999 4/12/2012 51.220001 5/12/2012 51.869999 6/12/2012 51.75 7/12/2012 51.68 10/12/2012 51.540001 11/12/2012 51.84 12/12/2012 51.790001 13/12/2012 51.720001 14/12/2012 52.029999 17/12/2012 52.130001 18/12/2012 52.259998 19/12/2012 52.82 20/12/2012 53.049999 21/12/2012 52.66 24/12/2012 52.689999 26/12/2012 52.810001 27/12/2012 52.790001 28/12/2012 52.540001 31/12/2012 53.07 2/1/2013 54.290001 3/1/2013 53.349998 4/1/2013 53.68 7/1/2013 53.759998 8/1/2013 53.18 9/1/2013 53.700001 10/1/2013 54.459999 11/1/2013 54.610001 14/1/2013 54.490002 15/1/2013 54.77 16/1/2013 54.779999 17/1/2013 55.360001 18/1/2013 55.299999 22/1/2013 55.110001 23/1/2013 55.240002 24/1/2013 55.48 25/1/2013 56.330002 28/1/2013 56.220001 29/1/2013 56.849998 30/1/2013 57.119999 31/1/2013 56.860001 1/2/2013 56.830002 4/2/2013 55.720001 5/2/2013 55.66 6/2/2013 55.98 7/2/2013 55.330002 8/2/2013 56.759998 11/2/2013 56.240002 12/2/2013 56.98 13/2/2013 56.860001 14/2/2013 56.32 15/2/2013 56.57 19/2/2013 56.299999 20/2/2013 55.700001 21/2/2013 54.720001 22/2/2013 55.169998 25/2/2013 54.400002 26/2/2013 54.290001 27/2/2013 55.200001 28/2/2013 55.439999 1/3/2013 54.830002 4/3/2013 53.950001 5/3/2013 54.080002 6/3/2013 53.970001 7/3/2013 54.110001 8/3/2013 54.869999 11/3/2013 54.82 12/3/2013 54.330002 13/3/2013 54.220001 14/3/2013 55.709999 15/3/2013 54.540001 18/3/2013 54.419998 19/3/2013 54.189999 20/3/2013 53.880001 21/3/2013 53.299999 22/3/2013 53.459999 25/3/2013 52.830002 26/3/2013 53.209999 27/3/2013 52.91 28/3/2013 53.34 1/4/2013 53.09 2/4/2013 53.68 3/4/2013 52.91 4/4/2013 52.91 5/4/2013 52.529999 8/4/2013 52.299999 9/4/2013 52.639999 10/4/2013 53.07 11/4/2013 53.25 12/4/2013 53.07 15/4/2013 51.610001 16/4/2013 52.259998 17/4/2013 51.27 18/4/2013 50.880001 19/4/2013 51.91 22/4/2013 52.200001 23/4/2013 52.529999 24/4/2013 53.150002 25/4/2013 53.330002 26/4/2013 54.259998 29/4/2013 54.610001 30/4/2013 54.860001 1/5/2013 54.799999 2/5/2013 55.299999 3/5/2013 55.720001 6/5/2013 55.799999 7/5/2013 57 8/5/2013 57.060001 9/5/2013 56.52 10/5/2013 57.209999 13/5/2013 56.639999 14/5/2013 57.060001 15/5/2013 57.389999 16/5/2013 57.139999 17/5/2013 57.77 20/5/2013 58.610001 21/5/2013 58.169998 22/5/2013 57.259998 23/5/2013 56.259998 24/5/2013 55.349998 28/5/2013 55.900002 29/5/2013 55.349998 30/5/2013 56.099998 31/5/2013 54.860001 3/6/2013 55.700001 4/6/2013 55.77 5/6/2013 54.810001 6/6/2013 54.799999 7/6/2013 54.970001 10/6/2013 54.560001 11/6/2013 53.919998 12/6/2013 53.939999 13/6/2013 54.52 14/6/2013 53.310001 17/6/2013 53.790001 18/6/2013 54.529999 19/6/2013 53.290001 20/6/2013 51.41 21/6/2013 51.380001 24/6/2013 50.68 25/6/2013 52.040001 26/6/2013 52.18 27/6/2013 52.18 28/6/2013 51.900002 1/7/2013 52.75 2/7/2013 52.580002 3/7/2013 52.200001 5/7/2013 53.630001 8/7/2013 53.68 9/7/2013 54.080002 10/7/2013 54.060001 11/7/2013 55.049999 12/7/2013 54.869999 15/7/2013 55.259998 16/7/2013 55.110001 17/7/2013 55.650002 18/7/2013 56.41 19/7/2013 56.369999 22/7/2013 56.52 23/7/2013 56.439999 24/7/2013 56.299999 25/7/2013 56.720001 26/7/2013 56.639999 29/7/2013 56.099998 30/7/2013 56.25 31/7/2013 56.75 1/8/2013 57.299999 2/8/2013 57.970001 5/8/2013 55.369999 6/8/2013 55.049999 7/8/2013 54.23 8/8/2013 54.549999 9/8/2013 55.25 12/8/2013 55.09 13/8/2013 55.599998 14/8/2013 55.790001 15/8/2013 55.5 16/8/2013 55.349998 19/8/2013 54.84 20/8/2013 55.240002 21/8/2013 53.490002 22/8/2013 54.099998 23/8/2013 54.439999 26/8/2013 54.23 27/8/2013 53.07 28/8/2013 53.080002 29/8/2013 53.259998 30/8/2013 52.419998 3/9/2013 53.689999 4/9/2013 54.330002 5/9/2013 55.43 6/9/2013 55.32 9/9/2013 55.529999 10/9/2013 55.630001 11/9/2013 55.490002 12/9/2013 55.549999 13/9/2013 55.889999 16/9/2013 56.02 17/9/2013 55.349998 18/9/2013 56.84 19/9/2013 56.119999 20/9/2013 55.139999 23/9/2013 55.279999 24/9/2013 55.049999 25/9/2013 54.950001 26/9/2013 54.970001 27/9/2013 54.790001 30/9/2013 54.259998 1/10/2013 54.66 2/10/2013 54.57 3/10/2013 54.389999 4/10/2013 54.759998 7/10/2013 54.150002 8/10/2013 53.490002 9/10/2013 53.75 10/10/2013 54.549999 11/10/2013 55.349998 14/10/2013 55.599998 15/10/2013 54.700001 16/10/2013 54.849998 17/10/2013 55.16 18/10/2013 55.209999 21/10/2013 55.59 22/10/2013 56.02 23/10/2013 55.080002 24/10/2013 55.369999 25/10/2013 55.299999 28/10/2013 55.25 29/10/2013 55.400002 30/10/2013 54.990002 31/10/2013 55.040001 1/11/2013 55.209999 4/11/2013 56.509998 5/11/2013 56.119999 6/11/2013 56.07 7/11/2013 55.27 8/11/2013 55.939999 11/11/2013 56 12/11/2013 55.580002 13/11/2013 55.23 14/11/2013 55.209999 15/11/2013 55.599998 18/11/2013 56.09 19/11/2013 56 20/11/2013 56.029999 21/11/2013 56.330002 22/11/2013 56.029999 25/11/2013 55.849998 26/11/2013 55.889999 27/11/2013 55.990002 29/11/2013 56.099998 2/12/2013 55.549999 3/12/2013 55.09 4/12/2013 54.369999 5/12/2013 53.880001 6/12/2013 54.23 9/12/2013 54.330002 10/12/2013 54.009998 11/12/2013 53.43 12/12/2013 53.099998 13/12/2013 53.060001 16/12/2013 53.419998 17/12/2013 53.009998 18/12/2013 54.02 19/12/2013 53.580002 20/12/2013 53.529999 23/12/2013 54.16 24/12/2013 54.540001 26/12/2013 54.59 27/12/2013 54.759998 30/12/2013 54.75 31/12/2013 55.130001 2/1/2014 54.57 3/1/2014 54.09 6/1/2014 54.360001 7/1/2014 55.560001 8/1/2014 55.59 9/1/2014 55.34 10/1/2014 55.959999 13/1/2014 55.259998 14/1/2014 55.599998 15/1/2014 55.900002 16/1/2014 55.41 17/1/2014 55.650002 21/1/2014 55.73 22/1/2014 55.75 23/1/2014 54.900002 24/1/2014 53.200001 27/1/2014 52.610001 28/1/2014 52.830002 29/1/2014 51.740002 30/1/2014 52.27 31/1/2014 51.490002 3/2/2014 50.599998 4/2/2014 51.290001 5/2/2014 51.119999 6/2/2014 51.560001 7/2/2014 51.759998 10/2/2014 51.380001 11/2/2014 52.400002 12/2/2014 52.900002 13/2/2014 53.279999 14/2/2014 53.450001 18/2/2014 54.580002 19/2/2014 54.43 20/2/2014 54.330002 21/2/2014 54.330002 24/2/2014 53.040001 25/2/2014 52.389999 26/2/2014 52.290001 27/2/2014 53.27 28/2/2014 52.790001 3/3/2014 52.240002 4/3/2014 52.84 5/3/2014 52.330002 6/3/2014 52.650002 7/3/2014 52.25 10/3/2014 51.610001 11/3/2014 51.459999 12/3/2014 50.209999 13/3/2014 49.849998 14/3/2014 49.880001 17/3/2014 49.939999 18/3/2014 49.830002 19/3/2014 49.23 20/3/2014 49.41 21/3/2014 49.84 24/3/2014 50.290001 25/3/2014 50.73 26/3/2014 50.509998 27/3/2014 50.740002 28/3/2014 50.869999 31/3/2014 50.830002 1/4/2014 51.25 2/4/2014 51.099998 3/4/2014 51.029999 4/4/2014 50.82 7/4/2014 50.310001 8/4/2014 50.91 9/4/2014 51.84 10/4/2014 51.549999 11/4/2014 51.650002 14/4/2014 52.009998 15/4/2014 51.990002 16/4/2014 51.959999 17/4/2014 52.16 21/4/2014 52.09 22/4/2014 51.84 23/4/2014 51.349998 24/4/2014 51.669998 25/4/2014 50.849998 28/4/2014 50.720001 29/4/2014 51.509998 30/4/2014 51.32 1/5/2014 51.27 2/5/2014 51.07 5/5/2014 50.849998 6/5/2014 51.25 7/5/2014 50.810001 8/5/2014 50.290001 9/5/2014 50.330002 12/5/2014 51.310001 13/5/2014 51.369999 14/5/2014 51.619999 15/5/2014 52.380001 16/5/2014 53.209999 19/5/2014 53.23 20/5/2014 52.720001 21/5/2014 52.139999 22/5/2014 51.970001 23/5/2014 51.91 27/5/2014 52.189999 28/5/2014 52.619999 29/5/2014 52.509998 30/5/2014 52.720001 2/6/2014 52.66 3/6/2014 52.34 4/6/2014 52.209999 5/6/2014 52.279999 6/6/2014 52.459999 9/6/2014 52.740002 10/6/2014 52.470001 11/6/2014 52.029999 12/6/2014 52.209999 13/6/2014 52.25 16/6/2014 52.009998 17/6/2014 52 18/6/2014 52.139999 19/6/2014 52.060001 20/6/2014 51.790001 23/6/2014 51.650002 24/6/2014 51.330002 25/6/2014 51.23 26/6/2014 50.860001 27/6/2014 50.950001 30/6/2014 50.799999 1/7/2014 51.240002 2/7/2014 51.73 3/7/2014 52.07 7/7/2014 51.75 8/7/2014 50.970001 9/7/2014 51.23 10/7/2014 50.599998 11/7/2014 50.599998 14/7/2014 51.080002 15/7/2014 51.349998 16/7/2014 51.779999 17/7/2014 51.029999 18/7/2014 51.110001 21/7/2014 51.099998 22/7/2014 51.610001 23/7/2014 51.810001 24/7/2014 52.639999 25/7/2014 52.82 28/7/2014 53.66 29/7/2014 53.889999 30/7/2014 54.240002 31/7/2014 53.389999 1/8/2014 52.880001 4/8/2014 53.700001 5/8/2014 53.299999 6/8/2014 53.139999 7/8/2014 52.799999 8/8/2014 52.990002 11/8/2014 52.540001 12/8/2014 53.009998 13/8/2014 53.23 14/8/2014 54.290001 15/8/2014 53.82 18/8/2014 53.939999 19/8/2014 53.860001 20/8/2014 53.299999 21/8/2014 53.169998 22/8/2014 53.310001 25/8/2014 53.939999 26/8/2014 53.580002 27/8/2014 53.77 28/8/2014 53.900002 29/8/2014 54.060001 2/9/2014 53.330002 3/9/2014 54.080002 4/9/2014 53.919998 5/9/2014 54.009998 8/9/2014 53.16 9/9/2014 53.150002 10/9/2014 53.549999 11/9/2014 53.080002 12/9/2014 53.369999 15/9/2014 53.34 16/9/2014 53.619999 17/9/2014 53.59 18/9/2014 54.139999 19/9/2014 53.950001 22/9/2014 53.669998 23/9/2014 53.310001 24/9/2014 53.310001 25/9/2014 52.740002 26/9/2014 53.07 29/9/2014 51.560001 30/9/2014 50.880001 1/10/2014 50.169998 2/10/2014 49.779999 3/10/2014 50.41 6/10/2014 50.779999 7/10/2014 50.450001 8/10/2014 51.43 9/10/2014 50.209999 10/10/2014 49.759998 13/10/2014 50.439999 14/10/2014 50.34 15/10/2014 49.639999 16/10/2014 49.560001 17/10/2014 50.189999 20/10/2014 50.02 21/10/2014 50.439999 22/10/2014 49.799999 23/10/2014 50.450001 24/10/2014 50.66 27/10/2014 50.259998 28/10/2014 50.709999 29/10/2014 50.689999 30/10/2014 50.450001 31/10/2014 51.02 3/11/2014 50.099998 4/11/2014 50.16 5/11/2014 50.5 6/11/2014 50.360001 7/11/2014 50.09 10/11/2014 50.369999 11/11/2014 50.57 12/11/2014 50.220001 13/11/2014 50.150002 14/11/2014 50.27 17/11/2014 50.049999 18/11/2014 49.939999 19/11/2014 49.740002 20/11/2014 49.130001 21/11/2014 49.5 24/11/2014 49.470001 25/11/2014 49.919998 26/11/2014 50.080002 28/11/2014 49.75 1/12/2014 49.060001 2/12/2014 49.709999 3/12/2014 49.669998 4/12/2014 49.380001 5/12/2014 50.080002 8/12/2014 49.82 9/12/2014 49.040001 10/12/2014 48.66 11/12/2014 48.279999 12/12/2014 47.380001 15/12/2014 46.459999 16/12/2014 46.91 17/12/2014 46.700001 18/12/2014 47.080002 19/12/2014 47.540001 22/12/2014 47.779999 23/12/2014 47.529999 24/12/2014 47.709999 26/12/2014 48.02 29/12/2014 47.970001 30/12/2014 47.400002 31/12/2014 47.23 2/1/2015 47.07 5/1/2015 45.990002 6/1/2015 45.32 7/1/2015 45.669998 8/1/2015 45.82 9/1/2015 45.580002 12/1/2015 45.619999 13/1/2015 45.709999 14/1/2015 45.240002 15/1/2015 45.259998 16/1/2015 45.240002 20/1/2015 45.360001 21/1/2015 45.759998 22/1/2015 46.84 23/1/2015 46.830002 26/1/2015 47.310001 27/1/2015 46.970001 28/1/2015 46.509998 29/1/2015 46.68 30/1/2015 45.720001 2/2/2015 46.09 3/2/2015 46.849998 4/2/2015 46.700001 5/2/2015 47.07 6/2/2015 47.080002 9/2/2015 46.369999 10/2/2015 45.619999 11/2/2015 45.419998 12/2/2015 46.139999 13/2/2015 46.130001 17/2/2015 46.259998 18/2/2015 46.669998 19/2/2015 46.25 20/2/2015 46.68 23/2/2015 44.68 24/2/2015 45.040001 25/2/2015 44.77 26/2/2015 44.849998 27/2/2015 44.619999 2/3/2015 44.869999 3/3/2015 44.810001 4/3/2015 43.759998 5/3/2015 43.59 6/3/2015 42.810001 9/3/2015 42.950001 10/3/2015 42.349998 11/3/2015 42.049999 12/3/2015 41.970001 13/3/2015 41.549999 16/3/2015 41.75 17/3/2015 42.25 18/3/2015 43.09 19/3/2015 42.57 20/3/2015 43.560001 23/3/2015 43.209999 24/3/2015 43.02 25/3/2015 43.240002 26/3/2015 43.130001 27/3/2015 43.119999 30/3/2015 43.189999 31/3/2015 42.59 1/4/2015 42.919998 2/4/2015 43.150002 6/4/2015 43.52 7/4/2015 43.490002 8/4/2015 43.77 9/4/2015 44.540001 10/4/2015 44.689999 13/4/2015 45.27 14/4/2015 45.639999 15/4/2015 45.889999 16/4/2015 45.43 17/4/2015 44.860001 20/4/2015 45.509998 21/4/2015 45.599998 22/4/2015 45.610001 23/4/2015 46.110001 24/4/2015 47.709999 27/4/2015 49.48 28/4/2015 49.57 29/4/2015 50.169998 30/4/2015 49.630001 1/5/2015 49.23 4/5/2015 49.099998 5/5/2015 47.57 6/5/2015 48.25 7/5/2015 48.18 8/5/2015 49.48 11/5/2015 49.09 12/5/2015 48.490002 13/5/2015 48.32 14/5/2015 48.669998 15/5/2015 48.810001 18/5/2015 48.450001 19/5/2015 47.849998 20/5/2015 47.810001 21/5/2015 47.959999 22/5/2015 48.110001 26/5/2015 47.400002 27/5/2015 47.810001 28/5/2015 47.689999 29/5/2015 47.5 1/6/2015 47.470001 2/6/2015 47.779999 3/6/2015 47.900002 4/6/2015 47.459999 5/6/2015 47.18 8/6/2015 47.369999 9/6/2015 47 10/6/2015 47.57 11/6/2015 47.470001 12/6/2015 47.450001 15/6/2015 46.740002 16/6/2015 46.650002 17/6/2015 46.709999 18/6/2015 46.700001 19/6/2015 46.77 22/6/2015 47.330002 23/6/2015 47.310001 24/6/2015 47.16 25/6/2015 46.639999 26/6/2015 46.5 29/6/2015 45.169998 30/6/2015 44.810001 1/7/2015 44.689999 2/7/2015 45.18 6/7/2015 44.259998 7/7/2015 43.720001 8/7/2015 42.549999 9/7/2015 43.02 10/7/2015 43.869999 13/7/2015 44.419998 14/7/2015 44.540001 15/7/2015 44.689999 16/7/2015 45.240002 17/7/2015 45.310001 20/7/2015 45.610001 21/7/2015 45.529999 22/7/2015 45.18 23/7/2015 44.84 24/7/2015 44.07 27/7/2015 43.889999 28/7/2015 44.799999 29/7/2015 45.080002 30/7/2015 45.009998 31/7/2015 45.07 3/8/2015 45.169998 4/8/2015 45.299999 5/8/2015 46.18 6/8/2015 45.73 7/8/2015 45.490002 10/8/2015 45.459999 11/8/2015 45.18 12/8/2015 43.790001 13/8/2015 43.779999 14/8/2015 43.759998 17/8/2015 43.470001 18/8/2015 43.59 19/8/2015 42.369999 20/8/2015 41.759998 21/8/2015 40.52 24/8/2015 38.400002 25/8/2015 39.220001 26/8/2015 39.130001 27/8/2015 40.16 28/8/2015 39.900002 31/8/2015 39.669998 1/9/2015 38.16 2/9/2015 38.549999 3/9/2015 38.560001 4/9/2015 37.68 8/9/2015 39.07 9/9/2015 39.330002 10/9/2015 39.060001 11/9/2015 39.119999 14/9/2015 38.790001 15/9/2015 39.200001 16/9/2015 39.849998 17/9/2015 39.02 18/9/2015 38.130001 21/9/2015 38.459999 22/9/2015 37.790001 23/9/2015 37.98 24/9/2015 37.59 25/9/2015 38.060001 28/9/2015 37.150002 29/9/2015 37.040001 30/9/2015 37.880001 1/10/2015 38.169998 2/10/2015 38.939999 5/10/2015 39.540001 6/10/2015 39.529999 7/10/2015 40.57 8/10/2015 40.790001 9/10/2015 40.57 12/10/2015 40.68 13/10/2015 39.540001 14/10/2015 39.790001 15/10/2015 40.41 16/10/2015 40.369999 19/10/2015 40.119999 20/10/2015 39.869999 21/10/2015 38.93 22/10/2015 39.27 23/10/2015 39.91 26/10/2015 39.549999 27/10/2015 39.220001 28/10/2015 39.599998 29/10/2015 39.23 30/10/2015 39.07 2/11/2015 39.040001 3/11/2015 39.02 4/11/2015 40.040001 5/11/2015 39.509998 6/11/2015 39.860001 9/11/2015 39.990002 10/11/2015 39.66 11/11/2015 39.740002 12/11/2015 39.57 13/11/2015 38.919998 16/11/2015 39.220001 17/11/2015 39.41 18/11/2015 39.830002 19/11/2015 40.200001 20/11/2015 40.310001 23/11/2015 40.349998 24/11/2015 40.029999 25/11/2015 40.16 27/11/2015 40.119999 30/11/2015 39.900002 1/12/2015 40.650002 2/12/2015 40.130001 3/12/2015 39.66 4/12/2015 39.860001 7/12/2015 39.41 8/12/2015 38.369999 9/12/2015 38.630001 10/12/2015 38.720001 11/12/2015 37.869999 14/12/2015 37.91 15/12/2015 38.439999 16/12/2015 39.5 17/12/2015 39.59 18/12/2015 39.279999 21/12/2015 39.459999 22/12/2015 39.57 23/12/2015 40.34 24/12/2015 40.360001 28/12/2015 40.029999 29/12/2015 40.279999 30/12/2015 39.700001 31/12/2015 39.470001 4/1/2016 38.59 5/1/2016 38.5 6/1/2016 37.169998 7/1/2016 36.389999 8/1/2016 36.150002 11/1/2016 36.43 12/1/2016 36.610001 13/1/2016 35.970001 14/1/2016 36.419998 15/1/2016 34.630001 19/1/2016 34.619999 20/1/2016 33.5 21/1/2016 33.509998 22/1/2016 34.549999 25/1/2016 33.529999 26/1/2016 34.09 27/1/2016 34 28/1/2016 34.459999 29/1/2016 35.400002 1/2/2016 34.950001 2/2/2016 33.549999 3/2/2016 33.349998 4/2/2016 33.66 5/2/2016 33.330002 8/2/2016 31.870001 9/2/2016 31.629999 10/2/2016 31.85 11/2/2016 30.709999 12/2/2016 31.92 16/2/2016 32.25 17/2/2016 32.720001 18/2/2016 32.279999 19/2/2016 32.18 22/2/2016 31.6 23/2/2016 31.09 24/2/2016 30.85 25/2/2016 31.469999 26/2/2016 32.18 29/2/2016 31.77 1/3/2016 32.279999 2/3/2016 32.02 3/3/2016 32.16 4/3/2016 32.299999 7/3/2016 32.169998 8/3/2016 31.870001 9/3/2016 32.110001 10/3/2016 32.07 11/3/2016 32.740002 14/3/2016 32.48 15/3/2016 32.349998 16/3/2016 32.580002 17/3/2016 32.529999 18/3/2016 32.630001 21/3/2016 32.549999 22/3/2016 32 23/3/2016 31.6 24/3/2016 31.209999 28/3/2016 31.290001 29/3/2016 31.26 30/3/2016 31.49 31/3/2016 31.120001 1/4/2016 30.92 4/4/2016 30.790001 5/4/2016 29.639999 6/4/2016 29.799999 7/4/2016 29.26 8/4/2016 29.6 11/4/2016 29.860001 12/4/2016 30.23 13/4/2016 31.940001 14/4/2016 31.940001 15/4/2016 31.92 18/4/2016 32.060001 19/4/2016 32.849998 20/4/2016 33.560001 21/4/2016 33.709999 22/4/2016 33.66 25/4/2016 33.389999 26/4/2016 34.349998 27/4/2016 34.09 28/4/2016 33.790001 29/4/2016 33.330002 2/5/2016 33.240002 3/5/2016 32.610001 4/5/2016 31.860001 5/5/2016 31.700001 6/5/2016 31.540001 9/5/2016 31.219999 10/5/2016 31.58 11/5/2016 31.26 12/5/2016 30.99 13/5/2016 30.809999 16/5/2016 31.18 17/5/2016 31.4 18/5/2016 31.450001 19/5/2016 31.35 20/5/2016 31.110001 23/5/2016 30.959999 24/5/2016 31.9 25/5/2016 32.830002 26/5/2016 32.610001 27/5/2016 32.77 31/5/2016 32.439999 1/6/2016 32.290001 2/6/2016 32.509998 3/6/2016 32.540001 6/6/2016 32.5 7/6/2016 32.529999 8/6/2016 32.490002 9/6/2016 32.23 10/6/2016 31.01 13/6/2016 30.719999 14/6/2016 30.15 15/6/2016 30.23 16/6/2016 30.51 17/6/2016 31.15 20/6/2016 32 21/6/2016 32.43 22/6/2016 32.650002 23/6/2016 33.73 24/6/2016 30.68 27/6/2016 29.379999 28/6/2016 30.139999 29/6/2016 30.66 30/6/2016 31.309999 1/7/2016 31.33 5/7/2016 30.299999 6/7/2016 30.190001 7/7/2016 30.02 8/7/2016 30.51 11/7/2016 31.08 12/7/2016 31.540001 13/7/2016 31.42 14/7/2016 31.889999 15/7/2016 31.860001 18/7/2016 32.130001 19/7/2016 31.969999 20/7/2016 32.57 21/7/2016 32.48 22/7/2016 32.380001 25/7/2016 32.16 26/7/2016 32.529999 27/7/2016 32.709999 28/7/2016 32.380001 29/7/2016 32.75 1/8/2016 32.259998 2/8/2016 32.16 3/8/2016 33.700001 4/8/2016 34.25 5/8/2016 34.799999 8/8/2016 35.080002 9/8/2016 35.200001 10/8/2016 34.91 11/8/2016 35.299999 12/8/2016 35.25 15/8/2016 35.389999 16/8/2016 35.349998 17/8/2016 35.580002 18/8/2016 35.860001 19/8/2016 35.610001 22/8/2016 35.599998 23/8/2016 35.689999 24/8/2016 35.77 25/8/2016 35.860001 26/8/2016 35.869999 29/8/2016 36.130001 30/8/2016 36.57 31/8/2016 37.200001 1/9/2016 37.880001 2/9/2016 38.650002 6/9/2016 38.330002 7/9/2016 37.849998 8/9/2016 38.189999 9/9/2016 38.18 12/9/2016 38 13/9/2016 36.959999 14/9/2016 37.099998 15/9/2016 37.84 16/9/2016 37.169998 19/9/2016 37.740002 20/9/2016 37.799999 21/9/2016 38.43 22/9/2016 37.810001 23/9/2016 37.209999 26/9/2016 36.84 27/9/2016 37.59 28/9/2016 37.43 29/9/2016 37.16 30/9/2016 37.610001 3/10/2016 37.619999 4/10/2016 37.959999 5/10/2016 38.310001 6/10/2016 38.209999 7/10/2016 38.549999 10/10/2016 38.540001 11/10/2016 37.610001 12/10/2016 37.68 13/10/2016 37.389999 14/10/2016 37.669998 17/10/2016 37.380001 18/10/2016 38.330002 19/10/2016 37.82 20/10/2016 38.040001 21/10/2016 38.23 24/10/2016 38.080002 25/10/2016 38.119999 26/10/2016 38.119999 27/10/2016 38.029999 28/10/2016 37.849998 31/10/2016 37.630001 1/11/2016 37.5 2/11/2016 37.099998 3/11/2016 37.09 4/11/2016 37.029999 7/11/2016 38.490002 8/11/2016 38.380001 9/11/2016 38.700001 10/11/2016 39.139999 11/11/2016 39.23 14/11/2016 39.639999 15/11/2016 39.950001 16/11/2016 39.060001 17/11/2016 39.290001 18/11/2016 39.02 21/11/2016 39.470001 22/11/2016 39.73 23/11/2016 39.91 25/11/2016 39.830002 28/11/2016 39.130001 29/11/2016 39.310001 30/11/2016 39.540001 1/12/2016 39.540001 2/12/2016 39.689999 5/12/2016 39.860001 6/12/2016 41.619999 7/12/2016 42.959999 8/12/2016 42.540001 9/12/2016 42.639999 12/12/2016 41.419998 13/12/2016 42.060001 14/12/2016 41.509998 15/12/2016 41.389999 16/12/2016 41.360001 19/12/2016 40.889999 20/12/2016 40.57 21/12/2016 40.52 22/12/2016 40.34 23/12/2016 39.869999 27/12/2016 39.869999 28/12/2016 39.77 29/12/2016 39.77 30/12/2016 40.18 3/1/2017 40.889999 4/1/2017 41.279999 5/1/2017 41.16 6/1/2017 41.150002 9/1/2017 40.66 10/1/2017 40.75 11/1/2017 41.349998 12/1/2017 41.18 13/1/2017 41.16 17/1/2017 41.18 18/1/2017 41.91 19/1/2017 41.669998 20/1/2017 41.740002 23/1/2017 41.880001 24/1/2017 42.099998 25/1/2017 42.830002 26/1/2017 42.990002 27/1/2017 42.959999 30/1/2017 42.5 31/1/2017 42.599998 1/2/2017 42.779999 2/2/2017 42.459999 3/2/2017 42.779999 6/2/2017 42.759998 7/2/2017 42.830002 8/2/2017 42.580002 9/2/2017 43.060001 10/2/2017 42.970001 13/2/2017 43.279999 14/2/2017 43.509998 15/2/2017 44.09 16/2/2017 44.110001 17/2/2017 43.91 21/2/2017 41.580002 22/2/2017 41.18 23/2/2017 41.02 24/2/2017 40.669998 27/2/2017 40.360001 28/2/2017 40.299999 1/3/2017 40.84 2/3/2017 40.77 3/3/2017 41.009998 6/3/2017 40.77 7/3/2017 40.57 8/3/2017 40.509998 9/3/2017 40.57 10/3/2017 40.580002 13/3/2017 41.16 14/3/2017 40.75 15/3/2017 41.150002 16/3/2017 41.41 17/3/2017 40.91 20/3/2017 40.66 21/3/2017 40.639999 22/3/2017 40.5 23/3/2017 40.549999 24/3/2017 40.560001 27/3/2017 40.689999 28/3/2017 41.049999 29/3/2017 40.860001 30/3/2017 41.049999 31/3/2017 40.82 3/4/2017 40.560001 4/4/2017 40.5 5/4/2017 40.68 6/4/2017 40.650002 7/4/2017 40.57 10/4/2017 40.82 11/4/2017 41.119999 12/4/2017 40.970001 13/4/2017 40.16 17/4/2017 40.59 18/4/2017 40.16 19/4/2017 39.73 20/4/2017 40.029999 21/4/2017 39.939999 24/4/2017 40.830002 25/4/2017 41.240002 26/4/2017 41.18 27/4/2017 41.43 28/4/2017 41.169998 1/5/2017 41.279999 2/5/2017 41.41 3/5/2017 41.619999 4/5/2017 42.799999 5/5/2017 42.68 8/5/2017 42.689999 9/5/2017 42.91 10/5/2017 43.43 11/5/2017 43.57 12/5/2017 43.73 15/5/2017 44.23 16/5/2017 44.41 17/5/2017 43.099998 18/5/2017 43.119999 19/5/2017 43.349998 22/5/2017 43.400002 23/5/2017 43.439999 24/5/2017 43.27 25/5/2017 43.380001 26/5/2017 43.150002 30/5/2017 43.41 31/5/2017 43.490002 1/6/2017 43.810001 2/6/2017 43.790001 5/6/2017 43.91 6/6/2017 44.259998 7/6/2017 44.27 8/6/2017 44.27 9/6/2017 44.209999 12/6/2017 43.77 13/6/2017 43.860001 14/6/2017 43.68 15/6/2017 43.810001 16/6/2017 44 19/6/2017 44.18 20/6/2017 43.5 21/6/2017 43.470001 22/6/2017 43.310001 23/6/2017 43.360001 26/6/2017 43.91 27/6/2017 44.110001 28/6/2017 44.650002 29/6/2017 46.529999 30/6/2017 46.389999 3/7/2017 47.240002 5/7/2017 47.150002 6/7/2017 47.009998 7/7/2017 46.950001 10/7/2017 47.650002 11/7/2017 47.900002 12/7/2017 48.18 13/7/2017 48.360001 14/7/2017 48.209999 17/7/2017 48.150002 18/7/2017 48.060001 19/7/2017 48.110001 20/7/2017 48.110001 21/7/2017 47.860001 24/7/2017 48.220001 25/7/2017 49.220001 26/7/2017 49.360001 27/7/2017 49.07 28/7/2017 48.900002 31/7/2017 50.09 1/8/2017 50.799999 2/8/2017 50.200001 3/8/2017 50.060001 4/8/2017 50.060001 7/8/2017 49.919998 8/8/2017 49.779999 9/8/2017 49.689999 10/8/2017 48.189999 11/8/2017 47.77 14/8/2017 48.169998 15/8/2017 47.91 16/8/2017 48.029999 17/8/2017 47.209999 18/8/2017 47.330002 21/8/2017 47.32 22/8/2017 47.529999 23/8/2017 47.439999 24/8/2017 47.41 25/8/2017 47.77 28/8/2017 47.880001 29/8/2017 48.080002 30/8/2017 48.360001 31/8/2017 48.400002 1/9/2017 48.5 5/9/2017 47.66 6/9/2017 47.580002 7/9/2017 47.459999 8/9/2017 47.860001 11/9/2017 48.470001 12/9/2017 48.799999 13/9/2017 48.34 14/9/2017 48.25 15/9/2017 48.189999 18/9/2017 48.66 19/9/2017 49.240002 20/9/2017 48.990002 21/9/2017 48.98 22/9/2017 49.110001 25/9/2017 48.470001 26/9/2017 48.360001 27/9/2017 48.880001 28/9/2017 49.220001 29/9/2017 49.41 2/10/2017 49.09 3/10/2017 49.549999 4/10/2017 49.560001 5/10/2017 49.68 6/10/2017 49.5 9/10/2017 49.59 10/10/2017 50.599998 11/10/2017 50 12/10/2017 49.23 13/10/2017 49.23 16/10/2017 49.34 17/10/2017 49.110001 18/10/2017 49.490002 19/10/2017 49.189999 20/10/2017 49.540001 23/10/2017 48.880001 24/10/2017 49.040001 25/10/2017 49.189999 26/10/2017 49.009998 27/10/2017 49.18 30/10/2017 48.740002 31/10/2017 48.77 1/11/2017 48.68 2/11/2017 48.349998 3/11/2017 48.349998 6/11/2017 48.259998 7/11/2017 48.049999
Implement a class named Stock to represent a stock. The class contains: i. One string data field named code that specifies the code of the ii. One double array of 2000 elements named price which stores ii. One string array of 2000 elements named date which stores the v. One int data field named length that specifies the number oif v. A constructor that take a string input. It is the file name of the file stock the close price of a stock. day of a record close prices. containing the dates and the stock prices: 1260 HSBC 7/11/2012 48.810001 8/11/2012 48 9/11/2012 47.91 12/11/201248.09 13/11/201247.990002 .029999 The first number is the number of rows excluding the first row in the file. The second string is the stock code. The constructor reads the dates and prices from the file and stores the value in the date array and price array, respectively, and set code to the value of the stock code. i. A function named getStockCode () that returns the value of code. ii. A function operator[] (string day) that overloads the [] operator such that s ["1/7/2014"] returns the close price on 1st of July in 2014 ii. A function getReturn (string start, string end) which calculates the return of a stock if the stock is bought on start and sold on end, and return this value
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
