Форум программистов, компьютерный форум CyberForum.ru

Обращение к массиву структур, почему именно так? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Автоматическое подключение библиотек http://www.cyberforum.ru/cpp-beginners/thread1783975.html
есть ли ide, в которых(при статической линковке) линкер подключает только нужное. или все и так это делают?
C++ Функция открывающая файл есть функция open() для создания/пересоздания нового файла. Я не нашел функции, которая ищет уже существующий файл и открывает его. Подскажите, пожалуйста) http://www.cyberforum.ru/cpp-beginners/thread1783891.html
C++ Создание Windows Service
Добрый день! Пытаюсь разобраться как писать вин сервисы, что это за зверь такой и зачем он вообще нужен) нашёл статью на Хабре https://habrahabr.ru/post/71533/ по аналогии как там написано пытался повторить что бы получить так же сервис который пишет в файл.. код ниже #include <QCoreApplication> #include <iostream> #include <Windows.h> #include <conio.h> #include <tchar.h> #include...
C++ Орел-решка, всегда одно и тоже значение
При компиляции каждый раз получаю ответ "Решка" #include <iostream> #include <cstdlib> using namespace std; int main() { setlocale(LC_CTYPE, "Russian"); int num = rand() % 2;
C++ Сравнение двумерного масива http://www.cyberforum.ru/cpp-beginners/thread1783867.html
Здравствуйте, помогите плиз понять что и где я делаю не так. Что мне надо? Что бы сравнивалось по строчно первый столбец со всеми первыми столбцами и если они одинаковые сравнивался второй столбец этой же строчки со всеми вторыми столбцами и если они одинаковые сравнивался третий столбец этой же строки со всеми третими столбцами и если они одинаковые выводило 1, 2 , 3, 4 столбец этой строки на...
C++ Найти наименьший элемент и наименьший элемент по модулю #include <iostream>; #include <ctime>; #include <cmath>; using namespace std; int main() { srand(time(NULL)); const int n=10; int myArray; подробнее

Показать сообщение отдельно
RamzezUA
1 / 1 / 0
Регистрация: 18.09.2014
Сообщений: 42
Завершенные тесты: 1
21.07.2016, 21:24     Обращение к массиву структур, почему именно так?
Почему в не которых функциях к елементам структуры обращаются *invtry[] , а в других просто invtry[]?
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
#include <stdafx.h>
#include <iostream>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <windows.h>
using namespace std;
 
const int SIZE = 150;
 
struct inv_type
{
    char item [40]; // наименование товара.
    double cost;    // стоимость. 
    double retail;  // розничная цена.
    int on_hand;    // имеющееся в наличии количество.
    int lead_time;  // число дней до пополнения запасов.
} invtry [SIZE];
 
void enter ();
void init_list ();
void display ();
void update ();
void input (int i);
int menu ();
 
int main ()
{
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    char choice;
 
    init_list ();
 
    for(;;) 
    {
        choice = menu ();
 
        switch (choice)
        {
        case 'e': 
            enter ();
            break;
 
        case 'd': 
            display ();
            break;
 
        case 'u': 
            update ();
            break;
 
        case 'q': 
            return 0;
        }
    }
}
 
// Инициализация массива структур.
void init_list ()
{
    int t;
    for (t = 0; t < SIZE; t++) 
        *invtry[t].item = '\0';
}
 
 
// Ввод элементов в инвентарную ведомость.
void enter ()
{
    int i;
 
    // находим первую свободную структуру.
    for(i = 0; i < SIZE; i++)
        if(!*invtry[i].item) break;
 
    // Если массив полон, значение i будет равно SIZE.
    if(i == SIZE)
    {
        cout << "Список полон.\n";
        return;
    }
 
    input(i);
}
 
// Ввод информации.
void input (int i)
{
    cout << "Товар: ";
    cin >> invtry[i].item;
 
    cout << "Стоимость: ";
    cin >> invtry[i].cost;
 
    cout << "Розничная цена: ";
    cin >> invtry[i].retail;
 
    cout << "В наличии: ";
    cin >> invtry[i].on_hand;
 
    cout << "Время до пополнения запасов (в днях): ";
    cin >> invtry[i].lead_time;
}
 
// Модификация существующего элемента.
void update ()
{
    int i;
    char name [80];
 
    cout << "введите наименование товара: ";
    cin >> name;
 
    for(i = 0; i < SIZE; i++)
        if(!strcmp (name, invtry[i].item) ) break;
 
    if(i == SIZE)
    {
        cout << "Товар не найден.\n";
        return;
    }
    cout << "Введите новую информацию:\n";
    input(i);
}
 
// Отображаем на экране инвентарной ведомости.
void display ()
{
    int t;
 
    for(t = 0; t < SIZE; t++)
    {
        if(*invtry[t].item)
        {
            cout << invtry[t].item << '\n';
            cout << "Стоимость: $" << invtry[t].cost;
            cout << "\nВ розницу: $";
            cout << invtry[t].retail << '\n';
            cout << "В наличии: " << invtry[t].on_hand;
            cout << "\nДо пополнения осталось: ";
            cout << invtry[t].lead_time << " дней\n\n";
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru