Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с таблицей, plz 
:(
    Опции темы
stap
  Дата 18.5.2005, 19:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну в общем уже сть следующее (ввод таблицы записей типа автор, название книги, цена):
Код

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

struct kng {char avtor [45], nazvanie [45]; int tsena;};

kng tabl [5];

void enter (kng & x) {
int j; cout << "avtor:";
cin >> x.avtor;
cout << "nazvanie:";
cin >> x.nazvanie;
{cout << "tsena" << ":";
cin >> x.tsena;}
}

void print (kng x)

{ cout << setw (20) << x.avtor << setw (10) << x.nazvanie
<< setw (3)<<' '<< x.tsena;}

void enter (kng y [], int & n)
{ cout << "Razmer tablitsy:"; cin >> n; int i;
for (i = 0; i < n; i ++) enter (y [i]);}

void print (kng y [], int n)
{int i; for (i = 0; i < n; i++)
{print (y [i]); cout << endl;
}}

void main ()

{kng tabl [5]; int n;

do {textcolor (10);
clrscr ();

cout << "1 - Enter, 2 - Vivod, Esc - Quit\n";

switch (getch ())

{case '1': enter (tabl, n); break;
case '2': print (tabl, n); break;
case  27 : exit (0);
}
getch ();
}
while (1);
}


Необходимо:
ЛИБО Найти самую дорогую книгу
ЛИБО Отсортировать книги по алфавиту названия.

Собственно это самое ЛИБО основывается на том, что проще реализовать (где будет менее громоздко). Заранее спасибо. smile
  Вверх
Yanis
Дата 18.5.2005, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Самое лёгкое это найти самую дорогую книгу. Просто перебрать все книги и всё. Пока ещё не разбирался, но зачем в Main объявлять массив kng tabl [5]; и ещё глобальный с таким же именем?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
gepard
Дата 20.5.2005, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2477
Регистрация: 29.2.2004

Репутация: 2
Всего: 40



Читабельность кода = -100.
Согласен с Yanis.
А в чём проблема-то?


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
stap
Дата 20.5.2005, 15:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проблема в том, что надо добавить сюда код для поиска самой дорогой книги, желательно с пояснением. ну и читабельность поправить можно...
  Вверх
Lamak
Дата 20.5.2005, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Получай
Код

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

struct kng
{
    char avtor [45],nazvanie [45];
    int tsena;
};
kng tabl [15];
//-----------------------------------//
void enter (kng & x)
{
    int j; cout << "avtor:";
    cin >> x.avtor;
    cout << "nazvanie:";
    cin >> x.nazvanie;
    cout << "tsena" << ":";
    cin >> x.tsena;
}
//-----------------------------------//
void print (kng x)
{
    cout << setw (20) << x.avtor << setw (10) << x.nazvanie
        << setw (3)<<' '<< x.tsena;
}

//-----------------------------------//
void enter (kng y [], int & n)
{
    cout << "Razmer tablitsy:";
    cin >> n;
    int i;
    for (i = 0; i < n; i ++) enter (y [i]);
}
//-----------------------------------//
void print (kng y [], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        print (y [i]);
        cout << endl;
    }
}
//-----------------------------------//
void max(int n)
{
    int i,k;
    int max=tabl[0].tsena;
    for (i = 1; i <n ; i++)
    {
        if(tabl[i].tsena>max)
        {
            max=tabl[i].tsena;
            k=i;
        }
    }
    print (tabl[k]);
    cout << endl;
}
//-----------------------------------//
void main ()
{
    int n;
    do
    {
        textcolor (10);
        clrscr ();
        cout << "1 - Enter, 2 - Vivod, 3 - Max, Esc - Quit\n";
        switch (getch ())
        {
        case '1':
            enter (tabl, n);
            break;
        case '2':
            print (tabl, n);
            break;
        case '3':
            max(n);
            break;
        case  27:
            exit (0);
        }
        getch ();
    }while (1);
}


Добавлено @ 16:43
И ещё: все свои процедуры можеш переделать .
В том плане что в них не надо пересылать tabl,
т.к. она (tabl) обьявлена как глобальная переменная и видна во всех процедурах.

--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
stap
Дата 20.5.2005, 22:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











smile to Lamak: Огромное спасибо!!! smile smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0669 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.