Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Показать сообщение отдельно
RamzezUA
1 / 1 / 0
Регистрация: 18.09.2014
Сообщений: 55
Завершенные тесты: 1

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

21.07.2016, 21:24. Просмотров 167. Ответов 1
Метки (Все метки)

Почему в не которых функциях к елементам структуры обращаются *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";
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.