Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
markcod3
0 / 0 / 0
Регистрация: 17.09.2015
Сообщений: 7
1

Сортировка в структуре

17.09.2015, 11:17. Просмотров 605. Ответов 5
Метки нет (Все метки)

Надо отсоритровать структуру по параметру "Телефон"
Листал форум, вроде все написано правильно, сортировку делаю "пузырьком", но выводит результат который был введен изначально.
Компилятор Dev-C++
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
#include <stdio.h>
#include <iostream>
#include <clocale>
 using namespace std;
 int main() {
 setlocale (LC_CTYPE, "");
 struct dovidnuk {
 char pr[100]; char vul[100]; char tel[10];};
 struct dovidnuk dov[5],a;
 int i;
 for (i=0;i<2;i++) {
    cout <<  "Студент №" << i+1 << endl;
    printf("Фамилия:"); scanf("%s",dov[i].fam);
    printf("Улица:"); scanf("%s",dov[i].ul);
    printf("Телефон:"); scanf("%s",dov[i].tel);
}
int l;
printf("Для сортировки нажмите 1\n"); scanf("%s",l);
if (l==1)
for(int i=0;i<5;i++)
 for(int j=0;j<4;j++)
 if(dov[i].tel<dov[j].tel) {
        a=dov[i];
        dov[i]=dov[j];
        dov[j]=a;
    }
cout <<  "Sorted:" << endl;
for (i=0;i<5;i++) {
cout <<dov[i].fam<<"\t"<<dov[i].ul<<"\t"<<dov[i].tel<<"\t"<<"\n"<<endl;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2015, 11:17
Ответы с готовыми решениями:

Сортировка в структуре
По заданию нужно ввести данные в структуре, отсортировать по цене (от...

Сортировка в структуре
Нужно считать в структуру информацию из файла, и отсортировать по зарплате. В...

Сортировка в структуре
Нужно создать структуру, вбить туда инфу: имя, факультет, группа, пропусков....

Сортировка в структуре
Структура: struct Worker { string Name; ...

Сортировка данных в структуре
Написал код для структуры, содержащей список фамилий, имен, номеров телефона,...

5
nmcf
6276 / 5578 / 2538
Регистрация: 14.04.2014
Сообщений: 23,468
17.09.2015, 11:39 2
Что за чушь в 18-й строке? Должно быть:
C++
1
printf("Для сортировки нажмите 1\n"); scanf("%d", &l);
1
zss
Модератор
Эксперт С++
7250 / 6699 / 4240
Регистрация: 18.12.2011
Сообщений: 17,680
Завершенные тесты: 1
17.09.2015, 11:47 3
Цитата Сообщение от markcod3 Посмотреть сообщение
cout << "Студент №" << i+1 << endl;
printf("Фамилия:");scanf("%s",dov[i].fam);
Неприлично смешивать божий дар с яичницей
C++
1
2
cout << "Студент №" << i+1 << endl<<"Фамилия:";
cin>>dov[i].fam;
Добавлено через 1 минуту
Цитата Сообщение от markcod3 Посмотреть сообщение
if(dov[i].tel<dov[j].tel) {
C++
1
if(strcmp(dov[i].tel,dov[j].tel)==-1){
1
markcod3
0 / 0 / 0
Регистрация: 17.09.2015
Сообщений: 7
17.09.2015, 22:43  [ТС] 4
nmcf,
Сортировка теперь работает, спасибо, но могли бы обьяснить почему именно так, или где почитать можно про это?

zss,
Все работет, но на выводе вместо русских букв какойто бред, с англ. все нормально, в чем может быть проблема?
0
nmcf
6276 / 5578 / 2538
Регистрация: 14.04.2014
Сообщений: 23,468
17.09.2015, 23:08 5
Читай описание функции scanf(). Там должны быть указатели и буквы в форматной строке в соответствии с типами вводимых данных.
0
zss
Модератор
Эксперт С++
7250 / 6699 / 4240
Регистрация: 18.12.2011
Сообщений: 17,680
Завершенные тесты: 1
18.09.2015, 08:02 6
setlocale устанавливает для консоли вывода Windows кодировку.
Однако ввод так и остается в DOS кодировке.
C++
1
2
3
4
5
#include <windows.h>
...
cin>>dov[i].fam;
OemToChar(dov[i].fam,dov[i].fam);
....
0
18.09.2015, 08:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2015, 08:02

Сортировка данных в структуре
Здравствуйте, как отсортировать структуру по количеству детей в семье ...

Сортировка по фамилии в структуре
Посмотрите пожалуйста структуру Студент! Нужно сделать сортировку по...

Сортировка данных в Структуре С++
Доброго времени суток, дорогие форумчане! Возникла следующая проблема. Нужно...


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

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

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