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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
#1

case struct - C++

13.09.2009, 11:04. Просмотров 1341. Ответов 5
Метки нет (Все метки)

Здравствуйте!

Подскажите как аналогичную структуру сделать в С++?
Delphi
1
2
3
4
5
6
7
type
 MainTyp=record
  case integer of
   1:(I:integer);
   2:(w1,w2:word);
   3:(b1,b2,b3,b4:byte);
 end;
это не предлагать, ибо не правильно.
C++
1
2
3
4
5
6
7
8
9
10
11
typedef unsigned short WORD;
typedef unsigned int DWORD;
typedef unsigned char byte;
typedef struct{
  union
  {
    int i;
    WORD w1,w2;
    byte b1,b2,b3,b4;
  };
}MainTyp;
Добавлено через 24 минуты
ещё вопрос вдогонку.
C++
1
2
3
vector<int> v;
/* ... */
for(int j=0;j<v.size());j++){/* something */}
как быть с варнингом?
warning C4018: '<' : signed/unsigned mismatch
отрубить его или плодить код вида
C++
1
for(int j=0;j<(int)v.size());j++)
или даже
C++
1
int c=(int)v.size(); for(int j=0;j<c);j++)
?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2009, 11:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос case struct (C++):

в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени - C++
Помогите пожалуйста: в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени #include &lt;iostream&gt; #include...

При выборе case 1 всегда черный экран? как правильно указать путь в case - C++
Доброго времени суток) проблема с компиляций когда при компилирование появляется экран выбора. Нажимаю 1 и все черный экран) пожалуйста...

switch-case, как писать в самом case - C++
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в...

Оптимальная конструкция switch-case-while / while-switch-case - C++
Имеется конструкция типа: switch() { case 1: while() { ... }

Struct{...} - C++
Задача № 1 (динамические структуры) Написать программу создания динамической структуры, заданной рисунком, с вводом элементов с...

Struct{...} - C++
Драсьте мне нужна помощь. Написать программу ввода и вывода студентов группы и каждый из них характеризуется фамилией и номером...

5
mustardandrew
Человек
96 / 80 / 3
Регистрация: 16.06.2009
Сообщений: 229
13.09.2009, 11:15 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(){
    struct b4{ unsigned char b1,b2,b3,b4; };
    struct w2{ unsigned short w1,w2; };
    
    union UnionMy{
      unsigned int i;
      w2 w;
      b4 b;       
    };
    
    
    cin.get();
    return 0;   
}
Вот примерно так.

Добавлено через 1 минуту
Цитата Сообщение от Adler Посмотреть сообщение
ещё вопрос вдогонку.
Код C++1
2
3 vector<int> v;
/* ... */
for(int j=0;j<v.size());j++){/* something */}
как быть с варнингом?
вот так правильно
C++
1
for(int j=0;j<v.size();j++){/* something */}
1
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
13.09.2009, 11:35  [ТС] #3
DreamWolf
Спасибо! Хорошая идея. Сделал так.
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
// CaseRecord.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
///*
 
typedef unsigned short WORD;
typedef unsigned int DWORD;
typedef unsigned char byte;
 
typedef struct{
  union
  {
    int i;
    struct {WORD w1,w2;};
    struct {byte b1,b2,b3,b4;};
  };
}MainTyp;
//*/
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
  MainTyp V;
  V.i=0;
  V.w1=255;
  V.w2=1;
  cout<<V.i<<endl;
  cin.get();
    return 0;
}
Добавлено через 13 минут
DreamWolf,
вот так правильно
ну правильно так правильно, значит
C++
1
#pragma warrning(diable: 4018)
0
mustardandrew
Человек
96 / 80 / 3
Регистрация: 16.06.2009
Сообщений: 229
13.09.2009, 11:44 #4
а что ещо ворнинг вискакивает.
Там у тебя била лишняя скоба.
0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
13.09.2009, 12:25 #5
Adler,

как быть с варнингом?
warning C4018: '<' : signed/unsigned mismatch
отрубить его или плодить код вида


надо просто использовать соответствующий тип

typedef std::vector<int> V;
V v;

for (V::size_type i=0 ...

а ещё лучше делать тоже самое через итераторы.
1
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
13.09.2009, 15:28  [ТС] #6
Цитата Сообщение от DreamWolf Посмотреть сообщение
Там у тебя била лишняя скоба.
o_O это я тут о печатался три раза, на самом деле её там нету ни раза.

Цитата Сообщение от Rififi Посмотреть сообщение
а ещё лучше делать тоже самое через итераторы.
ясно.
0
13.09.2009, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2009, 15:28
Привет! Вот еще темы с ответами:

struct - C++
Привествую ) Такой вопрос назрел ) Хочу создать переменную типа структуры: Всегда создавал так: my_struct var;

struct (с++) - C++
Кто может написать полный синтаксис структуры. Чем отличается структура от класса ? Всем ответившим высказываю свою благодарность.

struct function - C++
Подскажите плз почему так заданная функция для структуры выдает ошибку (не может преобразовать unsigned short в myTime при присвоении...

typedef struct - C++
а зачем вы используете конструкцию typedef struct name{...} ? и какие она дает преимущества в отличии от struct name{...}


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

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

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