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

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

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

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

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

Никак не могу разобраться со структурами. Завтра зачет по этой тебе, а я фиг что понимаю)
Можете помочь разобраться как их объявлять, задавать и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 18:55     Структуры и всё связаное с ними
Посмотрите здесь:
Структуры Си. Написать программу ввода координат двух точек и вычисления расстояния между ними C++
Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили пе C++
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? C++
Функция внутри структуры использует указатель, как поле этой структуры C++
Вывод структуры, строка как элемент структуры C++
Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? C++
Структуры. Работа с файлами, содержащими структуры C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 292
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
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
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 292
11.01.2012, 19:06     Структуры и всё связаное с ними #4
Так не надо ничего заносить. Обьявил, данные есть
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
2540 / 1305 / 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
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     Структуры и всё связаное с ними
Еще ссылки по теме:
C++ Оператор if и структуры. Возвращение структуры из функции
Структуры. Вызов данных структуры по указателю. с++ C++
C++ Понятие структуры данных. Элементарные структуры данных. Простые структуры данных
Отличаи класса С++ от структуры на С и структуры на С++ C++
Структуры. Сортировка массива структуры C++

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

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

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