IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Сортировка записей, Си++
Unknown
сообщение 12.12.2006 10:58
Сообщение #1


Гость






В общем, вот само задание:
Написать и протестировать функции сортировки записей и поиска их по ключам для следующих методов: линейный выбор с обменом, бинарный поиск.
Запись имеет три поля, например, фамилия, имя, номер телефона. Иметь не менее 30 записей. Поиск - по любому ключу, задаваемому из меню.

Вот то, что я сделал:

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

class qwe
{
public:
char name[20];
char sirname[20];
char phone[7];
};

int main()
{
clrscr();
randomize;
int k;
qwe base[30];
for(int i=1;i<=30;i++)
{
for (k=1;k<random(10)+5;k++)
{
base[i].name[k]=char(random(25)+65);
base[i].sirname[k]=char(random(25)+65);
}
for (k=1;k<8;k++)
base[i].phone[k]=random(9);
}
getch();
}


Этот кусок программы должен заполнять базу данных: имя, фамилию и телефон. Имя и фамилия - случайный набор букв (заглавных латинских), телефон - случайная последовательность из 7 цифр. Где здесь ошибка?

Допустим, есть у меня эта база, а что дальше делать?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 12.12.2006 12:33
Сообщение #2


Гость






Во-первых, если ты уже написал, что это С++, и пользуешься классами, то почему бы тебе не воспользоваться и конструкторами, чтобы не делать генерацию вручную, а она проводилась бы автоматически?

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

const int size = 20;
class qwe
{
public:
char name[size];
char sirname[size];
char phone[8];

qwe();
};

qwe :: qwe() {

int k;

for(k = 0; k < random(10) + 5; k++)
name[k] = char(random(25)+65);
name[k] = '\0';

for(k = 0; k < random(10) + 5; k++)
sirname[k] = char(random(25)+65);
sirname[k] = '\0';

for(k = 0; k < 7; k++)
phone[k] = char(random(10) + '0');
phone[7] = '\0';

}

int main() {

clrscr();
randomize;

qwe base[30];
for(int i = 0; i < 30; i++)
cout << base[i].name << " , " <<
base[i].sirname << " : " <<
base[i].phone << endl;

getch();
return 0;

}
Вот так, например...

Цитата
а что дальше делать?
А теперь пиши процедуры сортировки, которые тебе нужны (в Паскалевском FAQ-е есть эти методы: Методы сортировок + Бинарный (двоичный) поиск ), также есть описание способа как из меню выбрать поле для сортировки по нему: Сортировка записи с процедурой

Посмотри, как это делается...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 11:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"