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

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

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

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

21.02.2014, 21:21. Просмотров 957. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Напишите программу, которая создает массив из трех структур CandyBar (C++):

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

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

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

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

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

C++ Напишите программу, которая сортирует массив по убыванию суммы цифр числа - C++
Используйте функцию, которая определяет сумму цифр числа.

13
Zazy
45 / 45 / 15
Регистрация: 14.04.2013
Сообщений: 186
21.02.2014, 21:39 #2
Автор книги просит массив, CandyBar *cb[3]
1
Grandy
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 29
21.02.2014, 21:52  [ТС] #3
Цитата Сообщение от Zazy Посмотреть сообщение
Автор книги просит массив, CandyBar *cb[3]
Понял. Спасибо.
0
Zazy
45 / 45 / 15
Регистрация: 14.04.2013
Сообщений: 186
21.02.2014, 22:31 #4
аа подожди ,извини перепутал, должно быть CandyBar* cb = new CandyBar[3]
1
Grandy
0 / 0 / 0
Регистрация: 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 / 0
Регистрация: 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 / 0
Регистрация: 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 / 0
Регистрация: 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 / 0
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2014, 16:07
Привет! Вот еще темы с ответами:

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

Массив: Напишите программу, которая моделирует бросание двух игральных костей - C++
Напишите программу, которая моделирует бросание двух игральных костей. Программа должна вызывать функцию rand для бросания первой кости и...

Написать программу, которая создает файл - C++
Здравствуйте! Помогите написать программу на Visual Studio 2010. Задание: Написать программу, которая создает файл (name.txt),...

Написать программу, которая создает свою копию - C++
Можно ли мне взять любой name.exe, потом его открыть считать через fopen(name.exe,&quot;w&quot;) , в нем же создать другой name2.exe, и в его все что...


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

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

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