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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
#1

применение указателей, структур и объединений - C++

19.10.2009, 01:53. Просмотров 1406. Ответов 19
Метки нет (Все метки)

Здравствуйте, люди добрые!!
(^_^)/

Очень нуждаюсь в вашей помощи...
Помогите разобраться студентке!!
(Y_Y)(^o^)/

Задание примерно следующее:
Составить программу на языке Си, в которой согласно таблице

выполнить:
1. объявить тип данных для хранения информации о заданном объекте;
2. описать, с помощью объявленного типа, заданные переменные и присвоить им заданные значения;
3. объявить тип данных для хранения целых чисел в двоично-десятичном формате;
4. описать, с помощью объявленного типа, переменные с заданными именами и указатели на них;
5. описать указатель на заданный указатель;
6. написать функцию, выполняющую заданные действия над двоично-десятичными числами;
7. объявить указатель на функцию;
8. задать начальные значения переменных с использованием:
1) имени переменной,
2) указателя на нее,
3) указателя на указатель;
9. выполнить заданные действия:
1) с использованием вызова функций,
2) с использованием указателя на функцию.

Результаты выполнение п.п.1-2 и 8-9 вывести на экран в виде таблицы. Для структур вывести адреса и значения каждого поля. Для указателей выводить адрес и значение указателя, а также содержимое области памяти, на которую указывает указатель.


Подскажите, пожалуйста, с чего следует начинать??
0
Миниатюры
применение указателей, структур и объединений  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2009, 01:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос применение указателей, структур и объединений (C++):

Вопрос о разумном использовании структур\перечислений\объединений - C++
Доброго времени суток, Форумчане! Цель работы - написание что-то типа базы данных. Допустим я захотел сделать базу видео.. и вот,...

Программирование с использованием перечислений, структур, объединений и полей бит - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем –обработка списка. Сначала в...

Объявить объединение из двух структур и структуру из двух объединений - C++
Объявить объединение из двух структур и структуру из двух объединений. Заполнить значениями, вывести на экран.

Применение указателей - C++
Доброй ночи. Встретил вот такое выражение в книге и не могу понять что к чему: Distance& dist = *(new Distance); После чего можно...

Применение и удаление указателей - C++
Здравствуйте. Я не могу понять сути,когда нам нужно удалить указатель для освобождения памяти. Есть указатель: int...

Применение структур в прикладном программировании - C++
расскажите мне про структуры и их применение в прикладном программировании, заранее спасибо.

19
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.10.2009, 02:54 #2
тут таблица неполная

5. описать указатель на заданный указатель;
какой именно ?

во втором пункте должны быть какие-то значения, которых нет
0
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
19.10.2009, 03:09  [ТС] #3
указатели на указатели:e, f

компьютерные комплектующие с параметрами:дата изготовления, цена, вид (видеоплата (макс. разрешающая способность, макс. частота, объем видеопамяти), звуковая плата (разрядность, частотный диапазон, амплитуда входного сигнала), сетевая плата (скорость обмена, вид интерфейса))

должно получится что вроде сруктуры, в которой юнион, в котором несколько структур...
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
19.10.2009, 04:28 #4
Цитата Сообщение от Girl-On Посмотреть сообщение
Помогите разобраться студентке!!
Ну и что, что ты студентКА ? Почему 99% девушек пытаются подчеркнуть то, что они девушки ?
Могу написать программу в обмен на пламенный поцелую...
------------------------------------------------------------------------------------------------
P.S. Программа на столько легка, что я в шоке. На каком ты курсе ?
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.10.2009, 05:54 #5
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
struct video {
      int x, y;
      unsigned long frequency;
      unsigned long volume;
};
 
struct audio {
    int bits;
    unsigned long freqmin, freqmax;
    unsigned long amplitude;
};
 
struct network {
    unsigned long bitsPerSecond;
    char interface[100];
};
 
struct item {
    char date[10], cost[10];
    union {
        struct video u;
        struct audio v;
        struct network w;
    } type;
};
1
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
19.10.2009, 22:20  [ТС] #6
(* ^)3(*^^*)
вау, пасибки, accept

а как написать функцию, выполняющую произведение над двоично-десятичными числами??
0
Rififi
2360 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
19.10.2009, 22:37 #7
Search..,
Ну и что, что ты студентКА ? Почему 99% девушек пытаются подчеркнуть то, что они девушки ?
Природный инстинкт подманивания самцов :rotate:

как написать функцию, выполняющую произведение над двоично-десятичными числами??
воспользоваться устройством пользовательского ввода, в простонародье именуемым клавиатурой. там есть такие кнопочки, по ним надо давить пальчиками, тогда выскакивают буковки.
0
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
19.10.2009, 23:15  [ТС] #8
хм, а какие именно кнопочки с буквочки нужно нажимать?? и в каком кол-ве??

Добавлено через 20 минут
а какие именно кнопочки с буквочками нажимать?? и в какой последовательности??
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.10.2009, 06:57 #9
3. объявить тип данных для хранения целых чисел в двоично-десятичном формате;
где-то должно быть определение "двоично-десятичном формате"
0
Search..
20.10.2009, 07:43
  #10

Не по теме:

Эх... Как говорил мой дед: "Не всегда лучше сделать, чем не сделать, но порой нужно что-то сделать, не смотря на то, что это не следовало бы делать.".

0
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
21.10.2009, 02:53  [ТС] #11
Людям все же помогать нужно, это зачтется - вам тоже кто-то обязательно поможет. А указывая людям на их незнание в чем-либо хуже становится не только им, но и себе. Унижая других самомнение, конечно, может и увеличится, но стоит ли его поднимать таким способом??

Если бы я знала, как написать программу врят ли бы просиживала свое время за экраном и читала разные унижения...

