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

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

Войти
Регистрация
Восстановить пароль
 
AfoTax
 Аватар для AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
#1

Структуры и всё связаное с ними - C++

11.01.2012, 18:55. Просмотров 345. Ответов 7
Метки нет (Все метки)

Никак не могу разобраться со структурами. Завтра зачет по этой тебе, а я фиг что понимаю)
Можете помочь разобраться как их объявлять, задавать и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 18:55     Структуры и всё связаное с ними
Посмотрите здесь:

Структуры. Работа с файлами, содержащими структуры C++
Строки и иже с ними C++
Структуры Си. Написать программу ввода координат двух точек и вычисления расстояния между ними C++
строки и траблы с ними C++
C++ Файлы и работа с ними
Структуры. Сортировка массива структуры C++
Отличаи класса С++ от структуры на С и структуры на С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 286
11.01.2012, 19:01     Структуры и всё связаное с ними #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
struct Test {
    int get_i() {return i;}// эти члены public
    void put_i(int j) {i =j;} // по умолчанию. Члены структруры по умолчанию открыты
private:
    int i;
};
 
int main()
{
    Test s;
 
    s.put_i(10);
    cout << s.get_i();
    system("pause");
    return 0;
}
Эта программа определяет структурный тип с именем Test, в котором get_i() и put_i() открыты, а i закрыта.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
class Test {
    int i; // private по умолчанию
public:
    int get_i() {return i;}
    void put_i()(int j) {i = j;}
};
 
int main()
{
    Test s;
 
    s.put_i(10);
    cout << s.get_i();
    system("pause");
    return 0;
}
Эквивалентная программа, только в ней вместо struct использовано ключевое слово class
AfoTax
 Аватар для AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
11.01.2012, 19:02  [ТС]     Структуры и всё связаное с ними #3
Ну вот я вроде объявил структуру:
C++
1
2
3
4
5
6
struct person
{
    int age[22];
    char name[22];
    char job[22];
};
Как теперь занести данные в неё?
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 286
11.01.2012, 19:06     Структуры и всё связаное с ними #4
Так не надо ничего заносить. Обьявил, данные есть
AfoTax
 Аватар для AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
11.01.2012, 20:03  [ТС]     Структуры и всё связаное с ними #5
Цитата Сообщение от DebieCooepr Посмотреть сообщение
Так не надо ничего заносить. Обьявил, данные есть
Так а как занести данные в Age, name, job то?)

Добавлено через 47 минут
Ну вот вроде получилось, только почему оно пропускает первый gets?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
struct person
{
    int age;
    char name[22];
    char job[22];
};
 
void main()
{
    person gogo;
    printf("Age:");
    scanf("%d",&gogo.age);
    printf("Name:");
    gets(gogo.name);
    printf("Job:");
    gets(gogo.job);
    printf("Age:%d\nName:%s\nJob:%s\n",gogo.age,gogo.name,gogo.job);
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.01.2012, 20:13     Структуры и всё связаное с ними #6
Используйте scanf
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
typedef struct
{
    int age;
    char name[32];
    char job[32];
} person;
 
int main()
{
    person gogo;
    printf("Age: ");
    scanf("%d", &gogo.age);
    printf("Name: ");
    scanf("%s", gogo.name);
    printf("Job: ");
    scanf("%s", gogo.job);
    printf("Age: %d\nName: %s\nJob: %s\n", gogo.age, gogo.name, gogo.job);
    return 0;
}
AfoTax
 Аватар для AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
11.01.2012, 20:30  [ТС]     Структуры и всё связаное с ними #7
Спасибо.
Но все равно хотелось бы узнать почему оно пропускало первый gets)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2012, 21:02     Структуры и всё связаное с ними
Еще ссылки по теме:

Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили пе C++
C++ Оператор if и структуры. Возвращение структуры из функции
Классы и работу с ними C++
Структуры, нумерация полей структуры C++
C++ Массивы и работа с ними

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.01.2012, 21:02     Структуры и всё связаное с ними #8
Цитата Сообщение от AfoTax Посмотреть сообщение
Но все равно хотелось бы узнать почему оно пропускало первый gets
Оставался символ перевода строки. Если через пробел вводить, то все нормально. Но надо будет 2 раза, ибо gets по EOL отрубается.
Yandex
Объявления
11.01.2012, 21:02     Структуры и всё связаное с ними
Ответ Создать тему
Опции темы

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