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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Temich
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 21
#1

Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар - C++

19.01.2014, 13:15. Просмотров 525. Ответов 12
Метки нет (Все метки)

По заданию нужно ввести инфу о семи покупателяхх,потом нужно ввести название товара и должно вывести тех людей кто купили этот товар,если нет таких то вывести нет таких.Не знаю как сравнить названия((
Среда:C++Bilder
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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <iostream>
#include <list>
 
struct POCUPKA{
    char IMA[30];
    char NAZ[30];
    int a,b,c;
    int ZEN;
    }PO[7];
    using namespace std ;
int _tmain(int argc, _TCHAR* argv[])
{int i;
char z[50];
 for (i = 0; i < 7; i++) {
      cout<< "Wedite imya "<<i+1<<"pocupatelya\n";
      cin>>PO[i].IMA;
      cout<<"Wedite nazvanie tovara \n";
      cin>>PO[i].NAZ;
      cout<<"Wedite daty pocupki:\n";
      cout<<"den = ";
      cin>>PO[i].a;
      cout<<"mecaz = ";
      cin>>PO[i].b;
      cout<<"god = ";
      cin>>PO[i].c;
      cout<<"Wedte zeny pocupki\n";
      cin>>PO[i].ZEN;
      getchar();
      system ("cls");
  }
    system ("cls");
    cout<<"Wedite tovar\n";
    cin>>z[50];
    if(z[50]=PO[i].NAZ[30]) cout<<PO[i].IMA;//Здесь чушьБбо не знаю как сравнить(
    cout<<"Net takih";
    getchar();
   getchar();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 13:15     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар
Посмотрите здесь:
Ввести код товара и количество, показать название и сумму за данный товар, а также общую сумму C++
Ввести номер дня недели. Вывести его название, и количество пар в этот день C++
C++ Вывести информацию о покупателях, имеющих 10 %-ную скидку в магазине
Ввести номер дня недели и вывести расписание пар в этот день C++
C++ Ввести номер дня недели и вывести его название
Ввести код мобильного оператора и вывести его название и тариф C++
Ввести первую букву названия страны. Вывести название ее столицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
19.01.2014, 13:59     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #2
Temich,
C++
1
strcmp(z, PO[i].NAZ) == 0
и подключить string.h
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
19.01.2014, 13:59     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #3
Temich,
C++
1
2
3
if ( stricmp(PO[i].NAZ,PO[j].NAZ)>0) //PO[i].NAZ > PO[j].NAZ
if ( stricmp(PO[i].NAZ,PO[j].NAZ)==0) //PO[i].NAZ = PO[j].NAZ
if ( stricmp(PO[i].NAZ,PO[j].NAZ)<0) //PO[i].NAZ < PO[j].NAZ
без учета регистра, если нужно учитывать регистр пишем strcmp
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
19.01.2014, 14:01     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #4
Так же заметьте, что сравнение у вас вне цикла.
Так лучше:
C++
1
2
3
4
for (i = 0; i < 7; i++)
{
    if(strcmp(z, PO[i].NAZ) == 0) cout<<PO[i].IMA;
}
Temich
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 21
19.01.2014, 14:03  [ТС]     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #5
C++
1
2
3
4
5
6
7
8
9
10
system ("cls");
    cout<<"Wedite tovar\n";
    cin>>z[50];
    for (i = 0; i < 7; i++) {
     ifstrcmp(z, PO[i].NAZ) == 0){
     cout<<PO[i].IMA[30];}
    else
    {cout<<"Net takih"; }
    getchar();
    }
так?
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
19.01.2014, 14:04     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #6
newb_programmer, а смысл сравнивать i-ый элемент с j-тым? мы же в клавиатуры вводим имя товара для поиска.
Temich
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 21
19.01.2014, 14:06  [ТС]     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #7
я пробовал так сначала написатьБно мне только (нет таких)выдавало
C++
1
2
3
4
5
6
7
8
9
    system ("cls");
    cout<<"Wedite tovar\n";
    cin>>z[50];
    for (i = 0; i < 7; i++) {
     if (z[50]==PO[i].NAZ[30])
    {
     cout<<PO[i].IMA[30];}
    else
    {cout<<"Net takih"; }
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
19.01.2014, 14:07     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #8
И здесь вы вводите один символ. Индексация массивов начинается с 0, поэтому здесь будет выход за границу массива как минимум.
C++
1
cin>>z[50];
заменить на
C++
1
cin>>z;
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
19.01.2014, 14:12     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #9
Temich,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
system ("cls");
int flag=0;
cout<<"Wedite tovar\n";
cin>>z;
for (i = 0; i < 7; i++)
{
    if (strcmp(z, PO[i].NAZ) == 0)
    {
        cout<<PO[i].IMA;
        flag=1;
    }
}   
if (!flag)
{
    cout<<"Net takih"; 
}
както так
Temich
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 21
19.01.2014, 14:27  [ТС]     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #10
уже читает цикл,но выдает кашу из букв

Добавлено через 4 минуты
вот,спасибо!! можете обьяснить что в 7 строчке происходить?

Добавлено через 10 минут
if (strcmp(z, PO[i].NAZ) == 0)-что здесь происходит?зачемstrcmp?
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
19.01.2014, 14:33     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #11
Temich, strcmp сравнивает 2 строки посимвольно
R1987
13 / 13 / 2
Регистрация: 09.12.2012
Сообщений: 63
19.01.2014, 14:40     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #12
Цитата Сообщение от Temich Посмотреть сообщение
if (strcmp(z, PO[i].NAZ) == 0)-что здесь происходит?зачемstrcmp?
strcmp сравнивает две строки и если они идентичны возвращает 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 14:50     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар
Еще ссылки по теме:
C++ Ввести количество товара и стоимость за одну штуку, вычислить скидку и вывести результат в консоль
Нужно ввести название компании и год основания в файл, а затем вывести их на экран из файла C++
Ввести число от 0 до 5. Вывести его название на английском (или другом) языке (с использованием switch, break) C++
C++ Составить программы с использованием оператора выбора. Ввести первую букву названия страны. Вывести название континента.
Ввести название файла с клавиатуры C++ C++

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

Или воспользуйтесь поиском по форуму:
Temich
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 21
19.01.2014, 14:50  [ТС]     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар #13
Спасибо)запомнюю
Yandex
Объявления
19.01.2014, 14:50     Ввести информацию о семи покупателях, ввести название товара и вывести тех людей, кто купил этот товар
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru