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

Операция new в структурах - C++

Восстановить пароль Регистрация
 
Fossius
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 7
15.08.2012, 18:09     Операция new в структурах #1
Недавно начал изучать С++ и уже первые "трудности"

Вот задание: 7. Вильям Вингейт (William Wingate) заведует службой анализа рынка пиццы. О каждой пицце он записывает следующую информацию:
• тип пиццы, которое может состоять из более чем одного слова;
• диаметр пиццы;
• вес пиццы.
• Разработайте структуру, которая может содержать всю эту информацию, и
напишите программу, использующую структурную переменную этого типа.
Программа должна запрашивать у пользователя каждый из перечисленных
показателей и затем отображать введенную информацию. Применяйте сіп
(или его методы) и с out.

Вот что я сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream> 
#include <string> 
using namespace std; 
 
struct pizza 
{ 
 string type; 
 int diam; 
 int weight; 
}; 
int main() 
{ 
 pizza uno; 
 cout << "Please choose type of pizza: "; 
 cin >> uno.type; 
 cout << "\nPlease choose diametr of pizza: "; 
 cin >> uno.diam; 
 cout << "\nPlease choose weight of pizza: "; 
 cin >> uno.weight; 
 cout << "\nSo your choise is: Pizza " << uno.type << ", diametr " << uno.diam << " cm., weight " << uno.weight << " gr.\n"; 
 
 return 0; 
}
А вот теперь не знаю:
Выполните упражнение 7, но с применением операции new для размещения структуры в свободном хранилище вместо объявления структурной переменной.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2012, 18:09     Операция new в структурах
Посмотрите здесь:

Указатели в структурах C++
C++ Константы в структурах
C++ Сортировка в структурах[C++]
C++ Строки в структурах
Рекурсия в структурах C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
15.08.2012, 18:17     Операция new в структурах #2
Вместо "pizza uno; " пиши "pizza* uno = new pizza;"
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.08.2012, 18:28     Операция new в структурах #3
И вместо cin - getline():
C++
1
2
3
pizza* uno = new pizza;
getline(cin, uno->type);
cout<<uno->type;
Fossius
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 7
15.08.2012, 18:44  [ТС]     Операция new в структурах #4
Цитата Сообщение от yuron_477 Посмотреть сообщение
И вместо cin - getline():
C++
1
2
3
pizza* uno = new pizza;
getline(cin, uno->type);
cout<<uno->type;
нет смысла использовать getline т.к. используется string.
Всем спасибо, вопрос исчерпан
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.08.2012, 18:54     Операция new в структурах #5
Цитата Сообщение от Fossius Посмотреть сообщение
тип пиццы, которое может состоять из более чем одного слова;
Для ввода более чем одного слова нужен именно getline.
andreypplk
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 27
25.02.2014, 19:25     Операция new в структурах #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
// upr8-pizza.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <string>
#include <Windows.h>
 
using namespace std;
 
struct cat_pizza
{
    char ch_name_company[50];
    float fl_diameter_pizza;
    float fl_weight_pizza;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout.setf(ios_base::fixed, ios_base::dec);
 
    cat_pizza * pz1 = new cat_pizza;
    cout << "Введите имя компании: ";
    cin.getline(pz1->ch_name_company, 50);
    cout << "Введите диаметр пиццы: ";
    cin >> (*pz1).fl_diameter_pizza;
    cout << "Введите вес пиццы: ";
    cin >> pz1->fl_weight_pizza;
    cout << "Имя: " << pz1->ch_name_company << " диаметр: " << pz1->fl_diameter_pizza
         << " Вес: " << pz1->fl_weight_pizza << endl;
    delete pz1;
    
    cin.get();
    cin.get();
    
 
    return 0;
}

это рабочий вариант.
Yandex
Объявления
25.02.2014, 19:25     Операция new в структурах
Ответ Создать тему
Опции темы

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