Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/55: Рейтинг темы: голосов - 55, средняя оценка - 4.51
0 / 0 / 2
Регистрация: 11.08.2014
Сообщений: 75
1

Как обратиться к полям структуры через указатель и объявление указателя на структуру

03.06.2015, 11:36. Показов 10489. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как обратиться к полям структуры через указатель и объявление указателя на структуру?
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include "stdAfx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cstring>
#include <string>
using namespace std;
#define _CRT_SECURE_NO_WARNINGS
const int N = 100;
struct spisok
{
    char name[100];
    char book[30];
};
 
spisok bible[10];
int K = 0;
 
void menu(void)
{
    printf("*****Меню*****\n");
    printf("1.Ввести книгу\n");
    printf("2.Удалить книгу\n");
    printf("3.Просмотреть список\n");
}
 
 
void Ent_name(void)/*Ввод*/
{
    spisok itemadd;
    printf("Ввести фамилию автора:");
    cin >> itemadd.name;
    printf("Введите название книги:");
    cin >> itemadd.book;
    cout << "\nЗапись успешно добавлена!\n" << endl;
    
    if (K >= N)
        printf("Список полон\n");
    else
    {
        bible[K] = itemadd;
        K++;
    }
}
 
void List()/*Просмотр список*/
{
    for (int t = 0; t<K; t++)
        printf("%d. %s %s\n", t+1, bible[t].name, bible[t].book);
    printf("\n");
}
 
void Deleted(void)/*Удаление*/
{
    char name[N];
    printf("Введите фамилию автора:");
    scanf("%s", name);
 
    int current = 0;
    while (current < K)
    {
        if (strcmp(bible[current].name, name) == 0)/*сравнение строк*/
        {
            printf("Удалено: %s %s\n", bible[current].name, bible[current].book);
            if (current < K - 1)
                memmove(&bible[current], &bible[current + 1], (K - current - 1)*sizeof(spisok));
            --K;
        }
        else
            ++current;
    }
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    menu();
    ofstream f("1.txt", ios_base::app);
    int h;
    printf("\nВведите номер:");
    scanf("%d", &h);
    while (h)
    {
        switch (h)
        {
        case 1:Ent_name(); break;
        case 2: Deleted();break;
        case 3: List();break;
        default: cout << "Неверный ввод\n";
        }
        printf("Выбирите номер операции или нажмите 0 для выхода\n");
        cin >> h;
    }
    for (int i(0); i < K; ++i)
    {
        f << bible[i].name << " - ";
        f << bible[i].book << endl;
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2015, 11:36
Ответы с готовыми решениями:

Объявление указателя на структуру в объявлении структуры
struct node { int data; struct node * next; }; Зачем может понадобится такое...

Доступ к элементам структуры через указатель на структуру
Столкнулся с такой проблемой , никак не могу достучаться к элементу(char type) структуры через...

Доступ к элементам структуры через указатель на структуру
Не могу понять, где ошибка... В файле информация о двух людях. В конечном итоге заносит в...

Доступ к элементам структуры через указатель на структуру
Как делается доступ к элементам структуры через указатель на структуру. Вроде же через -&gt;но тогда...

4
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
03.06.2015, 11:57 2
C++
1
2
3
    spisok* p = new spisok;
    strcpy(p ->book, "book");
    strcpy(p ->name, "seferus");
0
0 / 0 / 2
Регистрация: 11.08.2014
Сообщений: 75
03.06.2015, 11:58  [ТС] 3
а после чего это написать?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
03.06.2015, 12:02 4
Цитата Сообщение от seferus Посмотреть сообщение
а после чего это написать?
Это ответ (пример) на вопрос темы:
Цитата Сообщение от seferus Посмотреть сообщение
Как обратиться к полям структуры через указатель и объявление указателя на структуру?
p - указатель на структуру, p ->book - обращение к полю структуры через указатель на структуру.
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
03.06.2015, 12:09 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
struct Spisok{
    char name[100];
    char book[30];
};
 
 
int main ()
{
       Spisok bible;
       cin>>bible.book;
       cin>>bible.name;
       Spisok* bpointer;
       bpointer = &bible;
        cout << bpointer->book << " "<< bpointer->name;
 
        return 0;
}
0
03.06.2015, 12:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2015, 12:09
Помогаю со студенческими работами здесь

Как обратиться к полям объединения, которое находится внутри структуры?
Например, дан массив структур struct a { union b { char *c1; int c2; ...

Как обратиться к элементам массива через указатель?
Как обратиться к элементам массива через указатель?

Как обратиться к элементам массива через указатель?
// 2 зачет.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot;...

Как обратиться через указатель к данным, которые он адресует?
c++ как обратиться через указатель к данным, которые он адресует?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru