Skip to main content
deleted 9 characters in body; edited tags; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

C++ strings compare Comparing and assignassigning strings

Would you pleseplease run through this code and provide your comments.?

    void quote_container::allocate(string *i_string, string *i_value){
    string temp_name = *i_string;
    double temp_value; 
    
    // Convert the input string to upper case. 
    stringToUpper(temp_name);

    if (temp_name =="OPEN"){
        temp_value = atof( (*i_value).c_str() );
        open = (float)temp_value;
    }
    else if (temp_name =="DAYHIGH") {
        temp_value = atof( (*i_value).c_str() );
        high  = (float)temp_value;
    }
    else if (temp_name =="DAYLOW") {
        temp_value = atof( (*i_value).c_str() );
        low  = (float)temp_value;
    }
    else if (temp_name =="LOW52") {
        temp_value = atof( (*i_value).c_str() );
        year_low  = (float)temp_value;
    }
    else if (temp_name =="HIGH52") {
        temp_value = atof( (*i_value).c_str() );
        year_high  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDLOWER") {
        temp_value = atof( (*i_value).c_str() );
        lower_price_band  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDUPPER") {
        temp_value = atof( (*i_value).c_str() );
        upper_price_band  = (float)temp_value;
    }
    else if (temp_name =="TOTALBUYQUANTITY"){
        temp_value = atof( (*i_value).c_str() );
        tbq  = temp_value;
    }
    else if (temp_name =="TOTALSELLQUANTITY") {
        temp_value = atof( (*i_value).c_str() );
        tsq  = temp_value;
    }
    else if (temp_name == "BUYQUANTITY5" || temp_name == "BUYQUANTITY4" || temp_name == "BUYQUANTITY3"|| 
        temp_name == "BUYQUANTITY2"|| temp_name == "BUYQUANTITY1") {
        temp_value = atof( (*i_value).c_str() );
        tbq2  = tbq2 + temp_value;
    }
    else if (temp_name == "SELLQUANTITY5" || temp_name == "SELLQUANTITY4" || temp_name == "SELLQUANTITY3"|| 
        temp_name == "SELLQUANTITY2" || temp_name == "SELLQUANTITY1")  {
            temp_value = atof( (*i_value).c_str() );
        tsq2  = (float)tsq2 + temp_value;
    }
    else if (temp_name == "BUYPRICE1" || temp_name == "BUYPRICE2" || temp_name == "BUYPRICE3"|| 
        temp_name == "BUYPRICE4" || temp_name == "BUYPRICE5") {
            temp_value = atof( (*i_value).c_str() );
        avg_buy_price  = avg_buy_price + (float)temp_value ;
    }
    else if (temp_name == "SELLPRICE5" || temp_name == "SELLPRICE4" || temp_name == "SELLPRICE3"|| 
        temp_name == "SELLPRICE2" || temp_name == "SELLPRICE1") {
            temp_value = atof( (*i_value).c_str() );
        avg_sell_price  =  tsq2 + (float)temp_value;
    }
    else if (temp_name == "FACEVALUE") {
        temp_value = atof( (*i_value).c_str() );
        face_value = (float)temp_value;
    }
    else if (temp_name == "PREVIOUSCLOSE") {
        temp_value = atof( (*i_value).c_str() );
        prev_close = (float)temp_value;
    }
    else if (temp_name == "LASTPRICE") {
        temp_value = atof( (*i_value).c_str() );
        last_price = (float)temp_value;
    }
    else if (temp_name == "TOTALTRADEDVOLUME") {
        temp_value = atof( (*i_value).c_str() );
        ttv = (float)temp_value;
    }
    else
        cout <<"\n\t Ignoring --"<<temp_name<<"---"<<*i_value;

}

C++ strings compare and assign

Would you plese run through this code and provide your comments.

    void quote_container::allocate(string *i_string, string *i_value){
    string temp_name = *i_string;
    double temp_value; 
    
    // Convert the input string to upper case. 
    stringToUpper(temp_name);

    if (temp_name =="OPEN"){
        temp_value = atof( (*i_value).c_str() );
        open = (float)temp_value;
    }
    else if (temp_name =="DAYHIGH") {
        temp_value = atof( (*i_value).c_str() );
        high  = (float)temp_value;
    }
    else if (temp_name =="DAYLOW") {
        temp_value = atof( (*i_value).c_str() );
        low  = (float)temp_value;
    }
    else if (temp_name =="LOW52") {
        temp_value = atof( (*i_value).c_str() );
        year_low  = (float)temp_value;
    }
    else if (temp_name =="HIGH52") {
        temp_value = atof( (*i_value).c_str() );
        year_high  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDLOWER") {
        temp_value = atof( (*i_value).c_str() );
        lower_price_band  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDUPPER") {
        temp_value = atof( (*i_value).c_str() );
        upper_price_band  = (float)temp_value;
    }
    else if (temp_name =="TOTALBUYQUANTITY"){
        temp_value = atof( (*i_value).c_str() );
        tbq  = temp_value;
    }
    else if (temp_name =="TOTALSELLQUANTITY") {
        temp_value = atof( (*i_value).c_str() );
        tsq  = temp_value;
    }
    else if (temp_name == "BUYQUANTITY5" || temp_name == "BUYQUANTITY4" || temp_name == "BUYQUANTITY3"|| 
        temp_name == "BUYQUANTITY2"|| temp_name == "BUYQUANTITY1") {
        temp_value = atof( (*i_value).c_str() );
        tbq2  = tbq2 + temp_value;
    }
    else if (temp_name == "SELLQUANTITY5" || temp_name == "SELLQUANTITY4" || temp_name == "SELLQUANTITY3"|| 
        temp_name == "SELLQUANTITY2" || temp_name == "SELLQUANTITY1")  {
            temp_value = atof( (*i_value).c_str() );
        tsq2  = (float)tsq2 + temp_value;
    }
    else if (temp_name == "BUYPRICE1" || temp_name == "BUYPRICE2" || temp_name == "BUYPRICE3"|| 
        temp_name == "BUYPRICE4" || temp_name == "BUYPRICE5") {
            temp_value = atof( (*i_value).c_str() );
        avg_buy_price  = avg_buy_price + (float)temp_value ;
    }
    else if (temp_name == "SELLPRICE5" || temp_name == "SELLPRICE4" || temp_name == "SELLPRICE3"|| 
        temp_name == "SELLPRICE2" || temp_name == "SELLPRICE1") {
            temp_value = atof( (*i_value).c_str() );
        avg_sell_price  =  tsq2 + (float)temp_value;
    }
    else if (temp_name == "FACEVALUE") {
        temp_value = atof( (*i_value).c_str() );
        face_value = (float)temp_value;
    }
    else if (temp_name == "PREVIOUSCLOSE") {
        temp_value = atof( (*i_value).c_str() );
        prev_close = (float)temp_value;
    }
    else if (temp_name == "LASTPRICE") {
        temp_value = atof( (*i_value).c_str() );
        last_price = (float)temp_value;
    }
    else if (temp_name == "TOTALTRADEDVOLUME") {
        temp_value = atof( (*i_value).c_str() );
        ttv = (float)temp_value;
    }
    else
        cout <<"\n\t Ignoring --"<<temp_name<<"---"<<*i_value;

}

Comparing and assigning strings

Would you please run through this code and provide your comments?

void quote_container::allocate(string *i_string, string *i_value){
    string temp_name = *i_string;
    double temp_value; 
    
    // Convert the input string to upper case. 
    stringToUpper(temp_name);

    if (temp_name =="OPEN"){
        temp_value = atof( (*i_value).c_str() );
        open = (float)temp_value;
    }
    else if (temp_name =="DAYHIGH") {
        temp_value = atof( (*i_value).c_str() );
        high  = (float)temp_value;
    }
    else if (temp_name =="DAYLOW") {
        temp_value = atof( (*i_value).c_str() );
        low  = (float)temp_value;
    }
    else if (temp_name =="LOW52") {
        temp_value = atof( (*i_value).c_str() );
        year_low  = (float)temp_value;
    }
    else if (temp_name =="HIGH52") {
        temp_value = atof( (*i_value).c_str() );
        year_high  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDLOWER") {
        temp_value = atof( (*i_value).c_str() );
        lower_price_band  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDUPPER") {
        temp_value = atof( (*i_value).c_str() );
        upper_price_band  = (float)temp_value;
    }
    else if (temp_name =="TOTALBUYQUANTITY"){
        temp_value = atof( (*i_value).c_str() );
        tbq  = temp_value;
    }
    else if (temp_name =="TOTALSELLQUANTITY") {
        temp_value = atof( (*i_value).c_str() );
        tsq  = temp_value;
    }
    else if (temp_name == "BUYQUANTITY5" || temp_name == "BUYQUANTITY4" || temp_name == "BUYQUANTITY3"|| 
        temp_name == "BUYQUANTITY2"|| temp_name == "BUYQUANTITY1") {
        temp_value = atof( (*i_value).c_str() );
        tbq2  = tbq2 + temp_value;
    }
    else if (temp_name == "SELLQUANTITY5" || temp_name == "SELLQUANTITY4" || temp_name == "SELLQUANTITY3"|| 
        temp_name == "SELLQUANTITY2" || temp_name == "SELLQUANTITY1")  {
            temp_value = atof( (*i_value).c_str() );
        tsq2  = (float)tsq2 + temp_value;
    }
    else if (temp_name == "BUYPRICE1" || temp_name == "BUYPRICE2" || temp_name == "BUYPRICE3"|| 
        temp_name == "BUYPRICE4" || temp_name == "BUYPRICE5") {
            temp_value = atof( (*i_value).c_str() );
        avg_buy_price  = avg_buy_price + (float)temp_value ;
    }
    else if (temp_name == "SELLPRICE5" || temp_name == "SELLPRICE4" || temp_name == "SELLPRICE3"|| 
        temp_name == "SELLPRICE2" || temp_name == "SELLPRICE1") {
            temp_value = atof( (*i_value).c_str() );
        avg_sell_price  =  tsq2 + (float)temp_value;
    }
    else if (temp_name == "FACEVALUE") {
        temp_value = atof( (*i_value).c_str() );
        face_value = (float)temp_value;
    }
    else if (temp_name == "PREVIOUSCLOSE") {
        temp_value = atof( (*i_value).c_str() );
        prev_close = (float)temp_value;
    }
    else if (temp_name == "LASTPRICE") {
        temp_value = atof( (*i_value).c_str() );
        last_price = (float)temp_value;
    }
    else if (temp_name == "TOTALTRADEDVOLUME") {
        temp_value = atof( (*i_value).c_str() );
        ttv = (float)temp_value;
    }
    else
        cout <<"\n\t Ignoring --"<<temp_name<<"---"<<*i_value;

}
Source Link

C++ strings compare and assign

Would you plese run through this code and provide your comments.

    void quote_container::allocate(string *i_string, string *i_value){
    string temp_name = *i_string;
    double temp_value; 
    
    // Convert the input string to upper case. 
    stringToUpper(temp_name);

    if (temp_name =="OPEN"){
        temp_value = atof( (*i_value).c_str() );
        open = (float)temp_value;
    }
    else if (temp_name =="DAYHIGH") {
        temp_value = atof( (*i_value).c_str() );
        high  = (float)temp_value;
    }
    else if (temp_name =="DAYLOW") {
        temp_value = atof( (*i_value).c_str() );
        low  = (float)temp_value;
    }
    else if (temp_name =="LOW52") {
        temp_value = atof( (*i_value).c_str() );
        year_low  = (float)temp_value;
    }
    else if (temp_name =="HIGH52") {
        temp_value = atof( (*i_value).c_str() );
        year_high  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDLOWER") {
        temp_value = atof( (*i_value).c_str() );
        lower_price_band  = (float)temp_value;
    }
    else if (temp_name =="PRICEBANDUPPER") {
        temp_value = atof( (*i_value).c_str() );
        upper_price_band  = (float)temp_value;
    }
    else if (temp_name =="TOTALBUYQUANTITY"){
        temp_value = atof( (*i_value).c_str() );
        tbq  = temp_value;
    }
    else if (temp_name =="TOTALSELLQUANTITY") {
        temp_value = atof( (*i_value).c_str() );
        tsq  = temp_value;
    }
    else if (temp_name == "BUYQUANTITY5" || temp_name == "BUYQUANTITY4" || temp_name == "BUYQUANTITY3"|| 
        temp_name == "BUYQUANTITY2"|| temp_name == "BUYQUANTITY1") {
        temp_value = atof( (*i_value).c_str() );
        tbq2  = tbq2 + temp_value;
    }
    else if (temp_name == "SELLQUANTITY5" || temp_name == "SELLQUANTITY4" || temp_name == "SELLQUANTITY3"|| 
        temp_name == "SELLQUANTITY2" || temp_name == "SELLQUANTITY1")  {
            temp_value = atof( (*i_value).c_str() );
        tsq2  = (float)tsq2 + temp_value;
    }
    else if (temp_name == "BUYPRICE1" || temp_name == "BUYPRICE2" || temp_name == "BUYPRICE3"|| 
        temp_name == "BUYPRICE4" || temp_name == "BUYPRICE5") {
            temp_value = atof( (*i_value).c_str() );
        avg_buy_price  = avg_buy_price + (float)temp_value ;
    }
    else if (temp_name == "SELLPRICE5" || temp_name == "SELLPRICE4" || temp_name == "SELLPRICE3"|| 
        temp_name == "SELLPRICE2" || temp_name == "SELLPRICE1") {
            temp_value = atof( (*i_value).c_str() );
        avg_sell_price  =  tsq2 + (float)temp_value;
    }
    else if (temp_name == "FACEVALUE") {
        temp_value = atof( (*i_value).c_str() );
        face_value = (float)temp_value;
    }
    else if (temp_name == "PREVIOUSCLOSE") {
        temp_value = atof( (*i_value).c_str() );
        prev_close = (float)temp_value;
    }
    else if (temp_name == "LASTPRICE") {
        temp_value = atof( (*i_value).c_str() );
        last_price = (float)temp_value;
    }
    else if (temp_name == "TOTALTRADEDVOLUME") {
        temp_value = atof( (*i_value).c_str() );
        ttv = (float)temp_value;
    }
    else
        cout <<"\n\t Ignoring --"<<temp_name<<"---"<<*i_value;

}

Also

void quote_container::stringToUpper(string &s)
{
   for(unsigned int l = 0; l < s.length(); l++) 
    s[l] = toupper(s[l]);  
}

Could the above code be improved in any way?