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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ По поводу ссылок и конструктора копирования http://www.cyberforum.ru/cpp-beginners/thread850196.html
Никак не пойму. При создании объекта и передачи конструктору в качестве параметра объекта другого класса, отладчик показывает что на строчке Data(Element) выполняется конструктор копирования класса T. Разве не должна вместо этого теперь переменная Data "указывать" на туже область памяти что и ссылка Element. Я всегда думал что при присвоении объекту ссылки на другой объект никаких...
C++ Двухмерный массив: Написать программу, указывающую для каждого вопроса проценты ответов «Да», «Нет», «не знаю» В двухмерном массиве размером n x m хранятся результаты опроса n человек на m вопросов. Ответами на вопросы являются слова «Да», «Нет», «не знаю». Написать программу, указывающую для каждого вопроса проценты ответов «Да», «Нет», «не знаю» http://www.cyberforum.ru/cpp-beginners/thread850183.html
C++ Работа с графикой
Здравствуйте, помогите разобраться с программой? в результате должны получиться различные графические объекты, перемещающиеся по прямым траекториям с разными случайными векторами скоростей. и возможность добавления и удаления объектов. вот все, что есть. программа не работает. #include <stdlib.h> #include <time.h> #include <grx20.h> #include <grxkeys.h> struct TPoint{ int x,y; int vx,...
C++ Сформировать массив по правилу
программа формирования и вывода массива размером 6 на 3, каждые три последовательных элемента в строке которого составлены по следующему правилу: 1-й - равен удвоенному числу, введенному с клавиатуры; 2-й - равен квадрату суммы индексов предыдущего элемента; 3-й - равен остатку от деления индекса текущего элемента на 2
C++ Нужна проверка кода (система обмена сообщениями) http://www.cyberforum.ru/cpp-beginners/thread850155.html
есть код C++,компилируется в Mingw/bin при помощи g++. Данный код представляет собой систему обмена сообщениями. Идеальный случай,когда юзер не допускает ошибок при вводе регистрационных данных. проблема в написании проверки ввода этих самых данных #include "iostream" #include "locale.h" #include <string> #include <stdio.h> #include <stdlib.h> using namespace std;
C++ Описать структуру с именем NOTE Помогите с программой пожалуйста. А. Описать структуру с именем NOTE, содержащую следущие поля: Фамилия, имя; Номер телефона; День рождения(массив из трех чисел). Ввести с клавиатуры данные о 10 абонентах, записи упорядочить по трем первым цыфрам номера телефона; Б. Написать программу, выполняющую следующие действия: Вывод на экран информации о человеке, чья фамилия введенна с клавиатуры;... подробнее

Показать сообщение отдельно
LORDVIEW
2 / 2 / 0
Регистрация: 20.04.2012
Сообщений: 54

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

27.04.2013, 18:51. Просмотров 422. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru