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

структуры !!!

25.05.2011, 12:14. Показов 8355. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Описати структуру з ім’ям SKLAD, яка містить наступні поля:
- Name – Назва товару;
- Type – одиниця вимірювання:
- Quantity – кількість одиниць товару;
- Cost – ціна одиниці товару.
2. Написати програму, що використовує дану структуру і виконує наступні дії:
- вводить з клавіатури масив даних SHOP, що складається з N змінних типу SKLAD;
- Впорядковує записи по спаданню поля Name;
- Виводить на екран ціну та кількість товару, назва якого вводиться з клавіатури або виводить повідомлення про його відсутність.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2011, 12:14
Ответы с готовыми решениями:

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

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

Функция внутри структуры использует указатель, как поле этой структуры
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

6
25.05.2011, 12:20

Не по теме:

омг, ещё один неграмотный. мб при регистрации запрашивать пользователя - умеет ли он читать\

0
mashka2754
19.09.2011, 22:37
intmain, слушай,у меня к тебе просьба,ты мне не мог бы кинуть в лс эту же программу?У меня точь в точь а решить не могу..Если у тебя есть решение,пожалуйста скинь.Заранее спасибо.
программист С++
 Аватар для sandye51
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
19.09.2011, 22:59
mashka2754, может просто по-русски задание напишешь?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2011, 10:30
Цитата Сообщение от intmain Посмотреть сообщение
1. Описати структуру з ім’ям SKLAD, яка містить наступні поля:
- Name – Назва товару;
- Type – одиниця вимірювання:
- Quantity – кількість одиниць товару;
- Cost – ціна одиниці товару.
2. Написати програму, що використовує дану структуру і виконує наступні дії:
- вводить з клавіатури масив даних SHOP, що складається з N змінних типу SKLAD;
- Впорядковує записи по спаданню поля Name;
- Виводить на екран ціну та кількість товару, назва якого вводиться з клавіатури або виводить повідомлення про його відсутність.
Вот на страрых плюсах (когда писал проект пытался обеспечить поддержку даже Борланда - алгоритм работает и в нём). Кто хочет на новых ++ пишем так
C++
1
2
3
#include <iostream>
#include <conio.h>
using namecpase std;
+ в програме std::cout(cin)
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
#include <iostream.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
 
//Руссификация
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
 
struct SKLAD
{
    char Name[64];
    char Type[8];
    long Quantity;
    float Cost;
};
//Вывод полей структуры SKLAD
void OutStruct(SKLAD pSKLAD)
{
    cout<<"Name : "    <<pSKLAD.Name<<"\r\n";
    cout<<"Type : "    <<pSKLAD.Type<<"\r\n";
    cout<<"Quantity : "<<pSKLAD.Quantity<<"\r\n";
    cout<<"Cost : "    <<pSKLAD.Cost<<"\r\n";
}
 
long SearchName(long n, SKLAD * lpSKLAD, char * sFind)
{
    long index = -1;//Считаем что в списке нет товара
    for(long i = 0; i < n; i++)
    {
        index = i;
        if(strstr(lpSKLAD[i].Name,sFind))
            break;
    }
    //Если прошли весь цикл без break товара в списке нет
    if(index == n)
        index = -1;
    return index;
}
 
int main()
{
    SKLAD * SHOP;
    SKLAD BUFER;
    long i,j,N;
    do
    {
        cout<<"Введите число товаров N: ";
        cin>>N;
        SHOP = new SKLAD[N*sizeof(SKLAD)];
        cout<<"\tВвод товаров\r\n";
        for(i = 0; i < N; i++)
        {
            cout<<"Товар # "<<i + 1<<"\r\n";
            cout<<"Name : ";cin>>SHOP[i].Name;
            cout<<"Type : ";cin>>SHOP[i].Type;
            cout<<"Quantity : ";cin>>SHOP[i].Quantity;
            cout<<"Cost : ";cin>>SHOP[i].Cost;
        }
        cout<<"\tСортировка(по возрастанию) списка товаров по Name\r\n";
        for(i = 0; i < N; i++)
        {
            for(j = i + 1; j < N; j++)
            if(SHOP[j].Name[0] < SHOP[i].Name[0])
            {
                BUFER   = SHOP[j];
                SHOP[j] = SHOP[i];
                SHOP[i] = BUFER;
            }
            cout<<"Товар # "<<i + 1<<"\r\n";
            OutStruct(SHOP[i]);
        }
        do
        {
            cout<<"\tПоиск товара\r\n";
            cout<<"Find Name : ";cin>>BUFER.Name;
            if(0 < (j = SearchName(N, SHOP,BUFER.Name)))
            {
                cout<<"Товар найден\r\n";
                OutStruct(SHOP[j]);
            }
            else
                cout<<"Товар не найден\r\n";
            cout<<"Нажмите F для продолжения поиска\r\n";
        }
        while(toupper(getch()) == 'F');
        
        delete [] SHOP;
        cout<<"Нажмите Y для нового ввода\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
Результат работы
Введите число товаров N: 3
Ввод товаров
Товар # 1
Name : Dini
Type : kg
Quantity : 1800
Cost : 4.2
Товар # 2
Name : Arbyzi
Type : kg
Quantity : 2500
Cost : 1.2
Товар # 3
Name : Vinograd
Type : yashiki
Quantity : 200
Cost : 80.5
Сортировка(по возрастанию) списка товаров по Name
Товар # 1
Name : Arbyzi
Type : kg
Quantity : 2500
Cost : 1.2
Товар # 2
Name : Dini
Type : kg
Quantity : 1800
Cost : 4.2
Товар # 3
Name : Vinograd
Type : yashiki
Quantity : 200
Cost : 80.5
Поиск товара
Find Name : Dini
Товар найден
Name : Dini
Type : kg
Quantity : 1800
Cost : 4.2
Нажмите F для продолжения поиска
Нажмите Y для нового ввода
Press any key to continue


PS:Для руссификации ввёл перегрузку оператора вывода, но ввод только латиницей Чтобы был и русский ввод нужно перегрузить >> или использовать OemToChar (в Борланде к сожалению её нет). Перегрузку ввода я предлагаю уже осуществить самостоятельно...
0
 Аватар для Serejke_qq
199 / 142 / 57
Регистрация: 06.07.2011
Сообщений: 300
20.09.2011, 16:03
-=ЮрА=-, опечаточка :
using namespace std;
поправьте
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2011, 16:16
Serejke_qq, спасибо знаю, утром с топиками аврал иногда набиваю код напрямую в редакторе форума, так что не углядел, думаю кто хоть маломальски знает плюсы понял о чём речь велась
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Кто хочет на новых ++ пишем так
Код C++
#include <iostream>
#include <conio.h>
using namecpase std;
В любом случае приведенный в топике код рабочий
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.09.2011, 16:16
Помогаю со студенческими работами здесь

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры)
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

Вывод структуры, строка как элемент структуры
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время...

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла?
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen (&quot;file.txt&quot;, &quot;w&quot;); в переменной f...

Оператор if и структуры. Возвращение структуры из функции
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { StructEmployee UsrStruct; string...

Структуры. Работа с файлами, содержащими структуры
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и инициалы автора – 25 знаков; название книги –...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru