Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
110 / 1 / 2
Регистрация: 10.12.2015
Сообщений: 93

Найти клиента по его коду

12.05.2016, 22:03. Показов 1212. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно дописать код и найти клиента по его персональному коду
В
C++
1
void view_client()
Спасибо.

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
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
 
using namespace std;
 
struct Client 
{
    char name[20];
    char lastname[20];
    char perscode[15];
    char adress[35];
    char agreementcode[50];
};
struct Object
{
    char servicecode[20];
    char servicename[20];
    char serviceprice[10];
    char servicedescription[50];
};
 
struct Client Client[100];
int sch = 0;
int getRequest;
void view_client(); // Работа с клиентами
void enter_client();
void delete_client();
 
struct Object Object[25];
void view_object(); // Работа с услугами
void enter_object();
void delete_object();
 
int menu();
 
int main()
{
    while (1)
    {
        system("cls");
        switch (menu())
        {
        case 1:view_client(); system("pause"); break;
        case 2:enter_client(); system("pause"); break;
        case 3:delete_client(); system("pause"); break;
        case 4:view_object(); system("pause"); break;
        case 5:enter_object(); system("pause"); break;
        case 6:delete_object(); system("pause"); break;
        case 7:return 0;
        default:
            cout << "---------------------------------------------------\n";
            cout << "Not correct choose!\n";
            cout << "You must choose numbers from 1 to 7 !\n";
            cout << "---------------------------------------------------\n";
            system("pause");
        }
    }
 
}
 
int menu()
{
    int er;
    cout << "----------------------[Menu]-----------------------\n\n";
    cout << "Operations with clients" << setw(30) << "Operations with service\n\n";
    cout << "[1] - View client" << setw(30) << "[4] - View service\n";
    cout << "[2] - Add client"<< setw(30) << "[5] - Add service\n";
    cout << "[3] - Delete client"<< setw(30) << "[6] - Delete service\n";
    cout << "\n";
    cout << "[7] - Exit\n";
    cout << "---------------------------------------------------\n";
    cout << "Your choose : ";
    cin >> er;
    return er;
}
void view_client()
{   
    ifstream file("client.txt", ios::in);
    if (!file)
      {
        cerr << "File could not be opened" << endl;
        exit(1);
      }
    
    cout << "Press [1] to see all clients" << endl;
    cout << "Press [2] to find client using client personal code" << endl;
    cout << "Your choose : ";
    cin >> getRequest;
    switch (getRequest)
     {
        case 1:
 
           cout << left << setw(15) << "Agreement code" << setw(15) << "Name" << setw(20) << "Lastname" << setw(20) << "Personal code" << setw(20) << "Adress" << "\n "<<"\n";
           while (file >> Client[sch].name >> Client[sch].lastname >> Client[sch].perscode >> Client[sch].adress >> Client[sch].agreementcode)
           {
             cout << left << setw(15) << Client[sch].agreementcode << setw(15) << Client[sch].name << setw(20) << Client[sch].lastname << setw(20) << Client[sch].perscode << setw(20) << Client[sch].adress << "\n";
           }
        break;
        case 2:
            
 
            break;
 
   }
}
void enter_client()
{       
    ofstream file("client.txt", ios::out || ios::app);
        if (!file)
        {
            cerr << "File could not be open" << endl;
            exit(1);
        }
    
            cout << "Please add a new client.\n";
            cout << "Enter code of agreement: ";
            cin >> Client[sch].agreementcode;
            cout << "Enter client name : ";
            cin >> Client[sch].name;
            cout << "Enter client surname: ";
            cin >> Client[sch].lastname;
            cout << "Enter client personal code: ";
            cin >> Client[sch].perscode;
            cout << "Enter client adress: ";
            cin >> Client[sch].adress;
            cout << endl;
 
            cout << "---------------------------------------------------" << endl;
            file << left << setw(15) << Client[sch].agreementcode << setw(15) << Client[sch].name << setw(20) << Client[sch].lastname << setw(20) << Client[sch].perscode << setw(20) << Client[sch].adress << "\n";
        
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2016, 22:03
Ответы с готовыми решениями:

Найти драйвер для устройства по его коду
GEN_SCSIADAPTER A6IFJ9SL IDE Controller PCI\VEN_1103&amp;DEV_4320&amp;SUBSYS_2650ACD9&amp;REV_01 PCI\VEN_1103&amp;DEV_4320&amp;SUBSYS_2650ACD9 ...

Запуск RPD-клиента, мониторинг его процесса и очистка его истории подключений по его завершении
Здравствуйте уважаемые форумчане. С VBS не знаком совершенно, просьба помочь реализовать следующий скрипт: 1. Запуск RDP-клиента...

Как сделать так, чтобы вводя в Edit1 Код клиента, он его оставлял в таблице одного и мог его распечатать?
как сделать так чтобы вводя в Edit1 Код клиента, он его оставлял в таблице одного и мог его распечатать

24
110 / 1 / 2
Регистрация: 10.12.2015
Сообщений: 93
13.05.2016, 01:21  [ТС]
Студворк — интернет-сервис помощи студентам
SkyBy, Спасибо что помогаете , но а как можно решить проблему в моем коде который скинул в преведущем сообщении , просто у меня в мэйне совсем другое , и еще одна структура.
0
Special user
36 / 36 / 16
Регистрация: 07.10.2013
Сообщений: 121
13.05.2016, 01:45
orbaki, в коде выше ошибка, вот правильный вариант.
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
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
struct Client
{
    char name[20];
    char lastname[20];
    char perscode[13];
    char adress[35];
    int agreementcode;
};
 
void view(Client client[], int n)
{
    cout << left << setw(15) << "Agreement code" << setw(15) << "Name" << setw(20) << "Lastname" << setw(20) << "Personal code" << setw(20) << "Adress" << "\n " << "\n";
    for (int i = 0; i < n; ++i)
    {
        cout << left << setw(15) << client[i].agreementcode << setw(15) << client[i].name << setw(20) << client[i].lastname << setw(20) << client[i].perscode << setw(20) << client[i].adress << "\n";
    }
}
 
void findByCode(Client client[], int n)
{
    bool flag = false;
    char code[15];
    cout << "Enter personal code: ";
    cin >> code;
    for (int i = 0; i < n; ++i)
    {
        if (strcmp(client[i].perscode, code) == 0)
        {
            flag = true;
            cout << "Client: " << client[i].name << " " << client[i].lastname << endl;
        }
    }
    if (!flag)
    {
        cout << "Client not found.\n";
    }
}
 
int main()
{
    fstream file("client.txt");
    int count = 1;
    char ch;
    while (file.get(ch))
    {
        if (ch == '\n')
            count++;
    }
    file.close();
    cout << "Number of client: " << count << endl;
    Client *client = new Client[count];
    file.open("client.txt");
    int key = 0;
    while (!file.eof())
    {
        file >> client[key].agreementcode >> client[key].name >> client[key].lastname >> client[key].perscode >> client[key].adress;
        key++;
    }
    file.close();
    view(client, count);
    findByCode(client, count);
    return 0;
}
К сожалению, в Вашем коде всё в куче. В самом начале идёт создание динамического массива структур Client *client = new Client[sch];, но int sch = 0 и далее эта переменная по коду не изменятся, за исключением циклов (зачем?).
Сделайте рабочий вариант для одной структуры Client, после этого не составит труда переделать код для второй структуры Object, и плюс ко всему, желательно, отказаться от глобальных переменных.

Поскольку записи изначально находятся в файле, реализуйте это так, как, например, в коде выше. Считаем количество \n символа новой строки (изначально строка = 1), далее создаём динамический массив структур из T элементов, где T — количество строк в файле.
После чего закрываем файл → открываем файл и считываем в поля структуры элементы из файла. Когда считали все поля (код, имя, фамилия, персональный код, адрес), увеличиваем счётчик на 1, чтобы следующая запись была в новой "ячейке" массив, продолжаем считывание до тех пор, пока не конец файла (eof). После чего идет обычная обработка массива структур.

Добавлено через 3 минуты
orbaki, если "пробежаться" глазами по Вашему коду, то если добавить в 131 строке sch++ то что-то должно получиться.
В этом коде → Найти клиента по его коду
1
110 / 1 / 2
Регистрация: 10.12.2015
Сообщений: 93
13.05.2016, 01:48  [ТС]
а что с аргументами делать?

Добавлено через 1 минуту
у меня в данный момент только одна ошибка с аргументами в main()
0
Special user
36 / 36 / 16
Регистрация: 07.10.2013
Сообщений: 121
13.05.2016, 02:00
orbaki, я не использовал глобальные переменные. У Вас различается прототип функции. При вызове функции не передавайте никаких параметров.
0
110 / 1 / 2
Регистрация: 10.12.2015
Сообщений: 93
13.05.2016, 02:07  [ТС]
А как мне тогда быть сейчас с моим кодом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2016, 02:07

ID клиента и его вывод через сессию
Такое дело! Есть код: session_start(); if (isset($_SESSION) == '' ){ $conn = mysql_connect(&quot;localhost&quot;, &quot;xxx&quot;,...

Как приняь IP от клиента и добавить его в StringList
Добрый вечер. Села изучать клиент - серверные приложения. На данный момент получается их сконнектить. Осваиваю передачу сообщений между...

Как определить IP адрес клиента и его статус?
g++ сокет беркли подключение tcp собственно задача логировать все подключения но как узнать IP адрес подключенного клиента? ...

Значение символа по его коду
Есть код символа: case WM_CHAR: char symbol = (TCHAR)wParam; Как получить значение символа по этому коду?

unicode символ по его коду
Имеется интовая переменная и строка, мне надо добавить в строку символ, номер которого в unicode-таблице соответствует интовой...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru