Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
1

Ошибка цикла For

29.05.2016, 20:12. Показов 795. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Создаем структуру
//делаем 10 копий
//инициализируем их
// выводим на консоль
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct  Person
{
    int age;
    char *address;
    int salary;
};
 
Person people[10];
 
for (int index = 0; index<1000; index++)
{
 
    people[index].age = 18;
    people[index].address = NULL;
    people[index].salary = 35000;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    cout << "Возраст персоны во второй структуре  " << people[2].age<< endl;
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2016, 20:12
Ответы с готовыми решениями:

Ошибка: Нельзя изменять значение переменной цикла внутри этого цикла
при запуске в строке If i=k Then i:=i+1; выдает ошибку &quot;Нельзя изменять значение переменной цикла внутри этого цикла&quot;. Объясните...

Ошибка: Нельзя изменять значение переменной цикла внутри этого цикла
при запуске в цикле while в строке x:=x div 10; выдает ошибку &quot;Нельзя изменять значение переменной цикла внутри этого цикла&quot;,...

Ошибка: "Нельзя изменять значение переменной цикла внутри этого цикла"
&quot;Нельзя изменять значение переменной цикла внутри этого цикла&quot;. Выдает вот такую ошибку в 37 строчке. Помогите исправить Program...

5
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
29.05.2016, 20:16  [ТС] 2
Ошибка цикла For
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
29.05.2016, 20:26  [ТС] 3
Та же ошибка с циклом For
код переделал на класс
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Создаем класс
//делаем 10 копий
//инициализируем их
// выводим на консоль
 
#include "stdafx.h"
#include <iostream>
using namespace std;
class Person
{
public:
    int age;
    char *adress;
    int salary;
    Person()
    {
        age = 0;
        adress = NULL;
        salary = 35000;
    }
};
 
Person people[10];
 
for (int index = 0; index<10; index++)
{
 
    people[index].age = 18;
    people[index].address = NULL;
    people[index].salary = 35000;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    cout << "Возраст второго класса  " << people[2].age << endl;
    system("pause");
    return 0;
}
Ошибка цикла For
0
Модератор
Эксперт С++
 Аватар для zss
13739 / 10934 / 6484
Регистрация: 18.12.2011
Сообщений: 29,175
29.05.2016, 21:15 4
Надеюсь, Вы знаете, что исполняемый код должен находиться внутри функции.
К какой функции относится код в строках 25-31?
1
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
29.05.2016, 21:26  [ТС] 5
Исправил,путем перемещения цикла в функцию.Вопрос,у нас 10 экземляров класса.А как их правильно сохранить в файл и потом прочитать из него,что бы каждый экземляр сзаписал/прочитал свои данные?Какой файл -текстовый или бинарный?
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Создаем класс
//делаем 10 копий
//инициализируем их
// выводим на консоль
 
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime> 
using namespace std;
class Person
{
public:
    int age;
    char *adress;
    int salary;
    Person()
    {
        age = 0;
        adress = NULL;
        salary = 35000;
    }
};
 
Person people[10];
const unsigned int ARRSIZE = 10;
const int min = 0;
const int max = 35000;
const int m = 100;
 
// функция генерации случайного числа из диапазона от range_min до range_max включительно
int rrand(int range_min, int range_max)
{
    return rand() % (range_max - range_min + 1) + range_min;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    
 
    srand(static_cast<unsigned int>(time(NULL)));
    cout << endl;
    for (int index = 0; index<ARRSIZE; index++)
    {
        people[index].age = rrand(min, m);
        people[index].adress = NULL;
        people[index].salary = rrand(min, max);
    }
 
    setlocale(LC_ALL, "rus");
    for (int i = 0; i < ARRSIZE; i++)
    {
        cout << "Возраст  класса  " << people[i].age << endl;
        cout << "Зарплата  " << people[i].salary << endl;
    }
 
    system("pause");
    return 0;
}
0
Модератор
Эксперт С++
 Аватар для zss
13739 / 10934 / 6484
Регистрация: 18.12.2011
Сообщений: 29,175
30.05.2016, 08:24 6
обратите внимание на то, что у Вас в классе хранится указатель
C++ Скопировано
1
char *adress;
Т.е. данные выделяются динамически (в приведенном коде этого еще нет, но, надеюсь, Вы понимаете, что память нужно выделять).
Т.о. простая запись структуры не прокатит.
Придется писать все подробно.
C++ Скопировано
1
2
3
4
5
6
7
8
void Person::AddToEndOfFile()
{
   ofstream ff("file.txt", ios::ate | ios::app);
   if(!ff)
      throw "File file.txt can't open for writing\n";
   ff<<age<<endl<<adress<<endl<<salary<<endl;
   ff.close();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2016, 08:24
Помогаю со студенческими работами здесь

Ошибка "нельзя изменять значение переменной цикла внутри цикла"
пишет, что &quot;нельзя изменять значение переменной цикла внутри этого цикла&quot; var a,c:array of integer; i,j:integer; min:integer; begin ...

составить блок-схему алгоритмов для решения задач с использованием трех циклов цикла с постусловием, цикла с предусловием и цикла с параметрами
помогите составить блок-схему алгоритмов для решения задач с использованием трех циклов цикла с постусловием, цикла с предусловием и цикла...

Ошибка цикла while
import pyglet import time while True: song = pyglet.media.load('file.mp3') song.play() pyglet.app.run() ...

Ошибка цикла
Ошибка банальна &quot;Индекс находился вне границ массива, но фигня в том что перед выполнением этого цикла выполняется почти идентичный с тем...

Ошибка цикла for
Объясните, что здесь неправильно. В чем ошибка? Подправьте меня, если несложно... uses crt; const m=2; n=5; type ar=array of...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Сопоставление с образцом (Pattern Matching) в Python: Списки и словари
py-thonny 19.03.2025
Программисты любят, когда код говорит сам за себя. Представьте, что вы можете просмотреть структуру данных и мгновенно понять, что с ней делать — без сложных условий и вложенных проверок. Именно эту. . .
Работа с метаданными EXIF и JPEG в JavaScript
run.dev 19.03.2025
Работа с изображениями в веб-разработке нередко выходит за рамки простого отображения картинки. Современные задачи требуют глубокого понимания структуры файлов и умения манипулировать их внутренними. . .
Чеклист для Kubernetes в продакшене: Лучшие практики для SRE
Mr. Docker 19.03.2025
Когда сталкиваешься с запуском Kubernetes в продакшене, невольно задаешься вопросом: почему то, что так гладко работало в тестовой среде, вдруг начинает вызывать головную боль на боевых системах?. . .
Разработка продвинутого ИИ в Unity с использованием Behavior Graph
GameUnited 19.03.2025
В разработке игр искусственный интеллект персонажей часто становится тем элементом, который превращает хорошую игру в выдающуюся. До недавнего времени разработчикам под Unity приходилось либо писать. . .
Словари в Python: методы работы, оптимизация, сериализация
py-thonny 19.03.2025
Каждый хотя бы раз сталкивался с необходимостью хранить связанные данные, где важна не только сама информация, но и их взаимосвязь. В дебрях Python словари — это тот универсальный инструмент, который. . .
Реализация паттерна CQRS с Event Sourcing в PHP
Jason-Webb 19.03.2025
CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который разделяет операции чтения и записи данных в приложении. Если вы столкнулись с ситуацией, когда ваше PHP-приложение. . .
std::span в C++: Подпредставлени­я и срезы
NullReferenced 18.03.2025
Если вы когда-нибудь работали с большими объемами данных в C++, то наверняка сталкивались с необходимостью манипулировать отдельными частями массивов или контейнеров. Традиционные подходы часто. . .
std::span в C++: Доступ к элементам и итерирование
NullReferenced 18.03.2025
В C++ каждый разработчик сталкивается с проблемой эффективного управления последовательностями данных. Представьте: вы работаете с массивом, передаете его в функцию, а затем в другую, и каждый раз. . .
Утечки памяти в C#
UnmanagedCoder 18.03.2025
Когда мы говорим о разработке приложений на C#, то часто успокаиваем себя мыслью, что сборщик мусора решит все наши проблемы с памятью. "Память управляется автоматически" — эта мантра прочно засела в. . .
std::span в C++: Введение в невладеющее представление
NullReferenced 18.03.2025
С появлением стандарта C++20 у нас появился новый инструмент — std::span, который представляет собой невладеющее представление для работы с последовательностями данных. std::span — это легковесный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер