0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 3
1

Ошибка при сохранении массива структур

04.06.2013, 19:40. Показов 497. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
присвоение значений переменным из структур
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct
 {
     char name;
     float str1;
     float str2;
     float str3;
 } Shop[11];
 float ich1[10],ich2[10],ich3[10];
void __fastcall TForm2::Button1Click(TObject *Sender)
{
 for(int i=1; i<11; i++)
{
    sscanf(StringGrid1->Cells[2][i].c_str(), "%f", &ich1[i]);
    sscanf(StringGrid1->Cells[3][i].c_str(), "%f", &ich2[i]);
    StringGrid1->Cells[4][i] = ich1[i]*ich2[i];
    sscanf(StringGrid1->Cells[1][i].c_str(), "%s", &Shop[i].name);
    sscanf(StringGrid1->Cells[2][i].c_str(), "%f", &Shop[i].str1);
    sscanf(StringGrid1->Cells[3][i].c_str(), "%f", &Shop[i].str2);
    sscanf(StringGrid1->Cells[4][i].c_str(), "%f", &Shop[i].str3);
}
}
чтение их
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//-------------------------------------------------
void __fastcall TForm2::Button2Click(TObject *Sender)
{
  FILE* file = fopen("save.txt", "w+");
 
   if(file == NULL)
   {
      ShowMessage("Невозможно открыть файл save.txt для записи");
      return;
   }
 
   for(int i = 1; i < 11; i++)
   {
      fprintf(file, "%s %f %f %f", Shop[i].name,
              Shop[i].str1, Shop[i].str2, Shop[i].str3);
   }
 
   fclose(file);
 
}
я думал что ошибка в том, что ячейки стринг грида имеют значение строки, но если заполнить все, то ошибка вылетает при сохранении. И дебагер выделяет строку с
C++
1
fprintf(file, "%s %f %f %f", Shop[i].name,Shop[i].str1, Shop[i].str2, Shop[i].str3);
Конечно, код странный из-за 3х массивов, но я просто ещё не до конца разобрался как работать с структурами
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 19:40
Ответы с готовыми решениями:

Ошибка при сохранении
мне надо сдать курсовую, помогите.

Ошибка при сохранении файла
Почему при сохранении файла, если для формирования его имени использовать DateToStr(Now()) и...

Ошибка при сохранении документа из TMemo
Необходимо пересохранить имеющийся фаил data.txt if(OpenDlg-&gt;Execute()) { ...

Ошибка при удалении массива структур
В строках 74-77 удаляет нормально, а в строке 157 и им подобным, ругается. Почему? int main()...

0
04.06.2013, 19:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2013, 19:40
Помогаю со студенческими работами здесь

Ошибка при бинарном чтении массива структур из файла
Здравствуйте! Написал программу, которая бинарно записывает и считывает массив структур в файл, но...

Где кроется ошибка при заполнении массива структур?
У меня ввод данных в массив не происходит, только вот не пойму почему, может быть кто-нибудь...

Массивы структур (при обращении к элементу массива выскакивает ошибка)
#include &lt;iostream&gt; using namespace std; class Lancuch { public: char cos; Lancuch *...

Ошибка (access violation) при обращении к элементу динамического массива структур
Добрый день! Все прекрасно работает если в структуре статические массивы. Но так уж получилось, что...

Ошибка при сохранении QDOMDocument
Создаю QDomDocument и сохраняю. По завершении (успешно сохранив в файл) вылетает, ругаясь про...

Ошибка при сохранении вектора
Привет всем! После сохранении в файл вектора (дин. масс.) и чтения его в другой вектор, вылазит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru