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

Ломбард - вывод табличных данных - C++

Восстановить пароль Регистрация
 
LORDVIEW
2 / 2 / 0
Регистрация: 20.04.2012
Сообщений: 54
27.04.2013, 18:51     Ломбард - вывод табличных данных #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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#include <iostream>
#include <fstream>
#include <string.h>
#include <windows.h>
#include <iomanip>
using namespace std;
const int SZ=1;
class Lombard
{
    enum {l_number=8, l_data=10, l_nazvanie=10, l_name=30,l_suma=8,l_vartist=8,l_termin=4};
        int  number;
        char data[l_data];
        char  nazvanie[l_nazvanie];
        char name[l_name];
        int suma;
        int vartist;
        int termin;
    public:
        Lombard(): number(0),suma(0),vartist(0),termin(0)
        {
            strcpy(data, " ");
            strcpy(name, " ");
            strcpy(nazvanie, " ");
        }
        Lombard(int  n, char d[], char  l[], char m[],int s,int v,int t): number(n),suma(s),vartist(v),termin(t)
        {
            strcpy(data, d);
            strcpy(name, m);
            strcpy(nazvanie, l);
        }
        void set();
        void set_file(Lombard []);
        void sort_number(Lombard []);
        void sort_name(Lombard []);
        void poisk_name(Lombard []);
        void title();
        void show();
};
 
void Lombard::set()
{
    
    cout << "Введiть номер паспорту: "; cin >> number;
    cout << "Введiть оцiночну вартiсть: ";  cin >> vartist;  
    cout << "Введiть суму видану пiд заставу: ";    cin >> suma;
    cout<< "Введiть термiн зберiгання в недiлях:";  cin>>termin;
    cout << "Введiть фамiлiю: ";    
    cin.get();
    cin.getline(name, l_name);
    cout<<"Введiть дату здачi: ";   
    cin.get();
    cin.getline(data, l_data);
    cout << "Введiть назву товару: ";   
    cin.get();
    cin.getline(nazvanie, l_nazvanie);
}
 
void Lombard::set_file(Lombard mas[])
{
    /*
    const int l_buf=l_number+l_data+l_lock+l_name;
    char buf[l_buf];
    ifstream fin("dbase.txt", ios::in );
    if (!fin)                                    
    {
        cout << "Ошибка открытия файла" << endl;
        return;
    }
        int i=0;
    while (!fin.eof())
    { 
        fin.getline(buf, l_buf);
        if (i > SZ)
        {
            cout << "Слишком длинный файл" << endl;
            return;
        }
        mas[i].number = atoi(buf);
        strncpy(mas[i].data, &buf[l_number], l_data);
        mas[i].data[l_data] = '\0';
        mas[i].lock = atoi(&buf[l_number+l_data]);
        strncpy(mas[i].name, &buf[l_number+l_data+l_lock], l_name);
        i++;
    }
    cout << "База введена" << endl;
    */
}
 
void Lombard::sort_number(Lombard mas[])
{
    int i,j;
    Lombard temp;
    for (i=0; i<SZ; i++)
        for (j=i+1; j<SZ; j++)
            if (mas[i].number > mas[j].number)
            {
                temp = mas[i];
                mas[i] = mas[j];
                mas[j] = temp;
            }
}
 
void Lombard::sort_name(Lombard mas[])
{
    Lombard temp;
    for (int i=0; i<SZ; i++)
        for (int j=i+1; j<SZ; j++)
            if (strcmp(mas[i].name, mas[j].name)==1)
            {
                temp = mas[i];
                mas[i] = mas[j];
                mas[j] = temp;
            }
}
 
void Lombard::poisk_name(Lombard mas[])
{
    Lombard temp;
    cout << "Введіть прізвище і ініціали: ";
    cin.get();
    cin.getline(temp.name, l_name);
    bool flag=false;
    for (int i=0; i<SZ; i++)
        if (strcmp(temp.name, mas[i].name)==0)
        {
            mas[i].show();
            flag=true;
        }
    if (flag==false)
        cout << "Цього прізвища в базі немає" << endl;
}
 
void Lombard::title()
{
    cout << "                                                       ЛОМБАРД: \n";
    cout << "-----------------------------------------------------------------------------------------------------------------------------\n";
    cout << "   Имя     Номер Паспорта     Назва товару     Оцiночна вартiсть   Сума виданна пiд заставу   Дата Здачi    Термiн зберiгання\n";
    cout << "-----------------------------------------------------------------------------------------------------------------------------  \n";
}
 
void Lombard::show()
{   
    //таблица!
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Lombard obj[SZ]={       Lombard(2323,"22.11.2010","Кольцо","Киселевич И.Г.",433,5111,4)
                    
              };
    int i;
    for (int a=0; !a;)
    {
        cout << endl << "МЕНЮ" << endl;
        cout << "1. Заповнити базу даних з клавіатури\n"  ;
        cout << "2. Заповнити базу даних з файлу\n"  ;
        cout << "3. Сортувати базу по номеру паспорту\n";
        cout << "4. Сортувати базу по прізвищу\n";
        cout << "5. Пошук в базі по прізвищу\n";
        cout << "6. Вивести базу\n";
        cout << "7. Вихід\n";
        cout << "> ";
        int p;
        cin>>p;
        switch(p)
        {
            case 1: for (i=0; i<SZ; i++)
                  {
                    cout << "\nВведіть " << i+1 << " запис" << endl << endl;    
                    obj[i].set();
                  }
                    break;
 
            case 2: obj[0].set_file(obj);
                    break;
 
            case 3: obj[0].sort_number(obj);
                    break;
 
            case 4: obj[0].sort_name(obj);
                    break;
 
            case 5: obj[0].poisk_name(obj);
                    break;
 
              case 6: obj[0].title();
                  for (i=0; i<SZ; i++)
                     obj[i].show();
                  break;
            case 7: a=1;
                    break;
            default : cout << "Невірний виклик!";
        }
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2013, 18:51     Ломбард - вывод табличных данных
Посмотрите здесь:

C++ Применить выравнивание по центру окна
C++ После последнего элемента массива выводится пробел
C++ Вывод данных из структурированного файла
При введении больше 20 чисел программа выдает странный результат C++
Запрос табличных данных C++
C++ Есть массив в виде табличных данных, как его поделить на отдельные элементы для дальнейшей работы?
Вывод данных в ОС C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LORDVIEW
2 / 2 / 0
Регистрация: 20.04.2012
Сообщений: 54
29.04.2013, 16:53  [ТС]     Ломбард - вывод табличных данных #2
помогите плыз)
Yandex
Объявления
29.04.2013, 16:53     Ломбард - вывод табличных данных
Ответ Создать тему
Опции темы

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