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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2023, 12:49   #1
lenaiv
Пользователь
 
Регистрация: 16.03.2023
Сообщений: 67
По умолчанию как сделать, чтобы нет товара печаталось один раз если я ввожу товар, которого нет в массиве

Код:
#include <iostream>
#include <string>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int i;
    char res[100];
    struct export_tovar // cоздаем структуру
    {
        char tovar[100]; // наименование товара
        char strana[100]; // название страны экспортёр
        int volume; // объем поставок партии, в шт.
        char importer[100]; // импортёр  
    };
 
    struct export_tovar a[] = // данная заполненная структура 
    { 
        { "чайник", "Китай", 1000, "Россия"},
        { "чайник", "Китай", 9564, "Франция"},
        { "мультиварка", "Польша", 8643, "Германия"},
        { "мультиварка", "Польша", 2500, "Белоруссия"},
        { "кофеварка", "Франция", 3050, "Польша"},
        { "кофеварка", "Германия", 3210, "Китай"},
        { "мясорубка", "Россия", 4635, "Белоруссия"},
        { "мясорубка", "Россия", 1243 ,"Польша"},
        { "пылесос", "Япония", 5231, "Россия"},
        { "пылесос", "Япония", 6573, "Франция"}
    };
    cout << "Введите наименование товара для экспорта:   ";
    cin >> res;  
    cout << "\nСтраны, в которые экспортируется товар:\n " << endl;
    for (i = 0; i < 10; i++)
     {
        if (!strcmp(a[i].tovar, res)) // сравнение строк a1[i].tovar и result
            cout << a[i].importer << " - " << "объем " << a[i].volume << "\n";
        
     }
    if (strcmp(a[i].tovar, res))
    {
        cout << " этого товара нет " << "\n";
    }
         cout << "\n";
     system("pause");
     return 0;
}
lenaiv вне форума Ответить с цитированием
Старый 05.04.2023, 13:37   #2
lenaiv
Пользователь
 
Регистрация: 16.03.2023
Сообщений: 67
По умолчанию

нужно убрать этого товара нет
Изображения
Тип файла: png 123.PNG (7.0 Кб, 10 просмотров)
lenaiv вне форума Ответить с цитированием
Старый 05.04.2023, 13:38   #3
lenaiv
Пользователь
 
Регистрация: 16.03.2023
Сообщений: 67
По умолчанию

а это правильно выводит
Изображения
Тип файла: png 321.PNG (4.7 Кб, 10 просмотров)
lenaiv вне форума Ответить с цитированием
Старый 05.04.2023, 14:31   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
 if (strcmp(a[i].tovar, res))
Вы делаете это после цикла. i там уже за границей
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему когда я ввожу 1 или 2, то цикл do-while продолжается,а если ввожу другую любую цифру, то останавливается pedro228 Общие вопросы C/C++ 1 01.06.2019 15:39
как на wordpress поставить размер под товара а не зайдя на товар Foxy7 WordPress и другие CMS 1 04.04.2018 09:57
как сделать, чтобы если открываешь один файл, то автоматически открывался другой? Artem_85 Microsoft Office Excel 10 22.02.2012 14:02
как сделать так,чтобы он левой рукой до стены коснулся? и если можно чтобы двери лифта закрылись maxon56 Паскаль, Turbo Pascal, PascalABC.NET 0 07.06.2011 18:46
открываю документ. ввожу дату и другие данные, как сделать чтобы на другой странице велась статистика по Аленка Microsoft Office Excel 5 12.02.2008 17:36