Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
#1

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

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

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

Структуры Си. Написать программу ввода координат двух точек и вычисления расстояния между ними
Представить координаты точек в трёхмерном пространстве в виде структуры,...

Структура Note: по отдельности всё работает, а всё вместе нет
#include <iostream> #include <clocale> #include <cstdlib> #include...

Как опять начать всё заного, когда всё окончилось
// тут есть массивы с вопросами и ответами... int main() { ...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в...

Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили пе
Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S...

7
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 301
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
0
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];
};
Как теперь занести данные в неё?
0
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 301
11.01.2012, 19:06 #4
Так не надо ничего заносить. Обьявил, данные есть
0
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);
}
0
soon
2545 / 1310 / 177
Регистрация: 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;
}
1
AfoTax
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
11.01.2012, 20:30  [ТС] #7
Спасибо.
Но все равно хотелось бы узнать почему оно пропускало первый gets)
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.01.2012, 21:02 #8
Цитата Сообщение от AfoTax Посмотреть сообщение
Но все равно хотелось бы узнать почему оно пропускало первый gets
Оставался символ перевода строки. Если через пробел вводить, то все нормально. Но надо будет 2 раза, ибо gets по EOL отрубается.
2
11.01.2012, 21:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2012, 21:02

сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять?
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного -...

Функция внутри структуры использует указатель, как поле этой структуры
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
Автоматизированная информационная система на железнодорожном вокзале содержит...


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

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

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