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

Не заполняется структура

27.12.2013, 05:23. Просмотров 415. Ответов 2
Метки нет (Все метки)

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
#include <iostream>
#include <string>
#include <stdio.h>
#include<conio.h>
//#include "stdafx.h"
using namespace std;
 
bool password_is_valid (string password)
{
        setlocale(0, "rus");
        string valid_pass = "qwerty123";//похоже это уже C++, a не С, но как реализовать на С я не знаю =(
        if (valid_pass == password)
                return true;
        else
                return false;
}
 
void get_pass ()// Здесь могла бы быть ваша реклама
{
        setlocale(0, "rus");
        string user_pass;
        printf ("Введите пароль: ");
        getline(cin, user_pass);
        if (!password_is_valid(user_pass)) {
                printf ("Доступ разрешен.\n");
                get_pass (); // Здесь делаем рекурсию
        } else {
                printf ("Доступ разрешен.\n");
        }
}
 
 
struct STUDENT // структура STUDENT
{
    string name;
    int group;
    float ses[5];
};
 
int main()
{
    get_pass ();
 
    setlocale(0, "rus");
    //const int size = 3; // количество студентов
    printf ("Введите кол-во студентов \n");
    int size;
    scanf ("%d",&size);
 
    STUDENT stud1[size]; // массив
    int i, j;
    int n = 0; // счётчик студентов
    int count = 0; // счётчик студентов с плохими отметками
    // если он равен количеству студентов значит хорошистов нет
 
    for (i = 0; i < size; ++i)  // ввод информации
    {
 
        printf ("Введите фамилию студента \n");
        scanf ("%c",&stud1[n].name);
        printf ("Введите номер группы \n");
        scanf ("%d",&stud1[n].group);
        printf ("Введите 5 оценок \n");
 
        for (int i = 0; i < 5; i++)
            scanf ("%d", &stud1[n].ses[i]);
        ++n;
 
    }
 
    printf ("\n === Список студентов с хорошей успеваемостью: \n");
    float sum = 0; // счётчик суммы оценок
    for (i = 0; i < size; ++i)
    {
        for (j = 0; j < 5; ++j) sum += stud1[i].ses[j];
 
        if (sum / 5 > 4.0) // условие хорошиста
        {
            printf ("%c", stud1[i].name, "/n");
            printf ("%d", stud1[i].group, "/n");
 
        }
        else  ++count;
        sum = 0;
    }
    if (count == size) printf ("Такие студенты отсутствуют \n");
 
 
    char v = getch();
    if(v == 26)
    {
    return 0;
    }
 
}
Вылетает и не заполняет структуру, помогите исправить ошибки
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2013, 05:23
Ответы с готовыми решениями:

Структура не заполняется данными
Доброе время суток господа,помогите исправить ошибки в коде.При попытке ввода фамилии выдает...

Почему некорректно заполняется структура?
1-й вариант #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std;...

Web grabber. Структура неправильно заполняется
Всем здравствуйте. Заинтересовался Go, пока, конечно, только на уровне простых вещей типа...

Не заполняется структура, при вызове функции из dll.
Здравствуйте. Возникла такая ситуация. Хочу подцепить dllку в проект borland c++ builder 6,...

Таблица заполняется на одних компьютерах и не заполняется на других
Всем доброго дня. Столкнулся с довольно странной проблемой. Довольно долго пользуюсь базой...

2
zss
Модератор
Эксперт С++
8747 / 7653 / 4730
Регистрация: 18.12.2011
Сообщений: 20,358
Завершенные тесты: 1
27.12.2013, 10:53 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
STUDENT stud1=(STUDENT*)malloc(size*sizeof(STUDENT)); // массив
    int i, j;
    int n = size; // счётчик студентов
    int count = 0; // счётчик студентов с плохими отметками
    // если он равен количеству студентов значит хорошистов нет
 
    for (i = 0; i < size; ++i)  // ввод информации
    {
 
        printf ("Введите фамилию студента \n");
        scanf ("%s",stud1[i].name);
        printf ("Введите номер группы \n");
        scanf ("%d",&stud1[i].group);
        printf ("Введите 5 оценок \n");
 
        for (int j = 0; j < 5; j++)
            scanf ("%d", &stud1[i].ses[j]);
    }
// в конце не забыть освободить память:
    free(stud1);
0
superNOOB
3 / 3 / 0
Регистрация: 04.10.2013
Сообщений: 37
27.12.2013, 19:31  [ТС] 3
Большое спасибо, но ошибки и сбой в работе это никоим образом не устранило
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2013, 19:31

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость.
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать...

Структура таблицы для ввода номенклатуры в БД Аксесс 2003+ структура изделия
Доброго времени суток форумчане! Продолжаю писать свою самоделку, возник вопрос: Номенклатуру в...

Структура проектов, структура выходного каталога и пользовательские расширения сборок
В общем есть решение из нескольких проектов. Есть зависимости от сторонних библиотек. Требуется...


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

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

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