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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.95
Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
#1

typedef struct - C++

03.06.2009, 20:30. Просмотров 7786. Ответов 4
Метки нет (Все метки)

Ребята, нужна помощь. Первый раз использую typedef struct. Вроде бы всё работает, но хочу удостовериться по причине: это мой уже 2-ой исправленный вариант, 1-ый как бы работал тоже но мой инструкор сказал что всё нужно исправить. Этот код исправлен но прежде чем я передам его инструктору, хотелось бы знать что я правильно использовала typdef struct


Я не буду post всю программу,только декларацию и функцию :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include<stdlib.h>
 
struct date
{
    char month[10];
    int day;
    int year;
};
 
typedef struct date BIRTHDAY;
 
BIRTHDAY X;

в функцию я не передаю и не возвращаю, правильно ли это?

C++
1
2
3
4
5
void get_birthday()
{
    puts("Enter birthday in a format as ( January 20 1970)");
    scanf("%s%d%d", X.month, &X.day, &X.year);
}
main() функция


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
main(void)
{
    char first_name[10];
    int age, i;
    int month;
    
    
    if(get_name(first_name)<=5) 
      printf("Your name is short\n");
    else
      printf("your name is long\n");
        printf("\n");
 
    age=get_age(); //get user age
 
    if(age<=20)
        printf("You still baby\n");
    else
        for(i=21; i<=age; ++i)
            printf("Boy are you OLD!\n" );
            printf("\n");
 
    printf("Average of entered integers is %.2f\n", get_average_of_integers()); 
    printf("\n");
 
    printf("What month is now? (1-12)");
    scanf("%i", &month);
    
    what_holiday_in_this_month(month);
    printf("\n");
 
    
    get_birthday(); //passing struct to function
    
    printf("%s %i, %i\n", X.month, X.day, X.year);    [COLOR="Red"] //не уверена что правильно но работает[/COLOR]  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2009, 20:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос typedef struct (C++):

typedef struct .... - C++
Здравствуейте. Обьясните пожалуйсто новичку что означает этот код. typedef struct { long num_servers; long data_size; char*...

typedef struct - C++
а зачем вы используете конструкцию typedef struct name{...} ? и какие она дает преимущества в отличии от struct name{...}

typedef struct + TXT - C++
Такое вот задание.. есть TXT файл, пропарсить смогу сам, а дальше не знаю что делать, допустим, считали данные : Строка : &quot;Ученики&quot; ...

Для чего typedef struct - C++
Часто в &quot;профессиональном&quot; коде вижу - typedef struct MyStruct { // ... } MyStuct; даёт ли это какие то преимущества перед...

Волшебные вещи с typedef struct - C++
у меня сейчас мозг взорвется не пойму в чем ошибка,где я не так делаю? #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; ...

Программа через структуру typedef struct - C++
Люди помогите если несложно с программой, задание таково: 1.С клавиатуры вводятся пункты структуры - Студент: Матрикул - номер...

4
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
03.06.2009, 20:45 #2
typedef просто задает псевдоним для типа. В остальном, ничего не меняется.
0
Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
03.06.2009, 21:04  [ТС] #3
Беспокоит вопрос, должна ли функция return (X);

в функцию я не передаю и не возвращаю, правильно ли это?


C++
1
2
3
4
5
6
Код:
void get_birthday()
{
    puts("Enter birthday in a format as ( January 20 1970)");
    scanf("%s%d%d", X.month, &X.day, &X.year);
}
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
03.06.2009, 21:08 #4
Хех. В данном коде у тебя Х глобальная. Зачем его return.
Вообще тебе нужно переделать, чтобы указатель (ссылка ли) на объект твоей структуры передавался в функцию. Тогда и ретурн не нужен и внешнюю переменную изменишь. Да и не будет привязки к имени, как у тебя сейчас с Х.
Подумай, как это сделать. Если что, поможем.

Добавлено через 1 минуту 11 секунд
http://www.cyberguru.ru/programming/...p2-page61.html
1
Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
03.06.2009, 21:22  [ТС] #5
спасибо, думаю что справлюсЬ
0
03.06.2009, 21:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2009, 21:22
Привет! Вот еще темы с ответами:

Typedef - C++
Наткнулся на пример ниже: typedef char *cstring; //Каков тип переменной cstr в следующем объявлении: const cstring cstr; ...

typedef - C++
double f(double x){ } typedef double (*TPF)(double); TPF fff = f; fff(10.0); как и почему это работает корректно, если в...

Typedef - C++
Доброго времени суток. Привожу вам отрывок из книги &quot;C и Visual C++ 2008 для начинающих&quot;. В книге приведен пример объявления структуры с...

typedef в c++ - C++
Здравствуйте! Нужно собрать полную информацию по оператору typedef в c++. Пока нашел, что typedef используется для задания новых...


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

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

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