Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с поиском 
:(
    Опции темы
Aidar
Дата 20.5.2007, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2007

Репутация: нет
Всего: нет



Поиск не работает... надо сделать по названию товара и вывести всю информацию о нём....


#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *Rus(char *s);

struct PRICE {
  char shop[15];         //   магазин
  char name[15];   //                Товар
  int sum;                 //             Цена
      } mm[8];

PRICE* find(PRICE* beg, char* name, PRICE** prev);
void find_man(PRICE* beg);
void get_name(char* name);

int main(void) {
 struct PRICE x;
 int n, i, j, k, l, r, m ;                  // индексы в массиве
                        char e;
    for (n=0; n<3; n++){
    printf("%d.",n+1);

    printf(Rus("Введите: Магазин - "));
    scanf("%s",&mm[n].shop);
    

    printf(Rus("Введите: Товар - "));
    scanf("%s",mm[n].name);
   if (!strcmp(mm[n].name,"***")) break;

    printf(Rus("Введите: Цену - "));
    scanf("%d",&mm[n].sum);
     }


  printf("|----------------------------------------------|\n");
  printf(Rus("|                   Прайс                      |\n"));
  printf("|----------------------------------------------|\n");
  printf(Rus("|    Магазин     |    Товар    |     Цена      |\n"));
  printf("|----------------------------------------------|\n");

  for (i=0; i<n; i++){
  printf("| %9s      |%9s    |          %5d|\n",
  mm[i].shop, mm[i].name, mm[i].sum );                         }
  printf("------------------------------------------------\n");


   /* сортировка массива */
  for (i=0; i<n-1; i++) {
    m=i;                                 // минимальный элемент - первый
    for (j=i+1; j<n; j++)
       if (strcmp(mm[m].name, mm[j].name)>0) m=j;
    if (m>i) {
      strcpy(x.name,mm[i].name);
      strcpy (x.shop,mm[i].shop);
      x.sum=mm[i].sum;

      strcpy(mm[i].name,mm[m].name);
      strcpy (mm[i].shop,mm[m].shop);
      mm[i].sum=mm[m].sum;

      strcpy(mm[m].name,x.name);
      strcpy (mm[m].shop,x.shop);
      mm[m].sum=x.sum;
         }
    }

  printf("|----------------------------------------------|\n");
  printf(Rus("|                   Прайс                      |\n"));
  printf("|----------------------------------------------|\n");
  printf(Rus("|    Магазин     |    Товар    |     Цена      |\n"));
  printf("|----------------------------------------------|\n");

  for (i=0; i<n; i++){
  printf("| %9s      |%9s    |          %5d|\n",
  mm[i].shop, mm[i].name, mm[i].sum );                         }
  printf("------------------------------------------------\n");


          /* поиск не работает*/
   printf(Rus("Введите: Товар - "));
    scanf("%s",&e);


               if (strstr(mm[i].name, mm[i].name))
         if (mm->name[strlen(mm[i].name)] == ' ')
               {     printf("| %9s      |%9s    |          %5d|\n",
  mm[i].shop, mm[i].name, mm[i].sum );

  getch();}



 }
     char *Rus(char *s)
{
    static char buff[1000];
    CharToOem(s, buff);
    return buff;
}

PM MAIL   Вверх
Klin
Дата 20.5.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: 20
Всего: 25



Aidar, во первых пользуйтесь кнопкой кода, во вторых вам в центр помощи.

Добавлено через 2 минуты и 38 секунд
да и в-третьих - не билдер это


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Palladin
Дата 20.5.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



А в третьих вот тебе совет: Если не можеш сделать нормально делай не нормально, но так чтоб на выходу был нужный результат, короче слушай алгоритмsmile
1) Кидаеш на форму едит(штук пять сколько там тебе надо хз)+кидаеш едит поиска
2) Блокируеш кнопку ввести запись пока не записан в едит поиска искомая инфа
3) Кидаеш на форму два мемо
4) в первый мемо заносиш все записи
5) во второй только те в который едит с фамилией равен едиту поискаsmile)) и все....

Ну а по существу, ничег ов твоем задании сложного нет такчто делай сам или в центр помощи гони, я так мельком заметил что у тебя структуры, дак тогда вообще проще некуда, заносиш в переменную искомую фамилию, потом по циклу просматриваеш массив твоей структуры и если запись фамилиии по какомоту индексу равно фамилии поиска выводиш всю инфу по этому индексу, вот типа пример кода:

Код

.....................................
struct PRICE {
  char shop[15];         //   магазин
  char name[15];   //                Товар
  int sum;                 //             Цена
      } mm[8];
.......................................

s='сюда заносиш какимнить методом языка искомый товар, ну там с эдита или с cout если в консоле пишеш';
//потом по циклу
int y,i,j;
for(i=0;i<=8;i++)
{
s1=mm[i].name;
for(j=0;j<=strlen(s1))
{
 if(s1[j]==s[j]){y=++;}
}
if(y==strlen(s)){выводиш это куданить('Magazin: 'mm[i].shop+'Tovar: '+mm[i].name+'На summu '+mm[i].sum); y=0;} else {y=0;}
}
...............................


эт не точный код, т..к писал на форуме и не проверял, но вроде покатит, если что пиши smile 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0684 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.