Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2016, 15:27   #1
Behemoth000
Новичок
Джуниор
 
Регистрация: 10.01.2015
Сообщений: 2
По умолчанию Задача на использование структур

Условие: в магазине сформирован список клиентов, который включает ФИО, домашний адрес и размер предоставляемой скидки. Удалить из этого списка все повторяющиеся записи, проверив ФИО и домашний адрес покупателя.

Не понимаю, почему мой код не работает.

Код:
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{
    struct build{       //создание структуры
   char fio[10];
   char adrs[200];
  char skid[3];
    } mstud[100];
 
   struct build2{       // новая структура, в которую войдут не повторяющиеся записи
   char fio2[10];
   char adrs2[200];
  char skid2[3];
    } mstud2[100];
 
    int n, i, j;
 
    cout<<"Enter the number of clients: ";
    cin >> n;
    cout<<endl;
    for (i=0; i<n; i++)
    {                                                                    //заполнение структуры данными: фио, адрес и скидка клиента
        cout<<"Enter the "<<i<<" client's name: ";
        cin>>mstud[i].fio;
        cout<<"Enter the "<<i<<" client's address: ";
        cin>>mstud[i].adrs;
        cout<<"Enter the discount for the "<<i<<" client: ";
        cin>>mstud[i].skid;
    }
 
int k=0;
    for (i=0; i<n; i++)                     //перебор структуры. находим повторяющиеся записи, сравнивая фио и адрес
     {
        // cout<<i<<endl;
         for (j=n-1; j>i; j--)
        {                                                              
          // cout<<j<<endl;
            if (mstud[i].fio == mstud[j].fio)
                {                                                           //если фио и адрес совпадают, то
                    if (mstud[i].adrs == mstud[j].adrs)
                        {
                            cout<<"Ny rabotai :c ";                        
                          strcpy( mstud2[k].fio2, mstud[i].fio);            // фио копируется в новую структуру
                        //   mstud2[k].adrs2=mstud[i].adrs;                    
                          // mstud2[k].skid2=mstud[i].skid;
                           cout<<mstud2[k].fio2<<endl;
                           k++;
                        }
                }
         }
     }
return (0);
}
Behemoth000 вне форума Ответить с цитированием
Старый 20.11.2016, 17:23   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Behemoth000 Посмотреть сообщение
Не понимаю, почему мой код не работает
Потому что == не сравнивает строки.

Кстати, зачем две разные структуры?
waleri вне форума Ответить с цитированием
Старый 29.06.2019, 21:53   #3
CppLinux345
Пользователь
 
Регистрация: 26.09.2018
Сообщений: 23
По умолчанию

strcmp в помощь
CppLinux345 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование структур и функций. Daro Помощь студентам 5 05.11.2012 09:10
Использование структур Daro Visual C++ 1 04.11.2012 09:58
Создание и использование массива структурМоя задача - создать массив структур и по нажатию кнопки каждый Pro0f Visual C++ 0 29.05.2011 17:03
Создание и использование динамических структур Oksana11 Помощь студентам 5 09.01.2008 19:39