2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 С++ Builder перевод строки в флоат и обратно
Сообщение28.05.2013, 13:28 
у меня в программе есть компонент СтрингГрид, 2 ячейки которые перемножаются и их результат заполняет третью колонку, также есть переменная, которая все эти колонки получившееся суммирует, изначально была такая программа
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    float summ;
    summ = 0;
    for ( int i = 1; i < 11; i++)
    {
       StringGrid1->Cells[4][i] += StringGrid1->Cells[3][i]*StringGrid1->Cells[2][i];
       summ += StrToFloat(StringGrid1->Cells[4][i]);
    }

    Label2->Caption = "Всего: " + FloatToStr(summ) + " руб.";
}


выдавало ошибку что не получается преобразовать стринг во флоат, узнал что строки перемножаться не могут. Создал 2 переменные массивы
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    float summ;
    float x1[10],x2[10];

    summ = 0;
    for ( int i = 1; i < 11; i++)
    {
        x1[i]=  StrToFloat(StringGrid1->Cells[3][i]);
        x2[i]= StrToFloat(StringGrid1->Cells[2][i]);
        StringGrid1->Cells[4][i] += FloatToStr(x1[i]*x2[i]);
        summ += StrToFloat(StringGrid1->Cells[4][i]);
       }

    Label2->Caption = "Всего: " + FloatToStr(summ) + " руб.";
}


и всё равно такаяже ошибка. Как я заметил, ошибка на стадии перемножения появляется... но как тогда перемножить две ячейки не могу понять

 
 
 
 Re: С++ Builder перевод строки в флоат и обратно
Сообщение28.05.2013, 15:30 
Всё) разобрался, просто по отдельности присвоил значение ячеек массиву с помощью sscanf, а там уже с ними работал и вывел в нужный столбец)

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group