Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Скорость набора символов в минуту Помогите реализовать скорость набора символов в минуту https://www.cyberforum.ru/ cpp-beginners/ thread2330836.html Трехмерный вектор.Проекции и единичный вектор C++
В трёхмерном пространстве задан вектор своими координатами. Определить проекции этого вектора на координатные оси, а также единичный вектор, параллельный заданному.
C++ Вот: source_file.cpp: In function 'int main()': source_file.cpp:10:12: error: 'strlen' was not declared in this scope https://www.cyberforum.ru/ cpp-beginners/ thread2330829.html
#include<iostream> using namespace std; int main() { char a,b; int i,j; cout<<"Напишите слово:"; cin>>a; i=0; j=strlen(a)-1;
C++ Написать программу на С++ и составить блок схему 2. Составьте блок-схему решения арифметического выражения согласно варианту. Числа x и y вводяться с клавиатуры, результат выводится на экран. 3. Реализуйте разработанную в зад.2 блок-схему на языке С++. γ=5x^2-1/4cos(x)x+3|x-y|+x^2/2+x^2 Там дробь 1/4 и x+3|x-y|+x^2 деленное на 2+x^2 дробью https://www.cyberforum.ru/ cpp-beginners/ thread2330826.html
C++ Ображение к одному символу строки в массиве строк
Код : #include <stdio.h> #include <stdbool.h> char vldmrs = {'V', 'o', 'l', 'o', 'd', 'y', 'm', 'y', 'r', '\0'}; char Names = {"Vladimyr", "Anatoliy", "Alexandr", "Boris", "Sergey"};
C++ Составить программу табулирования функции y = x0.2*tgx Не могу понять как нужно написать эту функцию. Прошу помочь https://www.cyberforum.ru/ cpp-beginners/ thread2330806.html
C++ Верно ли, что первые n цифр дробной части заданного положительного вещественного числа образуют возрастающую последовате https://www.cyberforum.ru/ cpp-beginners/ thread2330805.html
Верно ли, что первые n цифр дробной части заданного положительного вещественного числа образуют возрастающую последовательность?
C++ Исключение Microsoft C++: std::out_of_range
Вызывается исключение в функции, не пойму в чем дело, помогите объяснить, только начала работу с векторами #include "pch.h" #include <iostream> #include <stdlib.h> #include <stdio.h> #include <fstream> #include <string> #include <time.h> #include <chrono> #include <vector>
C++ Создать класс, содержащий динамический массив и количество элементов в нем https://www.cyberforum.ru/ cpp-beginners/ thread2330799.html
Создать класс, содержащий динамический массив и количество элементов в нем. Добавить конструктор, который выделяет память под заданное количество элементов, и деструктор. Добавить методы, позволяющие заполнять массив случайными числами, переставлять в данном массиве элементы в случайном порядке, находить количество различных элементов в массиве, выводить массив на экран. Пожалуйста помогите забыл...
C++ Условия в циклах for Всем привет! Помогите, пожалуйста, с задачей вот код: #include "pch.h" #include <iostream> #include <math.h> using namespace std; int main() { https://www.cyberforum.ru/ cpp-beginners/ thread2330798.html
C++ Определить на сколько лет возраст самого старого человека превышает возраст самого младшего
В массиве хранится информация о годе рождения каждого из 30 человек, определить на сколько лет возраст самого старого человека превышает год младшего
C++ Поиск элемента в массиве char https://www.cyberforum.ru/ cpp-beginners/ thread2330789.html
Не могу составить функцию поиска книги в библиотеке. Всегда выводится, "Книга не найдена!" Массив типа char void bibl:: poisk(bibl a, int&x) { int f = 0; cout << "Введите название книги: "; cin >> name; for (int i = 0; i < x; i++) {
13 / 18 / 6
Регистрация: 02.05.2018
Сообщений: 545
0

Происходит зацикливание - C++ - Ответ 12952122

07.10.2018, 14:46. Показов 800. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Постановка задачи:Номиналы российских рублей могут принимать значения 1, 2, 5, 10, 50, 100, 500, 1000, 5000. Копейки представить как 0.01 (1 копейка), 0.05 (5 копеек), 0.1 (10 копеек), 0.5 (50 копеек). Создать класс Money для работы с денежными суммами. Сумма должна быть представлена полями-номиналами, значениями которых должно быть количество купюр данного достоинства. Реализовать сложение сумм, вычитание сумм, деление сумм, деление суммы на дробное число, умножение на дробное число и операции сравнения. Дробная часть (копейки) при выводе на экран должна быть отделена от целой части запятой.
Тип данных реализуется как класс с закрытыми полями. Операции реализуются как методы
класса. Методы класса реализовать вне класса. Методы класса не должны модифицировать поля класса
(кроме специальных методов изменения полей).
Во всех заданиях, помимо указанных в задании операций, обязательно должны быть реализованы
следующие методы:
 метод инициализации Init;
 ввод с клавиатуры Read;
 вывод на экран Display;
 преобразование в строку toString.
Методы Init и toString реализовать внутри структуры; методы Read и Display – вне структуры. В
классе должно быть реализовано не менее двух методов Init: один метод принимает в качестве параметров
данные для полей, второй – объект своего класса. Метод toString должен выдавать строку,
представляющую собой число прописью (преобразование в числитеольное).
Для демонстрации работы с объектами нового типа во всех заданиях требуется написать главную
функцию. В программе обязательно должны быть продемонстрированы различные способы создания
объектов и массивов объектов. Программа должна демонстрировать использование всех функций и
методов. Программа должна выводить на экран размер класса в режиме #pragma pack(1) и без него.
Происходит зацикливание(при 1 запуске кода зацикливания может не быть но при повторном запуске опять зацикливается работаю в кодблокс) в
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
bool init( int o, int twoo, int f, int t, int ffy, int h, int FH, int OThs, int FThs, double OK, double FK, double TK, double FfyK )
 {
    if ( (o < 0) || (twoo < 0) || (five < 0) || (ten < 0) || (fifty < 0) || (hundread < 0) || (FiveHundread < 0) || (OneThousand < 0) || (FiveThousand < 0) || (OneKopeck < 0) || (FiveKopeck < 0) || (TenKopeck < 0) || (FiftyKopeck < 0))
        {
         cout<<"Аргументы должны быть больше 0!\n";
         return 1; //  неправильные агрументы - не инициализировать поля
        }
 
    else                // аргументы правильные инициализировать поля
    {
        one = o;
        two = twoo;
        five = f;
        ten = t;
        fifty = ffy;
        hundread = h;
        FiveHundread = FH;
        OneThousand = OThs;
        FiveThousand = FThs;
        OneKopeck = OK;
        FiveKopeck = FK;
        TenKopeck = TK;
        FiftyKopeck = FfyK;
        return 0;
    }
}
Вот весь код:
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <iostream>
#include <cmath>
#include <string>
#include <windows.h>
 
 
using namespace std;
 
class Money {
    int one;         // 1 рубль
    int two;         // 2 рублей
    int five;        //  5 рублей
    int ten;          //  10 рублей
    int fifty;        //  50 рублей
    int hundread;       //  100 рублей
    int FiveHundread;    // 500 рублей
    int OneThousand;    //   1000 рублей
    int FiveThousand;    //  5000 рублей
    double OneKopeck;    //    1 копейка
    double FiveKopeck;    //    5 копеек
    double TenKopeck;     //    10 копеек
    double FiftyKopeck;   //    50 копеек
    double summ;
        public:
bool init( int o, int twoo, int f, int t, int ffy, int h, int FH, int OThs, int FThs, double OK, double FK, double TK, double FfyK )
 {
    if ( (o < 0) || (twoo < 0) || (five < 0) || (ten < 0) || (fifty < 0) || (hundread < 0) || (FiveHundread < 0) || (OneThousand < 0) || (FiveThousand < 0) || (OneKopeck < 0) || (FiveKopeck < 0) || (TenKopeck < 0) || (FiftyKopeck < 0))
        {
         cout<<"Аргументы должны быть больше 0!\n";
         return 1; //  неправильные агрументы - не инициализировать поля
        }
 
    else                // аргументы правильные инициализировать поля
    {
        one = o;
        two = twoo;
        five = f;
        ten = t;
        fifty = ffy;
        hundread = h;
        FiveHundread = FH;
        OneThousand = OThs;
        FiveThousand = FThs;
        OneKopeck = OK;
        FiveKopeck = FK;
        TenKopeck = TK;
        FiftyKopeck = FfyK;
        return 0;
    }
}
double TotalSumm()
{
    summ =  one * 1 + two * 2 + five * 5 + ten * 10 + fifty * 50 + hundread * 100 + FiveHundread * 500 + OneThousand * 1000 + FiveThousand * 5000 + OneKopeck / 100 + FiveKopeck * 5 / 100 + TenKopeck * 10 / 100 + FiftyKopeck * 50 / 100 ;
    return 0;
}
void read();
void display();
void add(Money &);
void sub(Money &);
 
 
};
void Money::read()
{
    int one, two, five, ten, fifty, hundread, FiveHundread, OneThousand, FiveThousand;
    double OneKopeck, FiveKopeck, TenKopeck, FiftyKopeck;
    do
    {
        cout<<"-------------------РУБЛИ--------------------"<<endl;
        cout<<"Введится количсетво купюр номиналом 1 рубль: "; cin>>one;
        cout<<"Введите количесвто купюр номиналом 2 рубля: "; cin>>two;
        cout<<"Введите количество купюр номиналом 5 рублей: "; cin>>five;
        cout<<"Введите количсетво купюр номиналом 10 рублей: "; cin>>ten;
        cout<<"Введите количество купюр номиналом 50 рублей: "; cin>>fifty;
        cout<<"Введите количество купбр номиналом 100 рублей: "; cin>>hundread;
        cout<<"Введите количество купюр номиналом 500 рублей: "; cin>>FiveHundread;
        cout<<"Введите количество купюр номиналом 1000 рублей: "; cin>>OneThousand;
        cout<<"Введите количество купюр номиналом 5000 рублей: "; cin>>FiveThousand;
        cout<<"------------------КОПЕЙКИ--------------------"<<endl;
        cout<<"Введите количество копеек номиналом 1: "; cin>>OneKopeck;
        cout<<"Введите количесвто копеек номиналом 5: "; cin>>FiveKopeck;
        cout<<"Введите количесвто копеек номиналом 10: "; cin>>TenKopeck;
        cout<<"Введите количество копеек номиналом 50: "; cin>>FiftyKopeck;
    } while (init(one, two, five, ten, fifty, hundread, FiveHundread, OneThousand, FiveThousand, OneKopeck, FiveKopeck, TenKopeck, FiftyKopeck)==1);
 
 
}
void Money::add(Money & a)
{
    one = one + a.one;
    two = two + a.two;
    five = five + a.five;
    ten = ten + a.ten;
    fifty = fifty + a.fifty;
    hundread = hundread + a.hundread;
    FiveHundread = FiveHundread + a.FiveHundread;
    OneThousand = OneThousand + a.OneThousand;
    FiveThousand = FiveThousand + a.FiveThousand;
    OneKopeck = OneKopeck + a.OneKopeck;
    FiveKopeck = FiveKopeck + a.FiveKopeck;
    TenKopeck = TenKopeck + a.TenKopeck;
    FiftyKopeck = FiftyKopeck + a.FiftyKopeck;
}
void Money::sub(Money & b)
{
    one = one - b.one;
    two = two - b.two;
    five = five - b.five;
    ten = ten - b.ten;
    fifty = fifty - b.fifty;
    hundread = hundread - b.hundread;
    FiveHundread = FiveHundread - b.FiveHundread;
    OneThousand = OneThousand - b.OneThousand;
    FiveThousand = FiveThousand - b.FiveThousand;
    OneKopeck = OneKopeck - b.OneKopeck;
    FiveKopeck = FiveKopeck - b.FiveKopeck;
    TenKopeck = TenKopeck - b.TenKopeck;
    FiftyKopeck = FiftyKopeck - b.FiftyKopeck;
}
void Money::display()
{   cout<<"---------------------------"<<endl;
    cout<<"Сумма по номиналам: "<<summ<<endl;
    cout<<"---------------------------"<<endl;
    cout<<"Сума купюр номиналом 1 рубль: "<< one << endl;
    cout<<"Сумма купюр номиналом 2 рублей: "<< two * 2 << endl;
    cout<<"Сумма купюр номиналом 5 рублей: "<< five * 5 << endl;
    cout<<"Сумма купюр номиналом 10 рублей: "<< ten * 10 << endl;
    cout<<"Сумма купюр номиналом 50 рублей: "<< fifty * 50 << endl;
    cout<<"Сумма купюр номиналом 100 рублей: "<< hundread * 100 << endl;
    cout<<"Сумма купюр номиналом 500 рублей: "<< FiveHundread * 500 << endl;
    cout<<"Сумма купюр номиналом 1000 рублей: "<< OneThousand * 1000 << endl;
    cout<<"Сумма купюр номиналом 5000 рублей: "<< FiveThousand * 5000 << endl;
    cout<<"Сумма копеек номиналом 1: "<< OneKopeck / 100 << endl;
    cout<<"Сумма копеек номиналом 5: "<< FiveKopeck * 5 / 100 << endl;
    cout<<"Сумма копеек номиналом 10: "<< TenKopeck * 10 / 100 << endl;
    cout<<"Сумма копеек номиналом 50: "<< FiftyKopeck * 50 / 100 << endl;
}
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Money a, b;
    cout<<"Ввод количества номиналов № 1: " << endl;
    a.read();
    a.TotalSumm();
    cout<<"---------------------------------------" << endl;
    cout<<"Ввод количества номиналов № 2: " << endl;
    b.read();
    b.TotalSumm();
    cout<<"---------------------------------------" << endl;
    cout<<"Вывод сумм и номиналов: " << endl;
    a.display();
    b.display();
    cout<<"----------------------------------------" << endl;
    cout<<"Сложение сумм: " << endl;
    a.add(b);
    a.TotalSumm();
    cout<<"-----------------------------------------" << endl;
    cout<<"Итог сложения сумм: " << endl;
    a.display();
    cout<<"Вычитание сумм: " << endl;
    a.sub(b);
    a.TotalSumm();
    cout<<"-----------------------------------------" << endl;
    cout<<"Итог вычитания: " << endl;
    a.display();
    system("pause");
        return 0;
}


Вернуться к обсуждению:
Происходит зацикливание C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2018, 14:46
Готовые ответы и решения:

Происходит зацикливание
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;windows.h&gt; #include &lt;list&gt; #include &lt;iterator&gt;...

Почему происходит зацикливание?
Напишите программу. содержащую цикл while, в котором считываются и выводятся на экран два числа...

Движение мыши: происходит зацикливание
Здравствуйте. Помогите разобраться, что не так. На входе координаты по x,y и скорость speed, курсор...

Происходит зацикливание при чтении файла
Доброго времени суток! Ниже находится код, который посимвольно читает файл, и записывает в другой...

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

Зацикливание
Помогите разобраться while (point &gt;= min &amp;&amp; point &lt;= max || prodal &gt;= min &amp;&amp; prodal &lt;= max) {...

Зацикливание
При выводе стека бесконечный вывод последнего элемента Stack&lt;Command&gt; cmds;...

Зацикливание
Вобщем, проверял уже 100 раз. Думаю причина в моем неумении работать с файлами. Почти все...

Зацикливание
Вообще не понимаю тему, но надо срочно сдать задачу. Вводится целое число Х (1 &lt;= X &lt;= 1000) ...

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