Форум программистов, компьютерный форум CyberForum.ru

Не получается сортировка - C++

Восстановить пароль Регистрация
 
Lazariev_V
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 41
30.06.2016, 20:57     Не получается сортировка #1
Привет всем,такая проблема,ввожу нескольких студентов,потом хочу отсортировать их по оценкам (пока что только по хорошим),так вот проблема,только перехожу к сортировке,просто показывает строку "Sorting the students,who took the ofster" .Спасибо заранее

Вот код
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
#include <iostream>
using namespace std;
 
struct Student
{
    char name[50];
    int group;
 
    union Exam
    {
        unsigned subject : 1;
    }mark;
 
}student;
 
void SortArrayStudent(Student *student, int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = n - 1; j > 0; j--)
        {
            if (strcmp(student[j].name, student[j - 1].name) < 0)
                swap(student[j - 1], student[j]);
        }
    }
}
 
void main()
{
    Student myArray[30];
 
    int i = 0;
    int choose;
    int markOftheStudent;
 
    do
    {
        cout << "Please enter the name of the student: " << endl;
        cin.getline(student.name, sizeof(student.name));
 
        cout << "Please enter the group: " << endl;
        cin >> student.group;
 
        
        cout << "Pelase enter thee mark in order to put offster/fail" << endl;
        cin >> markOftheStudent;
 
        if (markOftheStudent > 5 || markOftheStudent < 1)
        {
            cout << "Error: 5-point system only" << endl;
        }
        else if (markOftheStudent == 5 || markOftheStudent == 4 || markOftheStudent == 3)
        {
            cout << "OFSTER" << endl;
        }
        else
        {
            cout << "FAIL EXAM" << endl;
        }
 
        while (markOftheStudent < 0 || markOftheStudent>5);
        student.mark.subject = markOftheStudent;
 
        cout << "\nKeep filling the teacher's list ? 0-no,1-yes:" << endl;
        cin >> choose;
        cin.ignore();
 
        if (choose==0)
        {
            cout << "Sorting the students,who took the ofster";
            if (markOftheStudent == 5 || markOftheStudent == 4 || markOftheStudent == 3)
            {
                SortArrayStudent(myArray, i);
                for (int j = 0; j < i; j++)
                {
                    cout << "\n\nName: " << myArray[j].name << endl;
                }
            }
        }
            
    } while (choose != 0 );
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2016, 20:57     Не получается сортировка
Посмотрите здесь:

Быстрая сортировка и Обменная сортировка - реализация API функции C (СИ)
C (СИ) Сортировка векторов методами: пузырька, Хоара, Шейкерная сортировка
Не получается открыть файл C (СИ)
C (СИ) Поиск по структуре не получается
не получается скомпилировать массив C (СИ)
C (СИ) Не получается удаление в структуре
Сортировка массивов структур - не получается отсортировать строки по значению первого столбца C (СИ)
C (СИ) Пузырьковая сортировка - не получается вывести результат на экран

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Igor_s
11 / 11 / 4
Регистрация: 16.07.2014
Сообщений: 51
01.07.2016, 10:24     Не получается сортировка #2
У вас всегда
C++
1
i = 0;
, если студента добавили наверно нужно
C++
1
i++
Yandex
Объявления
01.07.2016, 10:24     Не получается сортировка
Ответ Создать тему
Опции темы

Текущее время: 20:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru