Hi,
I am trying to make my program alter the number of times it requests info by using command line arguments. However I can't assign a variable to the value of the argument in the array i.e. int var = argv[2];
Code:
#include<iostream>
#include<string>
#include<cmath>
#include <iomanip>
using namespace std;
void transferTime ( int hddSpeeds[], float sizeOfDir, float transferRate[] );
int main(int argc, char *argv[])
{
char control = argv[2];
string hddNames[control];
float transferRate[control];
int hddSpeeds[control];
float sizeOfDir;
float counter = 0;
int fastest;
for ( int loop = 0; loop < control; loop++ )
{//open loop
cout<<"Please enter a harddrive name to be compared: ";
cin>> hddNames[loop];
cout<<"Please enter the transfer speed of that drive in megabits per second: ";
cin>> hddSpeeds[loop];
}//end loop
cout<<"Please enter the size of the directory being transferred in Gigabytes: ";
cin>> sizeOfDir;
transferTime( hddSpeeds, sizeOfDir, transferRate, control );
for ( int loop = 0; loop < control; loop++ )
{//open loop
if ( counter < transferRate[loop] )
{//open if
fastest = loop;
}//close if
}//close loop
float topspeed;
topspeed = transferRate[fastest];
cout<<"Hard Drive\tTransfer rate (Mbps)\tDirectory Size(GB)\tTransfer time(s)\n";
for (int loop = 0; loop < control; loop++ )
{//open loop
cout<< hddNames[loop] << "\t\t";
cout<< hddSpeeds[loop] << "\t\t\t";
cout<< sizeOfDir << "\t\t\t";
cout<< std::fixed << setprecision(1) << topspeed << "\n";
}//close loop
cout<<"\n";
cout<<"The fastest of the given Hard Drives was: \n";
cout<<"Hard Drive\tTransfer rate (Mbps)\tDirectory Size(Gb)\tTransfer time(s)\n";
cout<< hddNames[fastest] << "\t\t";
cout<< hddSpeeds[fastest] << "\t\t\t";
cout<< sizeOfDir << "\t\t\t";
cout<< std::fixed << setprecision(1) << topspeed << "\n";
}
void transferTime ( int hddSpeeds[], float sizeOfDir, float transferRate[], int control )
{
for (int loop = 0; loop < control; loop++ )
{//open loop
int dummy = hddSpeeds[loop];
transferRate[loop] = sizeOfDir * 1024 * 8/dummy;
}//close loop
return;
}
Here are the errors I am getting:
Code:
hdd.cpp: In function ‘int main(int, char**)’:
hdd.cpp:12: error: invalid conversion from ‘char*’ to ‘char’
hdd.cpp:8: error: too many arguments to function ‘void transferTime(int*, float, float*)’
hdd.cpp:28: error: at this point in file
Thanks in advance.