USING C VECTORS I wrote This program using arrays BUT I NEED

USING C++ (VECTORS)

I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR)

this is my program using arrays:

write a program to keep records and print statistical analysis for a class of students. There are three quizzes for each student during the term. Each student is identified by a four-digit student ID number. The number of students in the class is unknown. However; the last ID number is 0000. The file pr2.data.txt is included and contains the data .

According to data given there are 22 students:

pr2.data.txt

1234   52   70   75
2134   90   76   90
3124   90   95   98
4532   11   17   81
5678   20   12   45
6134   34   45   55
7874   60   100   56
8026   70   10   66
9893   34   09   77
2233   78   20   78
1947   45   40   88
3456   78   55   78
2877   55   50   99
3189   70   100   78
2132   77   100   80
4602   89   50   91
3445   78   60   78
5405   11   11   00
4556   78   20   10
6999   88   98   89
0000

This is my code: ( its work well, however I send the display to a file)

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

using namespace std;

const int size = 22;

typedef int student[size];
typedef int quiz1[size];
typedef int quiz2[size];
typedef int quiz3[size];
typedef float stavg[size];

void getdata(ifstream &,student, quiz1, quiz2, quiz3);
void findstavg (quiz1, quiz2, quiz3, stavg);
void findhigh(quiz1, quiz2, quiz3, int&, int&, int&);
void findlow(quiz1, quiz2, quiz3, int&, int&, int&);
void findqzavg(quiz1, quiz2, quiz3, float&, float&, float&);
void printall(ofstream &, student, quiz1, quiz2, quiz3,
stavg, int, int, int, int, int, int, float, float, float);

int main()   
{   ifstream infile(\"pr2data.txt\");
   ofstream outfile;
   outfile.open(\"pr3output.txt\");
  
   student id;
   quiz1 q1;
   quiz2 q2;
   quiz3 q3;
   stavg savg;
   int lo1;
   int lo2;
   int lo3;
   int hi1;
   int hi2;
   int hi3;
   float qavg1 = 0;
   float qavg2 = 0;
   float qavg3 = 0;
  
   if(!infile) //check if file exists
   {
       cout<<\"Unable to open the file.\"<<endl;
   }
   else
   {
       getdata(infile,id,q1,q2,q3);
       findstavg(q1, q2, q3, savg);
       findhigh(q1, q2, q3, hi1, hi2, hi3);
       findlow(q1, q2, q3, lo1, lo2, lo3);
       findqzavg(q1 , q2 , q3 , qavg1 , qavg2 , qavg3 );
       printall(outfile, id, q1, q2, q3, savg, hi1,
       hi2, hi3, lo1, lo2, lo3, qavg1, qavg2, qavg3);
   }


return 0;
}
// find quiz average for each student
void findstavg(quiz1 q1, quiz2 q2, quiz3 q3, stavg savg)
{
for(int i = 0; i < size; i++)
savg[i] = (q1[i] + q2[i] + q3[i]) / 3.0;
}
// find the lowest grade
void findlow(quiz1 q1, quiz2 q2, quiz3 q3, int & lo1, int & lo2, int & lo3 )
{
   int x1 = q1[0];
   int x2 = q2[0];
   int x3 = q3[0];
   lo1 = 0;
   lo2 = 0;
   lo3 = 0;
   for(int i = 1; i < size; i++)
   {
   if(x1 >= q1[i])
       {
       x1 = q1[i];
       lo1 = x1;
       }
   if(x2 >= q2[i])
       {
       x2 = q2[i];
       lo2 = x2;
       }
   if(x3 >= q3[i])
       {
       x3 = q3[i];
       lo3 = x3;
       }
   }
}
// find the highest grade
void findhigh(quiz1 q1, quiz2 q2, quiz3 q3, int & hi1, int & hi2, int & hi3 )
{
   int x1 = q1[0];
   int x2 = q2[0];
   int x3 = q3[0];
   hi1 = 0;
   hi2 = 0;
   hi3 = 0;
   for(int i = 1; i < size; i++)
   {
   if(x1 <= q1[i])
       {
       x1 = q1[i];
       hi1 = x1;
       }
   if(x2 <= q2[i])
       {
       x2 = q2[i];
       hi2 = x2;
       }
   if(x3 <= q3[i])
       {
       x3 = q3[i];
       hi3 = x3;
       }
   }
}
//find average scores for for each quiz
void findqzavg(quiz1 q1, quiz2 q2, quiz3 q3, float & qavg1, float & qavg2, float & qavg3)
{
for(int i = 0; i < size; i++)
{
qavg1 += q1[i];
qavg2 += q2[i];
qavg3 += q3[i];
}
qavg1 = qavg1 / size;
qavg2 = qavg2 / size;
qavg3 = qavg3 / size;
}

void getdata(ifstream &fin, student id, quiz1 q1, quiz2 q2, quiz3 q3)//read student ID, then each of
                                                                   //the 3 quiz\'s for each student
{
  
for(int i = 0; i < size; i++)
{
fin>>id[i]>>q1[i]>>q2[i]>>q3[i];

}
}

void printall(ofstream &fout, student id, quiz1 q1, quiz2 q2, quiz3 q3, stavg savg, int hi1,
int hi2, int hi3,int lo1, int lo2, int lo3, float qavg1, float qavg2, float qavg3)//print all data on a new .txt file
{
   fout<<\"\\t\"<<\"student\"<<\"\\t quiz1 \"<<\"\\t quiz2 \"<<\"\\t quiz3 \"<<\"\\t average \"<<fixed<<setprecision(2)<<endl;
for(int i = 0; i < size; i++)
   {
   fout<<\"\\t\"<<id[i]<<\"\\t \"<<q1[i]<<\"\\t \"<<q2[i]<<\"\\t \"<<q3[i]<<\"\\t \"<<fixed<<setprecision(2)<<savg[i]<<endl;
   }
fout<<\"\"<<endl;
fout<<\"High Score : \"<<\"\\t\"<<hi1<<\"\\t\"<<hi2<<\"\\t\"<<hi3<<endl;
fout<<\"Low Score : \"<<\"\\t\"<<lo1<<\"\\t\"<<lo2<<\"\\t\"<<lo3<<endl;
fout<<\"Quiz Average: \"<<\"\\t quiz1 \"<<qavg1<<\"\\t quiz2 \"<<qavg2<<\"\\t quiz3 \"<<qavg3<<endl;
}

This program works well, as you noted I\'m using vectors and I\'m sending the output to a file.

PLEASE I JUST NEED HELP USING VECTORS, PLEASE JUST CHANGE ARRAYS BY VECTOR AND USE THE SAME LOGICAL AND CODES, JUST NEED CHANGE ARRAYS BY VECTOR AND ALSO I DO NOT NEED TO SEND THE OUTPUT TO A FILE

Solution

Solution:

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

using namespace std;

const int size = 22;

typedef vector<int> student;
typedef vector<int> quiz1;
typedef vector<int> quiz2;
typedef vector<int> quiz3;
typedef vector<float> stavg;

void getdata(ifstream &,student, quiz1, quiz2, quiz3);
void findstavg (quiz1, quiz2, quiz3, stavg);
void findhigh(quiz1, quiz2, quiz3, int&, int&, int&);
void findlow(quiz1, quiz2, quiz3, int&, int&, int&);
void findqzavg(quiz1, quiz2, quiz3, float&, float&, float&);
void printall(student, quiz1, quiz2, quiz3,stavg, int, int, int, int, int, int, float, float, float);

int main()
{
   ifstream infile(\"pr2data.txt\");
      
    student id;
    quiz1 q1;
    quiz2 q2;
    quiz3 q3;
    stavg savg;
    int lo1;
    int lo2;
    int lo3;
    int hi1;
    int hi2;
    int hi3;
    float qavg1 = 0;
    float qavg2 = 0;
    float qavg3 = 0;
  
    if(!infile) //check if file exists
    {
        cout<<\"Unable to open the file.\"<<endl;
    }
    else
    {
        getdata(infile,id,q1,q2,q3);
        findstavg(q1, q2, q3, savg);
        findhigh(q1, q2, q3, hi1, hi2, hi3);
        findlow(q1, q2, q3, lo1, lo2, lo3);
        findqzavg(q1 , q2 , q3 , qavg1 , qavg2 , qavg3 );
        printall(id, q1, q2, q3, savg, hi1, hi2, hi3, lo1, lo2, lo3, qavg1, qavg2, qavg3);
    }
   system(\"pause\");
    return 0;
}

// find quiz average for each student
void findstavg(quiz1 q1, quiz2 q2, quiz3 q3, stavg savg)
{
   float avg;
   for(int i = 0; i < q1.size(); i++)
   {
       avg=(q1[i] + q2[i] + q3[i]) / 3.0;
       savg.push_back(avg);
   }
       //savg[i] = (q1[i] + q2[i] + q3[i]) / 3.0;
}
// find the lowest grade
void findlow(quiz1 q1, quiz2 q2, quiz3 q3, int & lo1, int & lo2, int & lo3 )
{
    int x1 = q1[0];
    int x2 = q2[0];
    int x3 = q3[0];
    lo1 = 0;
    lo2 = 0;
    lo3 = 0;
    for(int i = 1; i < size; i++)
    {
    if(x1 >= q1[i])
        {
        x1 = q1[i];
        lo1 = x1;
        }
    if(x2 >= q2[i])
        {
        x2 = q2[i];
        lo2 = x2;
        }
    if(x3 >= q3[i])
        {
        x3 = q3[i];
        lo3 = x3;
        }
    }
}
// find the highest grade
void findhigh(quiz1 q1, quiz2 q2, quiz3 q3, int & hi1, int & hi2, int & hi3 )
{
    int x1 = q1[0];
    int x2 = q2[0];
    int x3 = q3[0];
    hi1 = 0;
    hi2 = 0;
    hi3 = 0;
    for(int i = 1; i < q1.size(); i++)
    {
    if(x1 <= q1[i])
        {
        x1 = q1[i];
        hi1 = x1;
        }
    if(x2 <= q2[i])
        {
        x2 = q2[i];
        hi2 = x2;
        }
    if(x3 <= q3[i])
        {
        x3 = q3[i];
        hi3 = x3;
        }
    }
}
//find average scores for for each quiz
void findqzavg(quiz1 q1, quiz2 q2, quiz3 q3, float & qavg1, float & qavg2, float & qavg3)
{
      for(int i = 0; i < q1.size(); i++)
        {
        qavg1 += q1[i];
        qavg2 += q2[i];
        qavg3 += q3[i];
        }
        qavg1 = qavg1 / size;
        qavg2 = qavg2 / size;
        qavg3 = qavg3 / size;
}

void getdata(ifstream &fin, student id, quiz1 q1, quiz2 q2, quiz3 q3)//read student ID, then each of
                                                                    //the 3 quiz\'s for each student
{
   int idval,v1,v2,v3;
  
   for(int i = 0; i < size; i++)
   {
       fin>>idval>>v1>>v2>>v3;
       id.push_back(idval);
       q1.push_back(v1);
       q2.push_back(v2);
       q3.push_back(v3);
   }
}

void printall(student id, quiz1 q1, quiz2 q2, quiz3 q3, stavg savg, int hi1, int hi2, int hi3,int lo1, int lo2, int lo3, float qavg1, float qavg2, float qavg3)//print all data on a new .txt file
{
    cout<<\"\\t\"<<\"student\"<<\"\\t quiz1 \"<<\"\\t quiz2 \"<<\"\\t quiz3 \"<<\"\\t average \"<<fixed<<setprecision(2)<<endl;
   for(int i = 0; i < q1.size(); i++)
   {
       cout<<\"\\t\"<<id[i]<<\"\\t \"<<q1[i]<<\"\\t \"<<q2[i]<<\"\\t \"<<q3[i]<<\"\\t \"<<fixed<<setprecision(2)<<savg[i]<<endl;
   }
   cout<<\"\"<<endl;
   cout<<\"High Score : \"<<\"\\t\"<<hi1<<\"\\t\"<<hi2<<\"\\t\"<<hi3<<endl;
   cout<<\"Low Score : \"<<\"\\t\"<<lo1<<\"\\t\"<<lo2<<\"\\t\"<<lo3<<endl;
   cout<<\"Quiz Average: \"<<\"\\t quiz1 \"<<qavg1<<\"\\t quiz2 \"<<qavg2<<\"\\t quiz3 \"<<qavg3<<endl;
}

USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m
USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m
USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m
USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m
USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m
USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m
USING C++ (VECTORS) I wrote This program using arrays, BUT I NEED TO CHANGE BY VECTOR( PLEASE HELP ME WITH THAT, IS THE SAME PROGRAM BUT USING VECTOR) this is m

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site