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

Структуры Вариант 18 Павловская Т. А. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
uto
 Аватар для uto
6 / 6 / 0
Регистрация: 07.05.2009
Сообщений: 94
07.05.2009, 12:20     Структуры Вариант 18 Павловская Т. А. #1
Ребята, срочно нужна помощь, осталось 4 лабы, и их надо решить до понедельника... Я как бы хочу сам изучить всё, но время поджимает, помогите, плиииз
Вот первая

1. Описать структуру с именем PRICE, содержащую следующие поля:
- название товара
- название магазина, в котором продается товар
- стоимость товара в руб
2. Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям товаров
- вывод на экран информации о товаре, название которого введено с клавиатуры
- если таких товаров нетЮ выдать на дисплей соответствующее сообщение
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
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <iostream.h>
#include <string.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
        struct PRICE {
                char name[15];
                char shop[15];
                char nshop[15];
                int price;
                };
 
    const int t_struck=3;
        PRICE struk[t_struck+1];
 
        for (int i=1; i<=3; i++) {
        cout << "The goods number " << i;            // Товар номер i
        cout << "\nEnter the name of the goods: ";    // Введите название товара
        cin >> struk[i].name;
        cout << "Enter the name of shop: ";            // Введите название магазина
        cin >> struk[i].shop;
        cout << "Enter cost of the goods: ";        // Введите стоимость товара
        cin >> struk[i].price;
        }
 
    bool g=false;
        char nshop[15];
            cout << "\nEnter the name of shop: ";
            cin >> nshop;
 
                for (int i=1; i<=3; i++) {
                    if (nshop==struk[i].shop)    {
                        cout << "\nname of goods: " << struk[i].name << "\ncost of goods: "  << struk[i].price;
                        g=true;
                    }
                }
 
                if (!g) {
                    cout << "\nSuch shop no!";
                }
 
        getch();
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.05.2009, 15:08     Структуры Вариант 18 Павловская Т. А. #2
А что писать то? Ты вроде сам решил.

Добавлено через 5 минут 23 секунды
Если ничего не путаю, то надо так в 39 строке
C++
1
if (*nshop==*struk[i].shop)
Добавлено через 11 минут 15 секунд
Точно, не путаю
uto
 Аватар для uto
6 / 6 / 0
Регистрация: 07.05.2009
Сообщений: 94
07.05.2009, 15:29  [ТС]     Структуры Вариант 18 Павловская Т. А. #3
kazak, а почему именно со звездами? Все заработало, но я не понимаю, объясни, пожалуйста, будь так добр
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.05.2009, 15:44     Структуры Вариант 18 Павловская Т. А. #4
По сути имя массива это указатель на его первый элемент, т.е. он содержит адрес в области памяти, где находится первый элемент. А чтобы тебе получить соодержимое на которое указывает указатель, тебе надо его сначала разименовать, это как раз и делает запись *<указатель>. Поэтому nshop==struk[i].shop - это сравнение двух адресов, а они естественно будут разными, а *nshop==*struk[i].shop - сравнение содержимого на которые указывают nshop и struk[i].shop
uto
 Аватар для uto
6 / 6 / 0
Регистрация: 07.05.2009
Сообщений: 94
07.05.2009, 15:50  [ТС]     Структуры Вариант 18 Павловская Т. А. #5
kazak, не совсем понял, если можешь, посоветуй какую я тему упустил, чтобы я ее прочитал на досуге =)
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.05.2009, 15:58     Структуры Вариант 18 Павловская Т. А. #6
Тема так и называется "Указатели"

Добавлено через 3 минуты 59 секунд
А книжку могу посоветовать Х.Дейтел "Как программировать на С++".
Angpuxa
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 73
28.03.2012, 21:56     Структуры Вариант 18 Павловская Т. А. #7
А можно скриншот работы этой программы?
Angpuxa
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 73
29.03.2012, 22:55     Структуры Вариант 18 Павловская Т. А. #8
пожалуйста, покажите скриншот этой программы, ато ни как не пойму логики. Какие магазины и товары надо вв...?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 21:43     Структуры Вариант 18 Павловская Т. А.
Еще ссылки по теме:

Лабораторная работа по С++ Павловская C++
C++ Правильно ли я написал программу? Из книжки Павловская Щупак
Вычислить и вывести на экран в виде таблицы значения функции F на интервале (Павловская) C++

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

Или воспользуйтесь поиском по форуму:
Angpuxa
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 73
31.03.2012, 21:43     Структуры Вариант 18 Павловская Т. А. #9
Еще раз прошу, покажите, пожалуйста, скриншот этой программы
Yandex
Объявления
31.03.2012, 21:43     Структуры Вариант 18 Павловская Т. А.
Ответ Создать тему
Опции темы

Текущее время: 07:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru