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

Задать функцию, которая выполняет ввод данных по структуре

08.12.2014, 21:03. Просмотров 344. Ответов 4
Метки нет (Все метки)

Необходимо задать функцию, которая выполняет ввод данных по структуре. Не очень понимаю, что должна вернуть функция (108 строка). Ошибка естественно соответствующая: error C4716: inputData: должна возвращать значение. Заранее благодарю, кто объяснит)

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <conio.h>
#include <locale.h>
 
int i;
struct FIO_type
        {
            char name[20];
            char surname[20];
            char fam[20];
        };
 
struct group_type
        {
            char aprav[20];
            unsigned int numbgr;
        };
 
struct firsts_type
        {
            unsigned int math1;
            unsigned int programm1;
            unsigned int physics1;
        };
struct seconds_type
        {
            unsigned int math2;
            unsigned int programm2;
            unsigned int physics2;
        };
        
 
struct Student_type
    {
        struct FIO_type FIO;
        unsigned int course;
        struct group_type group;
        char hobby[40];
        struct firsts_type marks1;
        struct seconds_type marks2;
    } *students;
 
 
struct Student_type inputData(){
    setlocale(LC_ALL,"rus");
    int num; 
    printf("Задайте количество студентов, которое собираетесь ввести:");
    scanf("%d",&num);
    printf("\n");
    printf("Введите информацию о студенте:\n\n");
    students=(struct Student_type*)malloc(num*sizeof(Student_type));
 
    for (i=0;i<num;i++){
        fflush(stdin);
        printf("Отчество:");
        gets(students[i].FIO.surname);
        printf("Имя:");
        gets(students[i].FIO.name);
        printf("Фамилия:");
        gets(students[i].FIO.fam);
        printf("Курс:");
        scanf("%d", &students[i].course);
        printf("Группа:");
        scanf("%s", &students[i].group.aprav);
        scanf("%d", &students[i].group.numbgr); 
        printf("Хобби:");
        scanf("%s",students[i].hobby); 
        printf("Оценки должны быть от 0 до 5.\n");
        do{
            printf("Оценка по математике в первом семестре:");
            scanf_s("%d",&students[i].marks1.math1);
        }
        while(students[i].marks1.math1<0 || students[i].marks1.math1>5);
 
        do{
            printf("Оценка по физике в первом семестре:");
            scanf_s("%d",&students[i].marks1.physics1);
        }
        while(students[i].marks1.physics1<0 || students[i].marks1.physics1>5);
        
        do{
        printf("Оценка по программированию в первом семестре:");
        scanf_s("%d",&students[i].marks1.programm1);
        }
        while(students[i].marks1.programm1<0 || students[i].marks1.programm1>5);
              
        do{
            printf("Оценка по математике во втором семестре:");
            scanf_s("%d",&students[i].marks2.math2);
        }
        while(students[i].marks2.math2<0 || students[i].marks2.math2>5);
 
        do{
            printf("Оценка по физике во втором семестре:");
            scanf_s("%d",&students[i].marks2.physics2);
        }
        while(students[i].marks2.physics2<0 || students[i].marks2.physics2>5);
        
        do{
        printf("Оценка по программированию во втором семестре:");
        scanf_s("%d",&students[i].marks2.programm2);
        }
        while(students[i].marks2.programm2<0 || students[i].marks2.programm2>5);
 
        printf("\n\n");
return ;
}
}
void func(struct Student_type, int*student, int num){
    int f=0;
    printf("Студенты 3-го курса, чьи оценки удовлетворительны в учебном году:");
    for (i=0;i<num;i++)
    {
        if(students[i].course==3 && students[i].marks1.math1>3 && students[i].marks1.physics1>3 && students[i].marks1.programm1>3 && students[i].marks2.math2>3 && students[i].marks2.physics2>3 && students[i].marks2.programm2>3) 
        {printf("%s\t%s\n", &students[i].FIO.name,&students[i].FIO.fam);f++;}
    }
    if(f==0) printf("Таких студентов нет");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2014, 21:03
Ответы с готовыми решениями:

Написать программу, которая выполняет ввод текстовой информации из файла или стандартного потока ввода
Написать программу, которая выполняет ввод текстовой информации из файла или стандартного потока...

Написать функцию, которая выполняет возведение в квадрат всех элементов массива
Написать функцию, которая выполняет возведение в квадрат всех элементов массива с нечетными...

Написать функцию, которая динамически выделит память для полей в структуре
Доброго времени Уважаемые Гуру! Вопрос такой: Нужно сделать функцию которая динамически выделит...

Напишите программу, которая запрашивает ввод значений переменных t, b, r целого типа, и выполняет алгоритм
Напишите программу, которая запрашивает ввод значений переменных t, b, r целого типа, и выполняет...

Написать функцию Dohod которая выполняет доход по вкладу
Написать функцию Dohod которая выполняет доход по вкладу,используемыми данными являются:величина...

4
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
08.12.2014, 21:09 2
Цитата Сообщение от Yumie Посмотреть сообщение
struct Student_type inputData(){
внутри функции только одна переменная с типом возвращаемого значения - students, ее возвращайте, а точнее *students.
1
Yumie
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 16
08.12.2014, 21:20  [ТС] 3
Появились ошибки:
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
1>D:\labbb6\Debug\labbb6.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
0
castorsky
1973 / 1076 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
08.12.2014, 23:19 4
Цитата Сообщение от Yumie Посмотреть сообщение
Заранее благодарю, кто объяснит
А Вам ничего и не надо там выделять. Поставьте тип функции void.
1
MrCold
862 / 760 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
08.12.2014, 23:52 5
Цитата Сообщение от castorsky Посмотреть сообщение
Поставьте тип функции void.
а название поменять на main и вернуть ноль.
0
08.12.2014, 23:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2014, 23:52

Написать программу, которая выполняет ввод даты рождения и выводит на экран произведение этих чисел
Помогите написать программу в которой выполняет ввод даты рождения (число, месяц, год) и выводит...

Написать функцию, которая выполняет поиск значения в произвольном массиве
Написать функцию, выполняющую поиск указанного значения в произвольном массиве. Результат поиска...

Написать функцию , которая выполняет сложение и вычитание данной строки
Написать функцию arf, которая выполняет сложение и вычитание данной строки Пример: arf(&quot;3+6-1&quot;)=8


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

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

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