Я обратила за помощью, и мне бы очень хотелось ее получить, если вы понимаете о чем речь, то неужели так жалко поделиться информацией?? Ведь это же нетрудно...

Добавлено через 10 минут
В двоично-десятичной СС числа образуются заменой 10-ного разряда 4-битовым представлением, т.е. можно 10 представить в виде степеней 2-ек. Запись числа в BCD как-то разделится на пол байта...

Умножаются числа в ДДК, как и в 10-ной СС, значит, главное - это написать преобразование 10-ных чисел, а потом их умножить, так??
Но как это записать на языке Си??

Добавлено через 2 минуты
3. объявить тип данных для хранения целых чисел в двоично-десятичном формате;
4. описать, с помощью объявленного типа, переменные с заданными именами и указатели на них;
5. описать указатель на заданный указатель;
это будет что-то так:
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
73
  struct BCD {
    unsigned int /*какое имя элемента нужно указать?*/: 10;
  } x,y,z,a,*b,*c,*d,**e,**f;[/CODE][SIZE=1][COLOR=grey][I]Добавлено через 24 минуты[/I][/COLOR][/SIZE]
Попытка полной программы:[CODE]#include<stdio.h>
#include<conio.h>
 
void print (video u, audio v, network w)  {
  printf("+---------------+---------------+---------------+----------------+\n");
  printf("|   peremenaya  |     razmer    |     adres     |    znachenie   |\n");
  printf("|---------------|---------------|---------------|----------------|\n");
  printf("|       u       |       %d       |     %x      |      %-4d      |\n",sizeof(k),&k,k);
  printf("|       v       |       %d       |     %x      |      %-4d      |\n",sizeof(l),&l,l);
  printf("|       w       |       %d       |     %x      |      %-4d      |\n",sizeof(m),&m,m);
  printf("+---------------+---------------+---------------+----------------+\n");
}
 
void product (/**/) {
  //
}
 
void main() {
  
  struct video {
    unsigned long allowing_ability;
    unsigned long frequency;
    unsigned long volume;
  };
 
  struct audio {
    int bits;
    unsigned long frequency_range;
    unsigned long amplitude;
  };
 
  struct network {
    unsigned long speed_of_exchange;
    char interface[100];
  };
 
  struct comp_compl {
    char date[10], cost[10];
    union {
        struct video u;
        struct audio v;
        struct network w;
    } type;
  };
  
  struct BCD {
    unsigned int /*какое имя элемента нужно указать?*/: 10;
  } x,y,z,a,*b,*c,*d,**e,**f;
  
  print(/*печатаем п.1-2*/);
  
  //задаем начальные значения 
  
  //с использованием имени переменной
  x=//а чему это равно??
  y=//мне стыдно, но я условие 
  z=//плохо поняла...
  a=//может можно произвольное задать??
  
  //а как можно задать значение с использованием указателя
  
  //и указателя на указатель??
  
  product(/*что точно надо умножать??*/);
  print(/*петаем п.8-9*/);
  
  //Как для указателей выводить адрес и значение указателя, 
  //а также содержимое области памяти, на которую указывает указатель
  
}
Добавлено через 2 минуты
Изрыла весь "Гугл" и "Яндекс" ничего понятного не нашла. Есть куча книг по этим темам, но, НЕ ПОНЯТНО !!
Жду вашей помощи
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.10.2009, 03:39 #12
http://ru.wikipedia.org/wiki/%D0%94%...BA%D0%BE%D0%B4

Добавлено через 7 минут
3. объявить тип данных для хранения целых чисел в двоично-десятичном формате;
четырёхзначное десятичное число
C
1
2
3
4
5
6
7
struct bcd {
    unsigned long r1 : 4;
    unsigned long r2 : 4;
    unsigned long r3 : 4;
    unsigned long r4 : 4;
    /* ... */
};
0
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
21.10.2009, 03:43  [ТС] #13
спс,
а как преобразовать программно??
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.10.2009, 03:50 #14
число 1234 в десятичной системе
r1 = 4;
r2 = 3;
r3 = 2;
r4 = 1;

C
1
2
3
    struct bcd n = { 0x01, 0x02, 0x03, 0x04 };
 
    n.r1 = 0x09; /* превращает число n из 1234 в 1239 */
Добавлено через 1 минуту
6. написать функцию, выполняющую заданные действия над двоично-десятичными числами;
там стоит произведение

Добавлено через 3 минуты
с вики, если происходит перенос из одного полубайта в другой, то там переносится число шестнадцать, и, так как система подразумевает только десять, число шесть надо оставить в полубайте, поэтому нужно к нему прибавить шесть после всей операции (это для каждого такого полубайта)
0
Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
21.10.2009, 03:54  [ТС] #15
что-то вроде запрещенного кода??

Добавлено через 1 минуту
а для произведения же надо функцию написать,
т.е. передавать в нее уже преобразованные числа??
0
21.10.2009, 03:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2009, 03:54
Привет! Вот еще темы с ответами:

Разбор указателей и структур - каковы их суть и назначение - C++
Доброго времени суток форумчане. В университете мы изучаем C++ по учебнику Павловской и Щупака. Недавно прошли главы по Указателям и...

Сортировка массива структур через сортировку массива указателей - C++
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: ...

Алгоритмы и программы по использованию указателей и динамических структур данных - C++
Здравствуйте! Помогите, пожалуйста, написать задачу. Вот текст:Дан указатель P0 на один из элементов непустого двусвязного списка. Вывести...

Алгоритмы и программы по использованию указателей и динамических структур данных - C++
Здравствуйте! Прошу Вас помочь мне в написании задачи на С++. Вот текст: Дан указатель P1 на первый элемент непустого двусвязного...


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

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

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