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

Небольшой вопрос по заполнению структуры - C++

Восстановить пароль Регистрация
 
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
29.05.2011, 21:19     Небольшой вопрос по заполнению структуры #1
В первой строке ошибка, пропущена точка с запятой.. Поправте, как правильно заполнить
C++
1
2
3
4
5
6
Zapravki_AZS[0].AZS = {{ "Lukoil";  Zapravki_AZS[0].marka_benzina = 92;
                                    Zapravki_AZS[0].cena_benzina = 25.0},
                       { "Lukoil";  Zapravki_AZS[0].marka_benzina = 95;
                                    Zapravki_AZS[0].cena_benzina = 27.0},                                    
                       { "Lukoil";  Zapravki_AZS[0].marka_benzina = 98;
                                    Zapravki_AZS[0].cena_benzina = 29.0}};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.05.2011, 21:26     Небольшой вопрос по заполнению структуры #2
Вот простой пример, думаю разберешся:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
struct A{
  int a;
  char b;
};
 
int main(){
  A a[2] = {
    {1, 'a'},
    {2, 'b'}
  };
  return 0;
}
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
29.05.2011, 21:32  [ТС]     Небольшой вопрос по заполнению структуры #3
asics, и по вашему попробовал..не получается
вот весь код:
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
62
63
64
65
66
67
68
69
70
71
72
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <clocale>
#include <fstream>
#include <windows.h>
#include <algorithm>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#pragma comment(lib,"kernel32.lib") 
using namespace std;
 
struct Zapravki
{
    string AZS;
    float cena_benzina;
    unsigned int marka_benzina;
};
 
void Print (Zapravki *b, size_t &n) // процедура вывода
                                             
{
    for (size_t index = 0; index < n; index++)
    {
             cout << index << " " << b[index].AZS
                           << " " << b[index].marka_benzina   
                           << " " << b[index].cena_benzina    << endl;  
 
    }
}
// процедура поиска по структуре
void Search_In_Structure (Zapravki *b, std::string AZS0, size_t &n)
{  
    for (size_t index = 0; index < n; index++)
    {
        if (b[index].AZS == AZS0)
            cout << b[index].cena_benzina << endl;
    }
}
 
int main(int argc, char *argv[])
{
    setlocale (LC_CTYPE, "rus");
// динамический массив
    size_t number = 2;
    Zapravki *Zapravki_AZS;
    Zapravki_AZS = new Zapravki [number];
 
//как правильно ввести структуру?
Zapravki_AZS[0].AZS = {
                       { 'Lukoil',  Zapravki_AZS[0].marka_benzina = 92, Zapravki_AZS[0].cena_benzina = 25.0},
                       { 'Lukoil',  Zapravki_AZS[0].marka_benzina = 95, Zapravki_AZS[0].cena_benzina = 27.0},                                    
                       { 'Lukoil',  Zapravki_AZS[0].marka_benzina = 98, Zapravki_AZS[0].cena_benzina = 29.0}
                      };         
                                 
                          
//////////////////////////////////////////////////////////////////////                              
Zapravki_AZS[1].AZS = "SibNeft"; Zapravki_AZS[1].marka_benzina = 92
                               ;  Zapravki_AZS[1].cena_benzina = 23.0;
/////////////////////////////////
    Print(Zapravki_AZS, number);
    cout << endl;
    Search_In_Structure(Zapravki_AZS, "Lukoil", number);
/////////////////////////////////    
    delete []Zapravki_AZS;
    cin.get();
 
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.05.2011, 21:39     Небольшой вопрос по заполнению структуры #4
А так ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
struct Zapravki{
  std::string AZS;
  float cena_benzina;
  unsigned int marka_benzina;
};
 
int main(){
  int n = 2;
  Zapravki *a = new Zapravki[n];
  a[0] = {"qwerty", 9.8, 20};
  a[1] = {"ytrewq", 6.4, 15};
  std::cout << a[0].AZS;
  delete[] a;
  return 0;
}
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
29.05.2011, 21:54  [ТС]     Небольшой вопрос по заполнению структуры #5
тоже вариант)) но думал как бы меньше индексов сделать..

Добавлено через 9 минут
asics, скомпилил ваш вариант.. таже ошибка что и в моем..

Добавлено через 2 минуты
кстати при таком варианте, прога компилится но вылетает при запуске.
C++
1
2
3
4
5
6
Zapravki_AZS[0].AZS =  "Lukoil";  Zapravki_AZS[0].marka_benzina = 92;
                                     Zapravki_AZS[0].cena_benzina = 25.0;
Zapravki_AZS[1].AZS =  "Lukoil";  Zapravki_AZS[0].marka_benzina = 95;
                                     Zapravki_AZS[0].cena_benzina = 27.0;                                    
Zapravki_AZS[2].AZS =  "Lukoil";  Zapravki_AZS[0].marka_benzina = 98;
                                     Zapravki_AZS[0].cena_benzina = 29.0;
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.05.2011, 21:55     Небольшой вопрос по заполнению структуры #6
Странно, у меня работает...
Миниатюры
Небольшой вопрос по заполнению структуры  
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
29.05.2011, 21:58  [ТС]     Небольшой вопрос по заполнению структуры #7
а у меня нет
Миниатюры
Небольшой вопрос по заполнению структуры  
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
29.05.2011, 22:03  [ТС]     Небольшой вопрос по заполнению структуры #8
билдер вообще на int 2; заругался)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.05.2011, 22:05     Небольшой вопрос по заполнению структуры #9
IIIa66uMEM6eP, Так тоже не работает ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
struct Zapravki{
  std::string AZS;
  float cena_benzina;
  unsigned int marka_benzina;
};
 
int main(){
  int n = 2;
  Zapravki *a = new Zapravki[n];
  a[0].AZS = "qwerty";
  a[0].cena_benzina = 9.8f;
  a[0].marka_benzina = 20;
  std::cout << a[0].AZS;
  delete[] a;
  std::cin.get();
  return 0;
}
IIIa66uMEM6eP
заставил Бендера
 Аватар для IIIa66uMEM6eP
432 / 288 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
29.05.2011, 22:11  [ТС]     Небольшой вопрос по заполнению структуры #10
asics, заработало!

Добавлено через 3 минуты
беда в том что мне потом придется все это сравнивать.
к примеру будет сравнение цены бензина с лукойла и с сибнефти.. как это можно осуществить? при вводе структуры таким образом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 22:17     Небольшой вопрос по заполнению структуры
Еще ссылки по теме:

небольшой вопрос про совмещение строк C++
небольшой вопрос по структурам C++
Небольшой вопрос от нуба в C++ C++

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.05.2011, 22:17     Небольшой вопрос по заполнению структуры #11
IIIa66uMEM6eP, Да при любом вводе это делаеться одинаково:
C++
1
2
3
4
5
a[0].AZS = "Likoil";
a[0].cena_benzina = 9.8f;
a[1].AZS = "Sibneft";
a[1].cena_benzina = 8.1f;
bool b = a[0].cena_benzina < a[1].cena_benzina;
Yandex
Объявления
29.05.2011, 22:17     Небольшой вопрос по заполнению структуры
Ответ Создать тему
Опции темы

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