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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dor
1 / 1 / 0
Регистрация: 23.01.2015
Сообщений: 80
#1

Структуры: информация о CD-дисках (исполнитель, название, длительность звучания, стоимость) - C++

15.06.2015, 11:56. Просмотров 332. Ответов 4
Метки нет (Все метки)

реализуйте программу для решения следующей задачи:
вводится информация о CD(DVD)- дисках: исполнитель,название,длительность звучания,стоимость. Требуется: вывести информацию о трех самых дорогих дисках

Добавлено через 57 минут
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
#include<iostream>
#include<Windows.h>
#include<stdio.h>
#include <sstream>
#include <conio.h>
#include <stdio.h>
#include <fstream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
}
 
struct disk{
    char ispolnitel[20];
    char name[20];
    int dlitelnost;
    int stoimost;
    disk *next; // Указатель на следующую структуру
}*head, *p; // Указатели на первый элемент и саму структуру
void init() // Инициализация 
{
    head = NULL;
}
void add_()//добавление 
{
    p = new disk;
    cout << "исполнитель" << endl;
    cin >> p->ispolnitel;
    cout << "название" << endl;
    cin >> p->name;
    cout << "длительность звучания" << endl;
    cin >> p->dlitelnost;
    cout << "стоимость" << endl;
    cin >> p->stoimost;
    cout << endl;
    p->next = head;
    head = p;
}
 
void print()
{
    cout << endl;
    p = head;
    if (!p) cout << "список пуст" << endl;
    while (p != NULL)
    {
        cout << p->ispolnitel << "  " << p->name << "  " << p->dlitelnost << "  " << p->stoimost << "  " << endl;
        p = p->next;
        cout << endl;
    }
}
void del()
{
    disk* p;
    p = head;
    head = p->next;
 
}
void dispose()
{
 
    p = head;
    while (p != NULL) {
        head = p->next;
        //free(p);
        p = head;
        system("pause");
    }
}
дальше я не знаю как реализовать,помогите
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2015, 11:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Структуры: информация о CD-дисках (исполнитель, название, длительность звучания, стоимость) (C++):

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Поле first - целое число, длительность телефонного разговора в минутах; поле second - дробное число, стоимость одной минуты в гривнах - C++
Поле first - целое число, длительность телефонного разговора в минутах; поле second - дробное число, стоимость одной минуты в гривнах....

Как из mp3-файла прочитать длительность звучания в виде числа секунд? - PHP
Здравствуйте. Мне уже приходилось иметь дело со скриптом, читающим из МП3-файла метаданные - название, альбом, жанр, исполнитель, (чуть ли...

Создать класс трек (наименование, исполнитель, альбом, длительность, рейтинг, размер файла, путь к файлу) - C#
Всем доброго времени суток, совсем не шарю в классах на C#, НУЖНА ПОМОЩЬ. Создать класс трек (наименование, исполнитель, альбом,...

Информация о дисках - Assembler
Здравствуйте Уважаемые Форумчане.Есть одна проблема.Задали написать программу вывода информации о дисках с пользовательским...

Не отображается информация к файлам мультимедиа (исполнитель, жанр т.д.) - Windows XP
Не отображается информация к файлам мультимедиа (исполнитель, жанр, качество звука и т.д.) в папках, в свойствах файлов. Скрин прилагаю. ...

4
LegchylinIlya
20 / 20 / 15
Регистрация: 22.05.2015
Сообщений: 55
15.06.2015, 12:22 #2
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
#include <iostream>
using namespace std;
 
struct DISK
{
    char artist[50];
    char title[50];
    char playing_time[50];
    int cost;
} p;
 
void main()
{
    setlocale(LC_ALL,"Russian");
    bool flag = false;
    int choice, x = 1, n;
    cout << "Сколько записей вы плнируете добавить: ";
    cin >> n;
    DISK *mass=new DISK[n];
    do
    {
        if(flag == false) cout << "1 - Ввести информацию о дисках\n";
        if(flag == true) cout << "1 - Перезаписать информацию о дисках\n";
        if(flag == true)
        {
            cout << "2 - Вывести список дисков без изменений\n";
            cout << "3 - Вывести информацию о трех самых дорогих дисках\n";
            x = 3;
        }
        cout << "0 - Выход\n";
        do
        {
            cout << "Ваш ответ: ";
            cin >> choice;
        } while (choice < 0 || choice > x);
        /*Первый пункт*/
        if(choice == 1)
        {
            for(int i=0;i<n;i++)
            {
                cout << "Введите исполнителя: ";
                fflush(stdin);
                gets(mass[i].artist);
                cout << "Введите название: ";
                fflush(stdin);
                gets(mass[i].title);
                cout << "Введите длительность звучания: ";
                fflush(stdin);
                gets(mass[i].playing_time);
                cout << "Введите стоимость: ";
                cin >> mass[i].cost;
            }
            flag = true;
        }
        /*Второй пункт*/
        if(choice == 2 && flag == true)
        {
            DISK *m=new DISK[n];
            for(int i(0);i<n;i++)
            {
                m[i] = mass[i];
            }
            for(int i=0;i<n;i++)
            {
                cout << "\nИсполнитель: ";
                puts(m[i].artist);
                cout << "Название: ";
                puts(m[i].title);
                cout << "Длительность звучания: ";
                puts(m[i].playing_time);
                cout << "Стоимость: ";
                cout << m[i].cost;
            }
        }
        /*Третий пункт*/
        if(choice == 3 && flag == true)
        {
            int tmp;
            char tmp_2[50], tmp_3[50], tmp_4[50];
            DISK *m=new DISK[n];
            for(int i(0);i<n;i++)
            {
                m[i] = mass[i];
            }
            for(int i=0;i<n-1;i++)
            {   
                for(int j=0;j<n-1;j++)
                {  
                    if (m[j+1].cost < m[j].cost) 
                    {
                        strcpy(tmp_2,m[j+1].artist);
                        strcpy(m[j+1].artist,m[j].artist);
                        strcpy(m[j].artist,tmp_2);
 
                        strcpy(tmp_3,m[j+1].title);
                        strcpy(m[j+1].title,m[j].title);
                        strcpy(m[j].title,tmp_3);
 
                        strcpy(tmp_4,m[j+1].playing_time);
                        strcpy(m[j+1].playing_time,m[j].playing_time);
                        strcpy(m[j].playing_time,tmp_4);
 
                        tmp = m[j+1].cost; 
                        m[j+1].cost = m[j].cost; 
                        m[j].cost = tmp;
                    }
                }
            }
            for(int i=0;i<3;i++)
            {
                cout << "\nИсполнитель: ";
                puts(m[i].artist);
                cout << "Название: ";
                puts(m[i].title);
                cout << "Длительность звучания: ";
                puts(m[i].playing_time);
                cout << "Стоимость: ";
                cout << m[i].cost;
            }
        }
        cout << "\n";
    } while(choice != 0);
    system("pause");
}
1
Dor
1 / 1 / 0
Регистрация: 23.01.2015
Сообщений: 80
15.06.2015, 12:59  [ТС] #3
Ошибка 1 error C4996: 'gets': This function or variable may be unsafe. Consider using gets_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\андрей\documents\visual studio 2013\projects\программа на экзамен\программа на экзамен\исходный код.cpp 47 1 программа на экзамен
это что?
0
LegchylinIlya
20 / 20 / 15
Регистрация: 22.05.2015
Сообщений: 55
15.06.2015, 13:14 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Попробуйте так:

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
#include <iostream>
using namespace std;
 
struct DISK
{
    char artist[50];
    char title[50];
    char playing_time[50];
    int cost;
} p;
 
void main()
{
    setlocale(LC_ALL,"Russian");
    bool flag = false;
    int choice, x = 1, n;
    cout << "Сколько записей вы плнируете добавить: ";
    cin >> n;
    DISK *mass=new DISK[n];
    do
    {
        if(flag == false) cout << "1 - Ввести информацию о дисках\n";
        if(flag == true) cout << "1 - Перезаписать информацию о дисках\n";
        if(flag == true)
        {
            cout << "2 - Вывести список дисков без изменений\n";
            cout << "3 - Вывести информацию о трех самых дорогих дисках\n";
            x = 3;
        }
        cout << "0 - Выход\n";
        do
        {
            cout << "Ваш ответ: ";
            cin >> choice;
        } while (choice < 0 || choice > x);
        /*Первый пункт*/
        if(choice == 1)
        {
            for(int i=0;i<n;i++)
            {
                cout << "Введите исполнителя: ";
                fflush(stdin);
                gets_s(mass[i].artist);
                cout << "Введите название: ";
                fflush(stdin);
                gets_s(mass[i].title);
                cout << "Введите длительность звучания: ";
                fflush(stdin);
                gets_s(mass[i].playing_time);
                cout << "Введите стоимость: ";
                cin >> mass[i].cost;
            }
            flag = true;
        }
        /*Второй пункт*/
        if(choice == 2 && flag == true)
        {
            DISK *m=new DISK[n];
            for(int i(0);i<n;i++)
            {
                m[i] = mass[i];
            }
            for(int i=0;i<n;i++)
            {
                cout << "\nИсполнитель: ";
                puts(m[i].artist);
                cout << "Название: ";
                puts(m[i].title);
                cout << "Длительность звучания: ";
                puts(m[i].playing_time);
                cout << "Стоимость: ";
                cout << m[i].cost;
            }
        }
        /*Третий пункт*/
        if(choice == 3 && flag == true)
        {
            int tmp;
            char tmp_2[50], tmp_3[50], tmp_4[50];
            DISK *m=new DISK[n];
            for(int i(0);i<n;i++)
            {
                m[i] = mass[i];
            }
            for(int i=0;i<n-1;i++)
            {   
                for(int j=0;j<n-1;j++)
                {  
                    if (m[j+1].cost < m[j].cost) 
                    {
                        strcpy(tmp_2,m[j+1].artist);
                        strcpy(m[j+1].artist,m[j].artist);
                        strcpy(m[j].artist,tmp_2);
 
                        strcpy(tmp_3,m[j+1].title);
                        strcpy(m[j+1].title,m[j].title);
                        strcpy(m[j].title,tmp_3);
 
                        strcpy(tmp_4,m[j+1].playing_time);
                        strcpy(m[j+1].playing_time,m[j].playing_time);
                        strcpy(m[j].playing_time,tmp_4);
 
                        tmp = m[j+1].cost; 
                        m[j+1].cost = m[j].cost; 
                        m[j].cost = tmp;
                    }
                }
            }
            for(int i=0;i<3;i++)
            {
                cout << "\nИсполнитель: ";
                puts(m[i].artist);
                cout << "Название: ";
                puts(m[i].title);
                cout << "Длительность звучания: ";
                puts(m[i].playing_time);
                cout << "Стоимость: ";
                cout << m[i].cost;
            }
        }
        cout << "\n";
    } while(choice != 0);
    system("pause");
}
1
Dor
1 / 1 / 0
Регистрация: 23.01.2015
Сообщений: 80
15.06.2015, 13:52  [ТС] #5
а можете закомментировать,чтобы я объснил работу программы через код
0
15.06.2015, 13:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2015, 13:52
Привет! Вот еще темы с ответами:

Информация о логических дисках - Assembler
Всем привет.У меня проблемка возникла с функцией GetLogicalDriveStrings.Нужно вывести все логические диски,но программа выводит только...

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

Информация о дисках на удаленном компе - C#
Привет, всем! Подскажите пожалуйста, можно ли с помощью DriveInfo узнать информацию о дисках на удаленном компе?? А если нет, то можно ли...

Winapi информация о физических дисках - C++ WinAPI
Надо получить список всех физических дисков средствами winapi. Интерфейсы ATA/SATA/USB. Дело в том, что я не могу найти подходящий вариант...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru