Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58

Не выводятся

27.05.2020, 22:17. Показов 690. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.В программе,выполняя действия 1 - 1 - 1(Каталог - Показать ассортимент товара - Всё),должны считываться и выводиться данные на экран.Если отслеживать каждый шаг в Visual Studio - на цикле for уже происходит какая-та ошибка.

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2020, 22:17
Ответы с готовыми решениями:

не выводятся значения
Мне нужно чтобы значения выводились для построения графика зависимости координаты от времени, выдает ошибку П.5.18.Правил Запрещено...

Выводятся не те значения
Доброго времени суток. В моем простом коде выводится не то значение, которое я ожидаю. Точнее, число должно повышать разряд(10, 100...),...

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

13
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
28.05.2020, 12:38
Icaab, приведите код текстом!
0
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
01.06.2020, 11:02  [ТС]
Как скажите.

Первый и главный файл программы:
C++ (Qt)
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
//Подключаем все необходимые библиотеки,структуры и прототипы функций
#include "Course.h"
 
 
/* Разработка приложения «Магазин» с
использованием файла типа структура
на языке программирования С++ */
 
int main()
{
    //Русификация
    SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода (CP_UTF8)
    SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
 
    //Важные переменные:
    int AmountofData = 0; //Указывает количество данных
    string filename; //Название файла
 
    //Массив данных(динамический: перед указателем D стоит оператор *)
    Information* I = new Information[AmountofData]; //Структура Information задействована в массиве
    //Инициализируем массив с данными,количество которых = 0.
    ///Поскольку динамическое распределение памяти - необходимо инициализировать этот массив 
    //и поэтому у нас есть указатель d.При инициализации он должен показывать куда-нибудь,даже на 0 байт,
    //за счет чего будет указывать на определенное место и в случае выделения памяти - это место будет
    //являться началом нашего массива.Поэтому необходимо его инициализировать хоть с данными,
    //количество которых равно нулю.
 
    bool bExit = false;
    int MENU;
 
    //Описание сайта
 
    cout << "Сайт FotoShop.info\nНа нашем сайте представлен товар по фото и видео технике с техническими" << endl
        << "характеристиками и ценами, который мы реализуем в г. Ставрополе и всей России.\n" << endl;
 
 
    while (true) {
 
        cout << "\nГлавная страница" << endl
            << "1 - Каталог" << endl
            << "2 - Инфорация" << endl
            << "3 - Контакты" << endl
            << "0 - Выход из магазина\n" << endl;
 
 
        cin >> MENU;
 
 
        switch (MENU)
        {
        case 1:
            system("cls");
            cout << "1 - Показать ассортимент товара" << endl
                << "2 - Применить поиск по фильтру" << endl
                << "3 - Вернуться назад\n" << endl;
 
            int Product;
            cin >> Product;
 
            switch (Product)
            {
            case 1:
                system("cls");
                cout << "1 - Всё" << endl
                    << "2 - Новинки" << endl
                    << "3 - Лидеры продаж" << endl
                    << "4 - Скидки" << endl;
 
 
                int Show;
                cin >> Show;
 
                switch (Show)
                { ///Для записи в файл ofstream
                case 1:
                    //Отсылаемся к функции в Functions.cpp
                    ReadFile(I, AmountofData, "Product Display.txt"); ///Вывел отдельно
                    ///OutputFile(I, AmountofData);
                    
                    /*cout << "\n1 - Написать название товара,чтоб добавить в корзину" << endl
                        << "2 - Просмотр корзины" << endl; */
 
                    system("pause"); //задержка консоли
                    system("cls"); //очистка консоли
                    continue;
 
                case 2:
                    
                    continue;
                case 3:
                    continue;
                case 4:
                    continue;
 
 
                }
 
 
            case 2:
                system("cls");
                cout << "Фильтровать по:" << endl
                    << "1 - По виду товара" << endl
                    << "2 - По имени" << endl;
 
                int Filter;
                cin >> Filter;
 
 
 
 
            case 3:
                system("cls");
                bExit = true;
                continue; //можно чисто continue
 
            default:
                cout << "Неизвестное действие" << endl;
 
            }
 
 
        case 2:
            cout << "\n1 - Расписание" << endl
                << "2 - Оплата" << endl
                << "3 - Доставка" << endl
                << "4 - Гарантия" << endl
                << "5 - Выход из этого раздела\n" << endl;
 
 
            int Inf;
            cin >> Inf;
 
 
            switch (Inf)
            {
            case 1:
                system("cls");
                cout << "\nБудние дни 10:00 - 18:00" << endl
                    << "Суббота 10:00 - 18:00" << endl
                    << "Воскресенье  - 10:00 - 17:00" << endl;
 
                continue;
 
            case 2:
                system("cls"); /// Очистка экрана
                cout << "\nОплата наличными" << endl
                    << "В случае самовывоза оплата товаров производится на кассе фотомагазина." << endl
                    << "Если товар доставляется курьером, то оплата осуществляется наличными курьеру в руки." << endl
                    << "При получении товара обязательно проверьте комплектацию товара, наличие гарантийного талона и чека.\n" << endl
                    << "Оплата банковской картой" << endl
                    << "Для выбора оплаты товара с помощью банковской карты на соответствующей странице необходимо нажать кнопку" << endl
                    << "ОПЛАТА ЗАКАЗА БАНКОВСКОЙ КАРТОЙ." << endl
                    << "Оплата происходит через ПАО СБЕРБАНК с использованием банковских карт следующих платёжных систем:" << endl
                    << "VISA International Service Association" << endl
                    << "Национальная система платежных карт Мир" << endl
                    << "Mastercard" << endl
                    << "American Express" << endl
                    << "Яндекс.Деньги" << endl
                    << "Qiwi\n" << endl;
 
                continue;
            case 3:
                system("cls");
                cout << "\nПо городу Ставрополю доставка 100 p." << endl
                    << "По РФ доставка через СДЭК  на слудующий после оплаты день." << endl
                    << "Пункты выдачи в вашем городе уточняем !\n" << endl;
 
                continue;
 
            case 4:
                system("cls");
                cout << "Арантийный срок на продукцию установлен производителем : на canon, nikon, sony- два года." << endl
                    << "На продукцию от viltrox, godox, boya, fb tech- один год. На обьективы tamron-5лет ! При регистрации на сайте tamron.ru." << endl
                    << "Фототехника и студийное оборудование не входит в перечень товаров надлежащего качества, подлежащих обязательному возврату, обмену." << endl
                    << "Вся продаваемая продукция находится в заводской упаковке (нет витринных образцов)." << endl;
 
                continue;
            case 5:
                bExit = true;
                continue; //можно чисто continue
 
            default:
                cout << "Неизвестное действие" << endl;
 
            }
 
 
 
        case 3:
            system("cls");
            cout << "\nг. Ставрополь, ул. 45 параллель, 2" << endl
                << "Тел. +7 982 442 2349" << endl
                << "Whatsapp +7 982 442 2349" << endl
                << "E-mail: FotoShop@mail.ru\n" << endl;
            break;
 
        case 0:
            exit(1); //Выход из программы ,но можно и просто break
 
        default:
            cout << "Неизвестное действие" << endl;
        }
 
 
    }
 
    system("pause");
 
    return 0;
 
}
Второй файл - хейдер:
C++ (Qt)
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
#pragma once
//Для ввода и вывода
#include <iostream>
#include <iomanip>
//Для работы с функциями system
#include <Windows.h>
// Для закрытия программы
#include <cstdlib> 
/// для system clear
#include <stdlib.h> 
///Для работы со string
#include <string.h>
///Для работы с отдельными файлами(открытие)
#include <fstream>
 
//Стандартное пространство имен
using namespace std;
 
 
 
 
struct Name
{
    string
        Manufacturer, 
        Model;
};
 
 
//Характеристики
struct Features
{
    
    string Feature;
    char Cost;
    string  Availability; //Характеристики и наличие
};
 
 
//Общая структура данных
struct Information
{
    Name _name;
    Features _features;
};
 
 
///МЕТОДЫ
void ReadFile(Information* (&I), int& n, string filename);
void OutputFile(Information* I, int n);
Третий файл с методами:
C++ (Qt)
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
//Реализация необходимых функций
 
 
#include "Course.h"
 
 
 
//ВВОД ИЗ ФАЙЛА
//Приходит ссылка на массив,количество элементов и НАЗВАНИЕ ФАЙЛА
 
/*
void ReadFile(Information* (&I), int& n, string filename)
{
 
    //Создаем поток для чтения файла
    ifstream reading(filename);
 
    if (reading) //Если открылся
    {
        cout << "Открыто" << endl;
 
        reading >> n; //Считываем количество элементов
 
        I = new Information[n]; //Выделяем память в нашем массиве
 
        for (int i = 0; i < n; i++) //Считываем в цикле нужные данные
        {
            //Каждый вид данных по отдельности считываем
            reading >> I[i]._name.Manufacturer;
            reading >> I[i]._name.Model;
 
            reading >> I[i]._features.Feature;
            reading >> I[i]._features.Cost;
            reading >> I[i]._features.Availability;
            
        }
        
    }
    else { cout << "Ошибка открытия файла!" << endl; }
 
    reading.close(); //Закрытие файла для освобождения памяти
 
}
*/
 
void ReadFile(Information* (&I), int& n, string filename)
{
 
    ifstream file(filename);
 
    file >> n;
 
    I = new Information[n];
 
    for (int i = 0; i < n; i++) {
        file >> I[i]._name.Manufacturer >> I[i]._name.Model;
        file >> I[i]._features.Feature >> I[i]._features.Cost >> I[i]._features.Availability;
    }
    OutputFile;
    file.close();
}
 
 
///КАК БУДЕТ ВЫВОДИТЬСЯ ФАЙЛ
void OutputFile(Information* I, int n)
{
 
    for (int i = 0; i < n; i++) //Пробегаемся по всем элементам в цикле
    {
        cout << "№" << i + 1 << ":" << endl;
 
        cout << "Полное наименование: " << I[i]._name.Manufacturer << "" << I[i]._name.Model << endl;
        cout << "Характеристики: " << I[i]._features.Feature << I[i]._features.Cost << I[i]._features.Availability << endl;
 
        cout << "_______________________" << endl;
    }
 
}
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.06.2020, 15:10
Icaab, приведите файлик Product Display.txt
Хотя бы несколько строк

Добавлено через 1 минуту
Уже есть одна ошибка: в файле Course.cpp, в функции ReadFile() исправьте вызов:
C++
59
OutputFile(I, n);
Добавлено через 1 минуту
Цитата Сообщение от Icaab Посмотреть сообщение
на цикле for уже происходит какая-та ошибка
О каком конкретно цикле идет речь?

Добавлено через 16 минут
Написал тестовый файлик:
Code
1
2
3
2
Man1 name1 feature1 A yes
Man2 name2 feature2 A yes
И с исправленной ошибкой все работает
0
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
01.06.2020, 16:05  [ТС]
Да,забыл про него:

Code
1
2
3
4
5
6
7
Sony XQD_120Gb 440/400Mb 18000.00 В_наличии
 
SanDisk CompactFlash64Gb Extrim.120Mb/s 3850 В_наличии
 
SanDisk SD-XC_64Gb Extrim_Plus.U3.90Mb/s 2550 Нет_в_наличии
 
SanDisk SD-HC_32Gb Extrim_Pro.95Mb/s 1990 В_наличии
Добавлено через 1 минуту
О,хорошо.Я сейчас попробую.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.06.2020, 16:21
Icaab, поле cost - char, а не double. Туда не поместятся не только 18000.00, но и 3850 и другие
Если надо int, то первое значение надо сделать целым, т.е. 18000

Добавлено через 4 минуты
Пустые строки убрать. В начале должно быть число - количество записей. В данном случае, 4

Добавлено через 5 минут
Впрочем, пустые строки не мешают Можно оставить...

Добавлено через 1 минуту
Icaab, как успехи?
1
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
01.06.2020, 16:22  [ТС]
Исправил вызов output и cost(на double) и для простоты использовал данные вашего текста,но программа ничего не выдает:
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.06.2020, 16:47
Icaab, по шагам в отладчике?

Добавлено через 1 минуту
Кстати, если Cost - double, то мой файлик не годится, надо исправить А на какое-то число

Добавлено через 3 минуты
Как вариант, не находится файлик. Он должен быть в одной папке с exe-шниклм

Добавлено через 47 секунд
Или в папке, где исходные файлы программы, это если запускать из среды

Добавлено через 17 минут
Icaab, как там?
0
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
01.06.2020, 19:38  [ТС]
У меня и раньше отладчик такие ошибки выдавал:



Файл с текстом находится в папке с проектом(если файл отсутствует - мне программа в else выдает об этом информацию).Может я в нем неправильно что-то пишу,хотя я разный текст испробовал уже.
Code
1
2
3
4
5
6
7
Sony XQD_120Gb 440/400Mb 18000 В_наличии
 
SanDisk CompactFlash64Gb Extrim.120Mb/s 3850 В_наличии
 
SanDisk SD-XC_64Gb Extrim_Plus.U3.90Mb/s 2550 Нет_в_наличии
 
SanDisk SD-HC_32Gb Extrim_Pro.95Mb/s 1990 В_наличии
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.06.2020, 20:51
Icaab, я уже говорил раньше, первой строкой надо прописать количество строк, т.е. 4
1
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
02.06.2020, 15:00  [ТС]
Ничего себе,заработало!
Большое вам спасибо!!

А я могу у вас ещё несколько моментов уточнить,но уже не по выводу данных?(так же связано с моей программой и есть,на чем показать,что меня волнует)
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
02.06.2020, 15:18
Icaab, если по этой программе, то задавай
0
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
02.06.2020, 23:39  [ТС]
Разобрался уже с одним моментом.Вопрос теперь такой:
У меня в программе с одного внешнего файла(выбор товара) идет запись в другой(корзину).Это все работает,но когда я хочу вывести добавленные товары во втором текстовике - получаю проблему с данными,что на первой консоли сверху:

Вывод у меня прописан так же и ошибок быть не должно.Думаю все кроется в структуре,что в файле functions.h:у меня в первом файле с текстом идут иногда виды товара буквами ,что выводится благодаря string,а во второй файл у меня пишется номер выбранного элемента вместо вида при записи:

Думаю что проще будет убрать эти номера и не записывать их в корзину с покупками,только код не совсем мой и собран из разных и не очень понятно,что убрать в методе "добавление товара в корзину":

C++ (Qt)
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
void RecordInBasket(Information* I, int n, string filename)
{
 
    //Просим ввести номер,который добавим.
    int _n;
    cout << "\nВведите номер элемента (от 1 до " << n << "): ";
    cin >> _n;
    
    if (_n >= 0 && _n < n) //Проверка,что введено верное значение
    {
        //Создаем поток для записи
        ofstream Record(filename, ios::app);
 
        if (Record)
        {
            Record << _n << endl;
 
            for (int i = 0; i < n; i++)
            {
                if (i != _n){} //Для ограничения и записи определенного номера
 
                else
                {
 
                    Record << I[i]._name.Manufacturer << endl;
                    Record << I[i]._name.Model << endl;
                    Record << I[i]._features.Feature << endl;
                    Record << I[i]._features.Cost << endl;
                    
                    //При том он проверяет :если элемент не  последний
                    //будет делать отступ на следующюю строчку.
                    //Если последний ,то не будет делать.
                    if (i < n - 1)
                        Record << I[i]._features.Availability << endl;
                    else
                        Record << I[i]._features.Availability;
                }
            }
        }
        else { cout << "Ошибка открытия файла" << endl; }
        system("cls");
        Record.close();
    }
    else cout << "Неверно введен номер" << endl;
 
    
}
Не знаю:достаточно ли будет информации для выявления ошибки.
0
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 58
03.06.2020, 22:57  [ТС]
И ещё одна проблема:мне необходимо сделать поиск товара в первом внешнем файле.Для примера возьму производителя.
Пишу в главном файле следующий текст:

C++
1
2
3
4
char Manufacturer; //Для осуществления поиска вводим новую переменную
                            cout << "Введите производителя\n";
                            cin >> Manufacturer;
                            SearchM(I, AmountofData, Manufacturer);
В хейдаре:
C++
1
void SearchM(Information* I, int n, char Manufacturer);
В файле методов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void SearchM(Information* I, int n, char Manufacturer)
{
 
        for (int i = 0; i < n; i++)
        {
            if (_stricmp(Manufacturer, I[i]._name.Manufacturer) == 0)
            {
                cout << "№" << i + 1 << ":" << endl;
                cout << "Полное наименование: " << I[i]._name.View << I[i]._name.Manufacturer << "" << I[i]._name.Model << endl;
                cout << "Характеристики: " << I[i]._features.Feature << I[i]._features.Cost << I[i]._features.Availability << endl;
                cout << "_______________________" << endl;
            }
            else
                cout << "Такого производителя нет\n";
        }
}
Но где-то я ошибся скорее с обращением или написанием метода и выходит такая ошибка:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.06.2020, 22:57
Помогаю со студенческими работами здесь

Не выводятся
сервер отправляет мне Но я никак не могу их вывети на страницу. Мне нужно их пставить по порядку 1,2,3,4,5,6,7 Но...

Куки не выводятся
Создаю куки из данных формы setcookie('login', $_POST, time()+3600,'/','vetkrs.ru' ); setcookie('password', $_POST,...

Не выводятся данные
Есть форма-опросник, для сайта. Люди заходят, заполняют и данные (в основном это radiobuttons) записываются в БД. Все это работает. В коде...

Не выводятся теги из БД
Есть сайт, надо, чтобы HTML теги выводились из БД как надо, а не как просто текст. На Хабре нашёл : @Html.Raw(item.Body) Как это...

Не выводятся данные
&lt;?php include (&quot;blocks/db.php&quot;);?&gt; &lt;!DOCTYPE HTML &gt; &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt; &lt;head&gt; &lt;meta...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru