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];
Here are the errors I am getting: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; }
Thanks in advance.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



LinkBack URL
About LinkBacks


