Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: [C/C++] Передача структуры в функцию  (Прочитано 13317 раз)
0 Пользователей и 1 Гость смотрят эту тему.
krup
Интересующийся

ua
Offline Offline

« : 11-12-2011 18:07 » 

функции для ввода и вывода структур! все работает но не могу понять чо выводит день и месяц 0?что я не правельно сделал..вот кароче
Код:
#include <stdio.h>
#include <stdlib.h>
struct inf{int day;int month;}student;
void vvod_inf(struct inf p){
printf("vvod structuri\n\n");
printf("day: ");scanf("%i",&p.day);
printf("month: ");scanf("%i",&p.month);}
void vivod_inf(struct inf p){
printf("\nvivod structuri\n\n");
printf("day: %i \n",p.day);
printf("month: %i \n",p.month);}
int main(){
vvod_inf(student);
vivod_inf(student);

return 0;}
Здесь была моя ладья... Здесь была моя ладья... Здесь была моя ладья...
« Последнее редактирование: 11-12-2011 18:14 от krup » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 11-12-2011 18:17 » 

Вот короче
Код: (C++)
#include <stdio.h>
#include <stdlib.h>

struct inf {
        int day;
        int month;
        };
       
void vvod_inf(struct inf& p) {
        printf("vvod structuri\n\n");
        printf("day: ");
        scanf("%i",&p.day);
        printf("month: ");
        scanf("%i",&p.month);
}

void vivod_inf(const struct inf& p) {
        printf("\nvivod structuri\n\n");
        printf("day: %i \n",p.day);
        printf("month: %i \n",p.month);
}

int main() {
    inf student;
    vvod_fio(student);
    vivod_fio(student);
    return 0;
}

Добавлено через 5 минут и 19 секунд:
А в стиле С++ короче
Код: (C++)
#include <stdio.h>
#include <stdlib.h>

struct inf {
public:
        void vvod_inf(void) {
                printf("vvod structuri\n\n");
                printf("day: ");
                scanf("%i",&day);
                printf("month: ");
                scanf("%i",&month);
        }

        void vivod_inf(void) {
                printf("\nvivod structuri\n\n");
                printf("day: %i \n",day);
                printf("month: %i \n",month);
        }
private:
    int day;
    int month;

};

int main() {
    inf student;
    student.vvod_fio();
    stusent.vivod_fio();
    return 0;
}
« Последнее редактирование: 11-12-2011 18:23 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
krup
Интересующийся

ua
Offline Offline

« Ответ #2 : 11-12-2011 18:40 » 

спс ))
я думал имя структуры на си нужно ток так
Код:
struct inf student
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 11-12-2011 18:54 » 

В чистом С  struct inf student;

Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 12-12-2011 07:46 » 

я думал имя структуры на си нужно ток так
Код:
struct inf student
В чистом Си есть указатели для подобных вещей. Как-то так:
Код: (C)
void vvod_inf(struct inf* p) {
        printf("vvod structuri\n\n");
        printf("day: ");
        scanf("%i",&p->day);
        printf("month: ");
        scanf("%i",&p->month);
}

void vivod_inf(const struct inf* p) {
        printf("\nvivod structuri\n\n");
        printf("day: %i \n",p->day);
        printf("month: %i \n",p->month);
}

int main() {
    struct inf student;
    vvod_fio(&student);
    vivod_fio(&student);
    return 0;
}
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines