BlackArlekino
1

Инициализация членов структуры

16.07.2012, 08:33. Показов 1436. Ответов 3
Метки нет (Все метки)

Здравствуйте. Имеется код:
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
#include <iostream>
struct Pizza
{
    char name[20];
    double diametr;
    double weidth;
};
 
int main()
{
    using namespace std;
    Pizza* ps = new Pizza;
    cout << "Enter the pizza diametr: ";
    cin >> ps->diametr;
    cout << "\nEnter the pizza name: ";
    cin.get(ps->name,20).get();
    cout << "\nEnter the pizza weidth: ";
    cin >> ps->weidth;
 
    cout << ps->name << ", " << ps->diametr << ", " << ps->weidth << '.';
    
    delete ps;
    
    cin.get();
    return 0;
}
Пытаюсь задать значение члену "diametr", равное:2,5. Но присваивается значение 2, а следующему члену в списке присваивается 5.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2012, 08:33
Ответы с готовыми решениями:

Инициализация членов класса нулями
Необходимо инициализировать члены класса нулями. class ID { public: int GetKey() { return...

Инициализация членов в объявлении класса
В классе: class peltier { public: material p = material('p'); material n = material('n');...

Инициализация статических членов класса
Непонятно, почему статические члены класса нельзя инициализировать при помощи вот такого...

Инициализация членов производного кл. из конструктора базового кл.
Добрый вечер, уважаемые форумчане! Сразу код; вопрос ниже... #include &lt;iostream&gt; using...

3
Каратель
Эксперт С++
6607 / 4026 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.07.2012, 08:42 2
через запятую вводишь? нужно через точку 2.5
1
BlackArlekino
16.07.2012, 08:44 3
Странно, в учебнике было сказано что cin использует пробел в качестве символа окончания строки. Спасибо, буду пробовать)
_mike
22.11.2012, 09:17 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
struct MyElement {
  MyElement * next;
  MyElement * prev;
  string data;
};
 
class MyList {
 public:
  explicit MyList(){
    MyElement *head = new ListNode;
    head->next = 0;
    head->prev = 0;
    head->data = "";
    MyElement *tail = new ListNode;
    tail->next = 0;
    tail->prev = 0;
    tail->data = "";
    count      = 0;
  }
  void push_back(string indata){
    if(count == 0) {
      head->next = 0;
      head->data = indata;
      tail = head;
    } else {
      tail->data = indata;
      tail->prev = tail;
      tail->next = 0;
    }
   count++;
  }
 private:
  MyElement * head;
  MyElement * tail;
  int count;
};
 
int main(){
  MyList* list = new MyList;
  string buf[4] = {"this","prog","must","work!"};
  for(int i=0;i<4;i++) list->push_back(buf[i]);
  return 0;
}
Компиллируется без ошибок и ворнингов, а при работе метода push_back вылетает Segmentation fault (core dumped). Подскажите, в чем дело?

Добавлено через 9 минут
Возможно, пока переписывал код сюда допустил ошибки. Заранее прошу прощения. Ошибка появляется на строке head->next = 0;
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2012, 09:17
Помогаю со студенческими работами здесь

Инициализация структуры
Есть структура struct msg quest; struct msg { double clientId; size_t cash; char message;...

Инициализация структуры
Приветствую всех. Есть такой код: typedef struct { char a; char b; } ST; ST b = {...

инициализация структуры
Всем привет, нужно достать данные о DEP и ASLR каждого процесса, написал такую вещь void...

Инициализация массива структур и форматированный вывод значений её членов
Я написал маленькую программу инициализации массива структур и форматированного вывода значений её...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru