Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рэмбо комнатный
102 / 102 / 99
Регистрация: 05.03.2017
Сообщений: 507
1

Найти ошибки в определении функции поиска (исправить код)

15.05.2017, 08:48. Просмотров 389. Ответов 3
Метки нет (Все метки)


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
#include <iostream>
#include <string>
 
using namespace std;
 
struct Cours
{
    string surname;
    string coursname;
    int length;
};
 
void Sort(Cours *arr, const int n)
{
    string sname,cname;
    int len;
    for (int i=0;i<n-1;i++)
    {
        for (int j=i+1;j<n;j++)
        {
            if (arr[i].length<arr[j].length)
            {
                sname=arr[i].surname;
                arr[i].surname=arr[j].surname;
                arr[j].surname=sname;
 
                cname=arr[i].coursname;
                arr[i].coursname=arr[j].coursname;
                arr[j].coursname=cname;
 
                len=arr[i].length;
                arr[i].length=arr[j].length;
                arr[j].length=len;
            }
        }
    }
}
 
void Find(Cours *arr, const int n)
{
    int temp;
    string var;
    cout << "Название курса, фамилия - 0" << endl;
    cout << "Длительность - 1" << endl;
    cout << "Что вы хотите ввести (вводить код поля) ?";
    cin >> temp;
    if (temp==1)
    {
        int m;
        cout << "Введите значение поля: ";
        cin >> m;
        for (int i=0;i<n;i++)
        {
            if (arr[i].length==m)
            {
                cout << arr[i].surname << " | " << arr[i].coursname << " | " << arr[i].length << endl;
            }
        }
    }
    else
    {
        cout << "Введите значение поля: ";
        getline(cin,var);
        for (int i=0;i<n;i++)
        {
            if (arr[i].coursname==var || arr[i].surname==var)
            {
                cout << arr[i].surname << " | " << arr[i].coursname << " | " << arr[i].length << endl;
            }
        }
    }
}
 
void Print(Cours *arr, const int n)
{
    cout << "Таблица: " << endl;
    for (int i=0;i<n;i++)
    {
        cout << arr[i].surname << " | " << arr[i].coursname << " | " << arr[i].length << endl;
    }
}
 
int main()
{
    setlocale(LC_ALL,"rus");
    int n;
    cout << "Введите количество записей: ";
    (cin >> n).get();
    Cours arr[n];
    for (int i=0;i<n;i++)
    {
        cout << "Введите фамилию: ";
        getline(cin,arr[i].surname);
        cout << "Введите название курса: ";
        getline(cin,arr[i].coursname);
        cout << "Введите длительность обучения ( в годах ): ";
        cin >> arr[i].length;cin.ignore();
    }
    Print(arr,n);
    Sort(arr,n);
    Print(arr,n);
    Find(arr,n);
    return 0;
}
когда запускаешь функцию поиска, то при вводе 0 она ничего не требует написать и программа заканчивается, в чем трабл?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2017, 08:48
Ответы с готовыми решениями:

Исправить ошибки в определении шаблона класса
Подскажите пожалуйста как исправить эту ошибку template &lt;class T&gt; struct A { T x; }; ...

Найти и исправить ошибки в коде (заставить компилироваться заданный код)
Уважаемые форумчане! Собственно, нашел код на просторах интернета, пытаюсь его завести. Не выходит,...

Почему не компилируется заданный код? (Найти и исправить ошибки в коде)
#include &lt;iostream&gt; using namespace std; int main() { int i, n, max, min; double...

Код работает не так, как ожидается (найти и исправить ошибки)
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; char deletika(char a, long ot, long...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
3
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
15.05.2017, 10:03 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
void Find(Cours *arr, const int n)
{
    int temp;
    string var;
    cout << "Название курса, фамилия - 0" << endl;
    cout << "Длительность - 1" << endl;
    cout << "Что вы хотите ввести (вводить код поля) ?";
    cin >> temp;
    if (temp==1)
    {
        int m;
        cout << "Введите значение поля: ";
        cin >> m;
        for (int i=0;i<n;i++)
        {
            if (arr[i].length==m)
            {
                cout << arr[i].surname << " | " << arr[i].coursname << " | " << arr[i].length << endl;
            }
        }
    }
    else
    {
        cout << "Введите значение поля: ";
       cin>>var;
        for (int i=0;i<n;i++)
        {
            if (arr[i].coursname==var)
            {
                cout << arr[i].surname << " | " << arr[i].coursname << " | " << arr[i].length << endl;
            }
        }
    }
}
0
Рэмбо комнатный
102 / 102 / 99
Регистрация: 05.03.2017
Сообщений: 507
15.05.2017, 12:26  [ТС] 3
Antikl, а какая разница? я конечно понимаю, но где ошибка то и в чем заключена
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
15.05.2017, 16:15 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
else
    {
        cout << "Введите значение поля: ";
       cin>>var;
        for (int i=0;i<n;i++)
        {
            if (arr[i].coursname==var)
            {
                cout << arr[i].surname << " | " << arr[i].coursname << " | " << arr[i].length << endl;
            }
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2017, 16:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Функции и массивы: найти и исправить ошибки в коде
Я написал три функции, но после запуска, выводят ошибки, что не так? // Вариант 1. // Выполнить...

Описать структуру с именем TIMETABLE (найти и исправить ошибки в коде, улучшить код)
Описать структуру с именем TIMETABLE, содержащий следующие поля: NAZV - название пункта назначения,...

Найти на отрезке [-10;10] абсциссу точки минимума функции. Исправить ошибки
Приветствую всех. Такая проблема: Делаю лабораторную работу, нужно отобразить результат работы...

Написать функцию поиска человека по заданному полю структуры "Знак Зодиака" (найти и исправить ошибки в коде)
Здравствуйте! Не могу правильно вывести в программе дату рождения. Надо сделать чтобы выводил в...


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

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

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