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

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

Войти
Регистрация
Восстановить пароль
 
BlackArlekino
Сообщений: n/a
#1

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

16.07.2012, 08:33. Просмотров 862. Ответов 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.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2012, 08:33     Инициализация членов структуры
Посмотрите здесь:

C++ Инициализация членов класса нулями
Инициализация статических членов класса C++
C++ Инициализация членов производного кл. из конструктора базового кл.
Инициализация структуры через точку C++
C++ Вывод всех членов структуры
Структуры, инициализация переменных C++
C++ Инициализация полей структуры из файла
Выравнивание членов структуры C++
C++ Инициализация POD-структуры C++11
Инициализация в объявлении константных статических (const static) членов-данных класса. C++
Инициализация членов в объявлении класса C++
Инициализация массива структур и форматированный вывод значений её членов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.07.2012, 08:42     Инициализация членов структуры #2
через запятую вводишь? нужно через точку 2.5
BlackArlekino
Сообщений: n/a
16.07.2012, 08:44     Инициализация членов структуры #3
Странно, в учебнике было сказано что cin использует пробел в качестве символа окончания строки. Спасибо, буду пробовать)
_mike
Сообщений: n/a
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;
Yandex
Объявления
22.11.2012, 09:17     Инициализация членов структуры
Ответ Создать тему
Опции темы

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