Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Grandy
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 29
#1

Напишите программу, которая создает массив из трех структур CandyBar

21.02.2014, 21:21. Просмотров 980. Ответов 13
Метки нет (Все метки)

Добрый Вечер!

Выполните упражнение б, но вместо объявления массива из трех структур
CandyBar используйте операцию new для динамического размещения массива.

P.S. Упражнение №6
Кликните здесь для просмотра всего текста
Структура CandyBar включает три члена, как описано в предыдущем
упражнении. Напишите программу, которая создает массив из трех структур CandyBar,
инициализирует их значениями по вашему усмотрению и затем отображает
содержимое каждой структуры.



Сделал вот так:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    struct CandyBar
    {
        string name;
        float weight;
        int calories;
                        };
 
    CandyBar *cb1 = new CandyBar;
    (*cb1).name = "Mocha Munch";
    (*cb1).weight = 2.3;
    (*cb1).calories = 500;
 
    CandyBar *cb2 = new CandyBar;
    (*cb2).name = "Vishenka";
    (*cb2).weight = 2.3;
    (*cb2).calories = 300;
 
    CandyBar *cb3 = new CandyBar;
    (*cb3).name = "Tryffi";
    (*cb3).weight = 2.3;
    (*cb3).calories = 500;
 
    cout << "CandyBar:\n" << (*cb1).name 
                            << ", "
                            << (*cb1).weight
                            << ", "
                            << (*cb1).calories
                            << endl
                          << (*cb2).name 
                            << ", "
                            << (*cb2).weight
                            << ", "
                            << (*cb2).calories
                            << endl
                          << (*cb3).name 
                            << ", "
                            << (*cb3).weight
                            << ", "
                            << (*cb3).calories
                            << endl;
 
    delete cb1;
    delete cb2;
    delete cb3;
    system("pause");
 
    return 0;
}



Правильно или нет? Поправьте, пожалуйста.
Или я не так понял 9-тое задание?!

Спасибо!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 21:21
Ответы с готовыми решениями:

Написать программу, которая создает и обрабатывает массив структур согласно индивидуальному заданию
Написать программу на языке С ++, которая создает и обрабатывает массив...

заданы координаты трех точек. Напишите программу, которая проверяет, являются ли эти точки вершинами треугольника.
На входе заданы координаты трех точек. Напишите программу, которая проверяет,...

программу, которая создает массив из 26 элементов и помещает в него 26 строчных букв.
#include&lt;stdio.h&gt; void main() { int i; char b, alpha; for (i=0, b='a';...

Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь.
Напишите программу, которая использует функцию для вычисления среднего...

Написать программу, которая создает двумерный массив со случайными числами A[N,M]. Вычислить сумму и число положительных элементов массива
Написать программу, которая с помощью датчика случайных чисел создает двумерный...

13
Zazy
45 / 45 / 23
Регистрация: 14.04.2013
Сообщений: 186
21.02.2014, 21:39 #2
Автор книги просит массив, CandyBar *cb[3]
1
Grandy
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 29
21.02.2014, 21:52  [ТС] #3
Цитата Сообщение от Zazy Посмотреть сообщение
Автор книги просит массив, CandyBar *cb[3]
Понял. Спасибо.
0
Zazy
45 / 45 / 23
Регистрация: 14.04.2013
Сообщений: 186
21.02.2014, 22:31 #4
аа подожди ,извини перепутал, должно быть CandyBar* cb = new CandyBar[3]
1
Grandy
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 29
21.02.2014, 22:50  [ТС] #5
Zazy

Наверное будет так?!
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    struct CandyBar
    {
        string name;
        float weight;
        int calories;
                        };
 
    CandyBar *cb1 = new CandyBar[3];
    cb1[0].name = "Mocha Munch";
    cb1[0].weight = 2.3;
    cb1[0].calories = 500;
 
    cb1[1].name = "Vishenka";
    cb1[1].weight = 2.3;
    cb1[1].calories = 300;
 
    cb1[2].name = "Tryffi";
    cb1[2].weight = 2.3;
    cb1[2].calories = 500;
 
    cout << "CandyBar:\n" << cb1[0].name
                            << ", "
                            << cb1[0].weight
                            << ", "
                            << cb1[0].calories
                            << endl
                          << cb1[1].name 
                            << ", "
                            << cb1[1].weight
                            << ", "
                            << cb1[1].calories
                            << endl
                          <<  cb1[2].name 
                            << ", "
                            << cb1[2].weight
                            << ", "
                            << cb1[2].calories
                            << endl;
 
    delete [] cb1;
 
    system("pause");
 
    return 0;
}
0
andreypplk
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 29
26.02.2014, 18:21 #6
Кликните здесь для просмотра всего текста
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
// upr9-candybox3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <string>
#include <Windows.h>
 
using namespace std;
 
struct CandyBox
{
    char cb_name[50];
    float cb_weight;
    int cb_calories;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout.setf(ios_base::fixed, ios_base::dec);
 
    CandyBox * snack = new CandyBox[3];
 
    strcpy(snack[0].cb_name, "Mocha Munch");
 
    //snack[0].cb_name = "Mocha Munch"; если переменная типа string
    snack[0].cb_weight = 2.3;
    snack[0].cb_calories = 350;
 
    strcpy(snack[1].cb_name, "Snikers");
    //snack[1].cb_name = "Snikers";
    snack[1].cb_weight = 0.250;
    snack[1].cb_calories = 250;
 
    strcpy(snack[2].cb_name, "Mars");
    //snack[2].cb_name = "Mars";
    snack[2].cb_weight = 0.200;
    snack[2].cb_calories = 270;
 
    
 
 
    cout << "Candy Box Name: " << snack[0].cb_name << endl
         << "Candy Box Weight: " << snack[0].cb_weight << endl
         << "Candy Box Calories: " << snack[0].cb_calories << endl;
    cout << "Candy Box Name: " << snack[1].cb_name << endl
         << "Candy Box Weight: " << snack[1].cb_weight << endl
         << "Candy Box Calories: " << snack[1].cb_calories << endl;
    cout << "Candy Box Name: " << snack[2].cb_name << endl
         << "Candy Box Weight: " << snack[2].cb_weight << endl
         << "Candy Box Calories: " << snack[2].cb_calories << endl;
    delete[] snack;
    cin.get();
 
    return 0;
}

классная книга я научился больше чем когда бейсик и делфи учил
0
Agrik
6 / 6 / 2
Регистрация: 31.03.2013
Сообщений: 120
26.02.2014, 19:21 #7
Прата? как раз его делаю!
1
andreypplk
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 29
27.02.2014, 11:03 #8
да он самый вроде 6 редакция от 2012 года
0
Agrik
6 / 6 / 2
Регистрация: 31.03.2013
Сообщений: 120
01.03.2014, 20:13 #9
andreypplk, можно номер главы? 6 задание? попробую найти, если не похерил
0
andreypplk
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 29
02.03.2014, 12:06 #10
Agrik,
в 4 главе проверочные в конце
0
Agrik
6 / 6 / 2
Регистрация: 31.03.2013
Сообщений: 120
02.03.2014, 21:59 #11
andreypplk,
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
#include<iostream>
#include<string>
struct CandyBar
{
    std::string name;
    float weight;
    int   calor;
 
};
int main()
{
using namespace std;
    
    CandyBar *ps = new CandyBar [3];
    
    ps[0].name= "Muncha Mon";
    ps[0].weight=350.5;
    ps[0].calor=12;
    ps[1].name= "Body Scru";
    ps[1].weight=125.7;
    ps[1].calor=38;
    ps[2].name   = "Dobey Bru";               
    ps[2].weight = 30.1;                      
    ps[2].calor  = 63;                        
    
    cout<<"1 struct: "<<ps[0].name<<", "<<ps[0].weight<<", "<<ps[0].calor<<"."<<endl;
    cout<<"2 struct: "<<ps[1].name<<", "<<ps[1].weight<<", "<<ps[1].calor<<"."<<endl;
    cout<<"3 struct: "<<ps[2].name<<", "<<ps[2].weight<<", "<<ps[2].calor<<"."<<endl;
 
    delete [] ps;
 
system("PAUSE");
return 0;
}
0
andreypplk
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 29
03.03.2014, 13:13 #12
Agrik,
у тебя в имени string а я char использовал так как у меня с ним проблемы с вводом прога постоянно на синтаксическую ощибку намекает
0
Agrik
6 / 6 / 2
Регистрация: 31.03.2013
Сообщений: 120
04.03.2014, 08:16 #13
andreypplk, я считаю, что использование чара в плюсах не по феншую)) все задачи я делаю в VS 2010 и у меня нормально компилируется...
0
andreypplk
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 29
04.03.2014, 16:07 #14
я в VS 2013 делаю у меня опыта маловато вот ошибки и появляются
0
04.03.2014, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2014, 16:07

Напишите программу, которая заполняет массив из 15 элементов. Данные вводятся с клавиатуры.
1. Напишите программу, которая заполняет массив из 15 элементов. Данные...

Массив: Напишите программу, которая моделирует бросание двух игральных костей
Напишите программу, которая моделирует бросание двух игральных костей....

Составить функцию, которая получив массив N действительных чисел, создает новый массив, поместив в него только те элемен
Для решения задачи разработать следующие функции: - функцию ввода n...


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

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

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