Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Базы данных, Пополнение базы 
:(
    Опции темы
jhonyxakep
Дата 28.2.2010, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


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

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



MCGRIS, Во 1 ставь код в тег 
Код






Цитата

ето тег[code=cpp "ето убери" ]

[/code]


Иначе никакой нормальный программист не будет разбиратся.


Цитата(A5uKa @  27.2.2010,  18:09 Найти цитируемый пост)
А где текст ошибки ЖЕ ?

ВОт я к тому жеsmile если незнаешь то текст ошибки выглядит примерно так:
Цитата

C:\temp\BJSCANER\bjdll\dllmain.cpp In function `const char* scan(char*)':
58 C:\temp\BJSCANER\bjdll\dllmain.cpp `e' was not declared in this scope
58 C:\temp\BJSCANER\bjdll\dllmain.cpp expected `;' before "opendesc"
C:\temp\BJSCANER\bjdll\Makefile.win [Build Error] exe: *** [MingW 3.4.2/dllmain.o] Error 1



PM MAIL ICQ   Вверх
NewDima
Дата 28.2.2010, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



Код

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int a,i,n,k,nr;
FAIL *fp;
struct kBaRTiR // стректура базы данных квартир 
{
    int nomer; //номер в списке
    char adrec [50]; // адрес
    int komnat; // комнат
    int mani; // цена
};

struct kBaRTiR list (100); // научись описывать массивы
 //функция
void find();
void vivod(int select);
void dell();
void add();
void struct adrec(struct kBaRTiR list(),int left,int right); // это что еще за тип возвращаемый?
void struct mani(struct kBaRTiR list(),int left,int right); // промолчу

void main (void)
{
    for (;;)
    {
        fp=fopen("rb");
               if (fp !=NULL)
               {
                   for (i=0; i<100; i++)
                   {
                       int res;
                       res=fread (& list[i],sizeof (list[0]),1,fp);
                       if (res==0)
                           break;
                   }
                   kr=i // количество найденых записец
                          // количество найденных чего-чего?  :-D 
               }
fclose (fp); //закрытие фаила
printf ("Quantity of records in a database : %d\n" , nr);
printf ("\n Choose action:\n\n");
printf ("1.Add record\n");
printf ("2.Remove rekord\n");
printf ("3.Search\n");
printf ("4.Sort by address\n");
printf ("5.Sort by price\n");
printf ("6.Exit\n\n");
printf ("%d",&a);
      
               switch(a0 // скобочки не принято закрывать?
               {
                   calse 1: add();break;
                   calse 2: dell();break;
                   calse 3: find();break;
                   calse 4: vivod(1);break;
                   calse 5: vivod(2);break;
                   calse 6: exit(0);
               default: printf ("\n\nerror!!! Прайс входит в число 1-6...\n\n");
               }
    }
}

void add() // добовление записи
{
    fopen("kBaRTiR.det","ab");//открытие фаила в двоичном коде и дописывание
    //введнной информации в конец ваила.
if(fp==NULL)//если фаил пустой ошибка и выход 
{
    printf("\nError!!!!!\n");
    exit(0);
}
i=nr;
         list[i].number=nr;
         printf("Bводите  адреса                                  : ");
         fflush(stdin);
         gets(list[i].address);
          
         printf("Вводите  Квортиру                                : ");
         scanf("%d", &list[i].price);
          
         printf("Вводите  войдите в цену на квартиру                               : ");
         scanf("%d", &list[i].price);

         printf("\n\n\");
         nr++;
fwrite((&list[i],sizeof(list[0]),1,fp);//запись полученой информации в фаил
fclose(fp);//закрытие фаила
}
void dell()//удаление
{
    fp=fopen("kBaRTiR.det","wb");
    if(fp==NULL)
{
    printf("\nError!!!!!\n"); // Ставь больше восклицательных знаков, так обычно понятнее
    exit(0);
    }

    printf("Войдите на строчку отчета для удаления :  ");  
    scanf("%d",&n);
    if(nr==0)
        printf("Cписок отсутствует");

    for(k=0; k<nr; k++; n++) // цикл по какой переменной? вообще тело цикла - полный бред
{
    list[k].number=n;
    list[n]=list[k];
    fwrite((&list[i],sizeof(list[0]),1,fp); // разберись со скобками
}
nr--;
 printf("\n\n\n\n\n");
fclose(fp);//закрытие фаила
}
void find()//поиск
{
int pos=1;
int flag=0;
char ptr[40];
char *loc;
fp=fopen("kBaRTiR.det","rb");

if (fp==NULL)
{
printf("\nError!!!!!\n");
    exit(0);
}
printf("Войдите на строчку для поиска:     ");  
    scanf("%a",&ptr);//полчение строки для роиска
    if(nr==0)
         printf("\nПоиск не дал результаты!!!\n\n");
fread((&list[nr],sizeof(list[nr]),1,fp)//чтение фаила
      for (i=0; i=nr; i++)
      {
          loc=strstr(list[i].adrec,ptr);// функция сравнения двух строк
                                                    // ты в этом уверен? почитай ман
          if (loc!=NULL)
          {
              printf ("%s\n %d комнота\n %d$\n\n",list[i].adrec,list[i].komnat
             list[i].mani);
              pos=1;
              flag=1;
              continue;
          }
      }
      if (pos==0)
             printf("\nПоиск не дал результаты!!!\n\n");
      fclose(fp);//закрываем фаил
}

void vivod (int select0//Ввод адреса в алфовитном порядке или по цене
{
    int m;
struct kBaRTiR *ptr[30];
fp=fopen("kBaRTiR.det","rd");
if (fp==NULL)//выход если фаил пустой
{
     printf("Файл пуст!!!\n");
       exit(0);
}
ptr[0]=&list[0];

if(select==1)struct kBaRTiR (list,0, nr-1 );
else struct_mani(listlist,0, nr-1 );

 printf(" Квартиры адресуют   Цену на  Комнаты\n");
      for(m=0; m<nr; m++)
      {
          printf("%30s %7d %9d$\n",list[m].adrec,list[m].komnat,list[m].mani);

      }
      if (nr==0)
          printf("Пустой\n\n\n");
      fclose(fp);
}

void struct_adrec(struct kBaRTiR items[],int left,int right)
{
    register int i,j;
    char *x;
    struct kBaRTiR tmp;

i=left;
j=right;
x=items[( left+right )/2].adrec;

   do
   {
       while((atremp(items[i].adrec,x)<0)&&(i<right))
           i++;
       while((atremp(items[j].adrec,x)<0)&&(j<left))
           j--;
       if(i<=j)
       {
           tmp=items[i];
           items[i]=items[j];
           items[j]=tmp;
           i++;
           j--;
       }
   }
   while(i<=j);
   
   if (left<j);
         struct_adrec(items,left,j);
   if (i<right)
         struct_adrec(items,i,right);
   {

       void struct_mani(struct kBaRTiR items [],int left,int right) // это че ваще? функция в функции?
       {
           registracia int i,j;
           int x;
           struct kBaRTiR tmp;

           i=left;
           j=right;
           x=items[(left+right)/2].mani

           do
           {
               while (( itemp[i].mani<x)&&(i<right))
                   i++;
               while (( itemp[j].mani>x)&&(j>left))
                   j--;
           if (i<=j)
           {
           tmp=items[i];
           items[i]=items[j];
           items[j]=tmp;
           i++;
           j--;
           }
           }
           while (i<=j);
           if(left<j)
                struct_mani (items,left,j);
           if(i<right)
                struct_mani (items,i,right);


    
{ // гадайте дальше сами

Пробежал глазами по коду, полный ржач, а не код

Добавлено через 1 минуту и 21 секунду
и разберись со слешами в строках
PM ICQ   Вверх
MCGRIS
Дата 2.3.2010, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(A5uKa @ 27.2.2010,  18:09)
А где текст ошибки ЖЕ ?

added :

И уделяй больше времени оформлению своего сообщения ЖЕ,
Используй Предварительный просмотр ЖЕ, 
Пока не станет же красиво, 
А то ниАтВеЧу ЖЕ !

запусти код и поймешь там их куча ошибок ! просто я не пойму одно исправляю другое не работает и так по кругу!

Добавлено через 8 минут и 12 секунд
Цитата(NewDima @ 28.2.2010,  08:47)
Код

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int a,i,n,k,nr;
FAIL *fp;
struct kBaRTiR // стректура базы данных квартир 
{
    int nomer; //номер в списке
    char adrec [50]; // адрес
    int komnat; // комнат
    int mani; // цена
};

struct kBaRTiR list (100); // научись описывать массивы
 //функция
void find();
void vivod(int select);
void dell();
void add();
void struct adrec(struct kBaRTiR list(),int left,int right); // это что еще за тип возвращаемый?
void struct mani(struct kBaRTiR list(),int left,int right); // промолчу

void main (void)
{
    for (;;)
    {
        fp=fopen("rb");
               if (fp !=NULL)
               {
                   for (i=0; i<100; i++)
                   {
                       int res;
                       res=fread (& list[i],sizeof (list[0]),1,fp);
                       if (res==0)
                           break;
                   }
                   kr=i // количество найденых записец
                          // количество найденных чего-чего?  :-D 
               }
fclose (fp); //закрытие фаила
printf ("Quantity of records in a database : %d\n" , nr);
printf ("\n Choose action:\n\n");
printf ("1.Add record\n");
printf ("2.Remove rekord\n");
printf ("3.Search\n");
printf ("4.Sort by address\n");
printf ("5.Sort by price\n");
printf ("6.Exit\n\n");
printf ("%d",&a);
      
               switch(a0 // скобочки не принято закрывать?
               {
                   calse 1: add();break;
                   calse 2: dell();break;
                   calse 3: find();break;
                   calse 4: vivod(1);break;
                   calse 5: vivod(2);break;
                   calse 6: exit(0);
               default: printf ("\n\nerror!!! Прайс входит в число 1-6...\n\n");
               }
    }
}

void add() // добовление записи
{
    fopen("kBaRTiR.det","ab");//открытие фаила в двоичном коде и дописывание
    //введнной информации в конец ваила.
if(fp==NULL)//если фаил пустой ошибка и выход 
{
    printf("\nError!!!!!\n");
    exit(0);
}
i=nr;
         list[i].number=nr;
         printf("Bводите  адреса                                  : ");
         fflush(stdin);
         gets(list[i].address);
          
         printf("Вводите  Квортиру                                : ");
         scanf("%d", &list[i].price);
          
         printf("Вводите  войдите в цену на квартиру                               : ");
         scanf("%d", &list[i].price);

         printf("\n\n\");
         nr++;
fwrite((&list[i],sizeof(list[0]),1,fp);//запись полученой информации в фаил
fclose(fp);//закрытие фаила
}
void dell()//удаление
{
    fp=fopen("kBaRTiR.det","wb");
    if(fp==NULL)
{
    printf("\nError!!!!!\n"); // Ставь больше восклицательных знаков, так обычно понятнее
    exit(0);
    }

    printf("Войдите на строчку отчета для удаления :  ");  
    scanf("%d",&n);
    if(nr==0)
        printf("Cписок отсутствует");

    for(k=0; k<nr; k++; n++) // цикл по какой переменной? вообще тело цикла - полный бред
{
    list[k].number=n;
    list[n]=list[k];
    fwrite((&list[i],sizeof(list[0]),1,fp); // разберись со скобками
}
nr--;
 printf("\n\n\n\n\n");
fclose(fp);//закрытие фаила
}
void find()//поиск
{
int pos=1;
int flag=0;
char ptr[40];
char *loc;
fp=fopen("kBaRTiR.det","rb");

if (fp==NULL)
{
printf("\nError!!!!!\n");
    exit(0);
}
printf("Войдите на строчку для поиска:     ");  
    scanf("%a",&ptr);//полчение строки для роиска
    if(nr==0)
         printf("\nПоиск не дал результаты!!!\n\n");
fread((&list[nr],sizeof(list[nr]),1,fp)//чтение фаила
      for (i=0; i=nr; i++)
      {
          loc=strstr(list[i].adrec,ptr);// функция сравнения двух строк
                                                    // ты в этом уверен? почитай ман
          if (loc!=NULL)
          {
              printf ("%s\n %d комнота\n %d$\n\n",list[i].adrec,list[i].komnat
             list[i].mani);
              pos=1;
              flag=1;
              continue;
          }
      }
      if (pos==0)
             printf("\nПоиск не дал результаты!!!\n\n");
      fclose(fp);//закрываем фаил
}

void vivod (int select0//Ввод адреса в алфовитном порядке или по цене
{
    int m;
struct kBaRTiR *ptr[30];
fp=fopen("kBaRTiR.det","rd");
if (fp==NULL)//выход если фаил пустой
{
     printf("Файл пуст!!!\n");
       exit(0);
}
ptr[0]=&list[0];

if(select==1)struct kBaRTiR (list,0, nr-1 );
else struct_mani(listlist,0, nr-1 );

 printf(" Квартиры адресуют   Цену на  Комнаты\n");
      for(m=0; m<nr; m++)
      {
          printf("%30s %7d %9d$\n",list[m].adrec,list[m].komnat,list[m].mani);

      }
      if (nr==0)
          printf("Пустой\n\n\n");
      fclose(fp);
}

void struct_adrec(struct kBaRTiR items[],int left,int right)
{
    register int i,j;
    char *x;
    struct kBaRTiR tmp;

i=left;
j=right;
x=items[( left+right )/2].adrec;

   do
   {
       while((atremp(items[i].adrec,x)<0)&&(i<right))
           i++;
       while((atremp(items[j].adrec,x)<0)&&(j<left))
           j--;
       if(i<=j)
       {
           tmp=items[i];
           items[i]=items[j];
           items[j]=tmp;
           i++;
           j--;
       }
   }
   while(i<=j);
   
   if (left<j);
         struct_adrec(items,left,j);
   if (i<right)
         struct_adrec(items,i,right);
   {

       void struct_mani(struct kBaRTiR items [],int left,int right) // это че ваще? функция в функции?
       {
           registracia int i,j;
           int x;
           struct kBaRTiR tmp;

           i=left;
           j=right;
           x=items[(left+right)/2].mani

           do
           {
               while (( itemp[i].mani<x)&&(i<right))
                   i++;
               while (( itemp[j].mani>x)&&(j>left))
                   j--;
           if (i<=j)
           {
           tmp=items[i];
           items[i]=items[j];
           items[j]=tmp;
           i++;
           j--;
           }
           }
           while (i<=j);
           if(left<j)
                struct_mani (items,left,j);
           if(i<right)
                struct_mani (items,i,right);


    
{ // гадайте дальше сами

Пробежал глазами по коду, полный ржач, а не код

Добавлено @ 08:49
и разберись со слешами в строках

КАК умею! лучше подсказал бы!
PM MAIL   Вверх
bsa
Дата 2.3.2010, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



MCGRIS, вот здесь написано, что нужно сделать с кодом, чтобы искать в нем ошибки было легче.
PM   Вверх
MCGRIS
Дата 2.3.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(bsa @ 2.3.2010,  22:20)
 написано, что нужно сделать с кодом, чтобы искать в нем ошибки было легче.

окей простоя и половины не понимаю что написал! по примерам то здесь то там! просто хочется чтобы он заработал уже 4 месяц сним парюсь что да как!

Добавлено @ 23:35
 Обработка символьных строк
(Не использовать встроенных функций обработки строк)
В символьной строке удалить все слова, состоящие из нечетного количества букв. Не маги бы  подсказать как как написать разбить четные на не четные?


если не трудно подскажите!

Это сообщение отредактировал(а) MCGRIS - 2.3.2010, 23:37
PM MAIL   Вверх
bsa
Дата 3.3.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(MCGRIS @  2.3.2010,  23:30 Найти цитируемый пост)
окей простоя и половины не понимаю что написал! по примерам то здесь то там!
ты не понимаешь, что ты написал, или что я написал? В любом случае, тебе тогда надо книжки почитать. Они указаны в "часто задаваемых вопросах" (это приклеенная тема).

Цитата(MCGRIS @  2.3.2010,  23:30 Найти цитируемый пост)
В символьной строке удалить все слова, состоящие из нечетного количества букв. Не маги бы  подсказать как как написать разбить четные на не четные?
Сначала строку нужно разбить на слова, затем посчитать количество букв в каждом. Узнать четное или нечетное можно с помощью операция получения остатка от деления на 2 (num % 2).

PM   Вверх
Леопольд
Дата 3.3.2010, 13:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MCGRIS @  2.3.2010,  18:32 Найти цитируемый пост)
calse 1: add();break;

Цитата(bsa @  3.3.2010,  12:45 Найти цитируемый пост)
надо книжки почитать

Хотя бы элементарный синтаксис. Здесь его никто объяснять не будет.


Это сообщение отредактировал(а) Леопольд - 3.3.2010, 13:40


--------------------
вопросов больше чем ответов
PM MAIL   Вверх
jhonyxakep
Дата 3.3.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


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

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



Цитата(MCGRIS @  2.3.2010,  18:32 Найти цитируемый пост)
FAIL *fp;

хмм... А рзве fail не переводится как неудача???

 smile FILE, надо FILE!!!

Или если невмочь юзай fstream! smile

Добавлено через 3 минуты и 25 секунд
Цитата(MCGRIS @  2.3.2010,  23:30 Найти цитируемый пост)
по примерам то здесь то там! 

Видимо примеры - это темы с форумов типа "Почему ЭТО не работает"...
Если будешь знать основы языка сможешь спокойно написать подобную программу smile 
PM MAIL ICQ   Вверх
MCGRIS
Дата 3.3.2010, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а что насчет файла не так и где искать надо?
PM MAIL   Вверх
MCGRIS
Дата 4.3.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(bsa @ 3.3.2010,  12:45)
Сначала строку нужно разбить на слова, затем посчитать количество букв в каждом. Узнать четное или нечетное можно с помощью операция получения остатка от деления на 2 (num % 2).

Спасибо! большое!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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