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

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

29.05.2016, 20:12. Показов 792. Ответов 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
13735 / 10931 / 6483
Регистрация: 18.12.2011
Сообщений: 29,172
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
13735 / 10931 / 6483
Регистрация: 18.12.2011
Сообщений: 29,172
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
Ответ Создать тему
Новые блоги и статьи
Простая нейросеть на КуМир: Создание и обучение
EggHead 16.03.2025
Искусственные нейронные сети — удивительная технология, позволяющая компьютерам имитировать работу человеческого мозга. Если вы хотя бы немного интересуетесь современными технологиями, то наверняка. . .
Исполнитель Кузнечик в КуМир: Решение задач
EggHead 16.03.2025
Среди множества исполнителей в системе КуМир особое место занимает Кузнечик — простой, но невероятно полезный виртуальный персонаж, который перемещается по числовой прямой, выполняя ваши команды. На. . .
Исполнитель Водолей в КуМир: Решение задач
EggHead 16.03.2025
Разработка алгоритмического мышления — одна из ключевых задач для начинающих программистов, и система КуМир предлагает отличный способ погрузиться в этот процесс. Среди множества исполнителей в этой. . .
Исполнитель Чертежник в КуМир: Решение задач
EggHead 16.03.2025
Представьте, что вы можете рисовать на бесконечной координатной плоскости, перемещая точку, которая оставляет след. По вашей команде она может поднять перо и двигаться, не оставляя следа, или. . .
Исполнитель Робот в КуМир: Решение задач
EggHead 16.03.2025
КуМир (Комплект Учебных МИРов) — это учебная среда программирования, разработанная специально для обучения базовым концепциям алгоритмизации. Её главная фишка — использование русскоязычного. . .
Исполнитель Черепаха в КуМир: Решение задач
EggHead 16.03.2025
Представьте, что вы впервые учитесь программировать, а перед вами стоит задача заставить маленькую виртуальную черепашку рисовать на экране. Звучит забавно? Эта идея зародилась ещё в 1967 году, когда. . .
Конвейеры данных с Apache Kafka
Javaican 16.03.2025
В мире, где данные стали новой нефтью, Apache Kafka зарекомендовал себя как мощный инструмент для построения надежных и масштабируемых конвейеров данных. Созданный изначально командой LinkedIn в 2011. . .
Deno против Node.js: Будущее JavaScript рантайма
run.dev 16.03.2025
За последнее десятилетие Node. js стал абсолютным лидером среди JavaScript-рантаймов и фактическим стандартом для серверной разработки на JavaScript. Но в 2018 году тот же разработчик, который создал. . .
SwiftUI или UIKit - что выбрать для нового приложения iOS?
mobDevWorks 16.03.2025
Когда Apple представила SwiftUI на WWDC 2019, многим показалось, что дни UIKit сочтены. Новый декларативный фреймворк предлагал радикально иной подход к разработке интерфейсов. Вместо кропотливого. . .
Docker: Руководство для начинающих по созданию первого приложения
Mr. Docker 16.03.2025
Docker — это платформа, которая упаковывает ваше приложение и все его зависимости в стандартизированные блоки, называемые контейнерами. Эти контейнеры изолированы друг от друга и от основной системы,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер