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

Динамическая структура - C++

Восстановить пароль Регистрация
 
Вamboo
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 26
20.01.2014, 21:15     Динамическая структура #1
Помогите пожалуйста с заданием. Дано задание:
На междугородной телефонной станции картотека абонентов, содержащая сведения о телефонах и их владельцах, организована как линейный список.
Составить программу, которая:
обеспечивает начальное формирование картотеки в виде линейного списка;
производит вывод всей картотеки;
вводит номер телефона и время разговора;
выводит извещение на оплату телефонного разговора.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Осилил только это:
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct telbook
{
    char name[20];       // Имя абонента
    int phone;           // Номер абонента
    int time;            // Время разговоров по телефону в мин.
    char duty[8];               // Задолжность в руб.
        int d;
    struct telbook *left, *right;
};
 
int _tmain(int argc, _TCHAR* argv[])
{       
        setlocale(0,"RUS");
        const int n=8;
        telbook a,p[n]={
                {"Aaagr",233344,204,"500rur"},
                {"Aabrs",245656,15,"60rur"},
                {"Acorp",209879,44,"140rur"},
                {"Baara",254656,97,"200rur"},
                {"Cisco",345645,523,"1200rur"},
                {"Delph",456456,600,"1250rur"},
                {"Enots",888887,22,"90rur"},
                {"Genak",123454,2,"10rur"}};
 
               for (int i;i<n;i++)
    {
        telbook* current;
        current[i].name = p[0].name;
        if ((current[i].name)>(p[i].name)) 
 
            p[i].name=p[i].name->left;
    }   
        getch();
        return 0;
}
Помогите доработать задание!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 21:15     Динамическая структура
Посмотрите здесь:

C++ Динамическая структура.С. Срочно!!
Динамическая структура C++
C++ Динамическая структура данных С++
Динамическая структура данных C++
C++ Динамическая структура данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
20.01.2014, 21:20     Динамическая структура #2
Вamboo, по хорошему вас надо создать не статический массив структур, а именно список. Я частенько для удобства создаю 2 вспомогательных элемента (начало и конец), между которыми и будут располагаться элементы.
пишете
C++
1
telbook *elem = new telbook;
задаете в его полях left и right ссылки на соседние элементы. Понимаете?
и само собой создаете указатели на начало и конец списка... что бы не потерять
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
20.01.2014, 21:31     Динамическая структура #3
Вamboo, а в сроке 32 память не хотите выделить? в строке 10 использовано зарезервированное слово time(не хорошо так делать)

Добавлено через 6 минут
Вamboo, и как сказано выше, не ясно зачем Вам вообще массив. Вам нужен список. как его реализовывать написано на википедии.
Вamboo
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 26
20.01.2014, 21:38  [ТС]     Динамическая структура #4
Исправил, то что говорили:
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct telbook
{
    char name[20];       // Имя абонента
    int phone;           // Номер абонента
    int vremja;            // Время разговоров по телефону в мин.
    char duty[8];               // Задолжность в руб.
        int d;
    struct telbook *left, *right;
};
int _tmain(int argc, _TCHAR* argv[])
{       
        setlocale(0,"RUS");
        const int n=8;
        telbook a,p[n]={
                {"Aaagr",233344,204,"500rur"},
                {"Aabrs",245656,15,"60rur"},
                {"Acorp",209879,44,"140rur"},
                {"Baara",254656,97,"200rur"},
                {"Cisco",345645,523,"1200rur"},
                {"Delph",456456,600,"1250rur"},
                {"Enots",888887,22,"90rur"},
                {"Genak",123454,2,"10rur"}};
 
               for (int i;i<n;i++)
    {
      telbook *elem = new telbook;
current[i].name = p[0].name;
        if ((current[i].name)>(p[i].name)) 
 
            p[i].name=p[i].name->left;
    }   
        getch();
        return 0;
 
}
не совсем понял про ссылки на соседние элементы не понял совсем..
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
20.01.2014, 21:41     Динамическая структура #5
Цитата Сообщение от Вamboo Посмотреть сообщение
не совсем понял про ссылки на соседние элементы не понял совсем..
тогда почитайте вот это
Yandex
Объявления
20.01.2014, 21:41     Динамическая структура
Ответ Создать тему
Опции темы

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