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

Поиск:

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


Новичок



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

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



Люди подскажите хоть чем нибудь! я вообще просто не понимаю как начать! с чего код начинается и как все это в таблицу  вписывать что за псевдографика. Подскажите плиз! 



База данных “Обмен квартир”. 
1)Пополнение базы.
2)Удаление записей.
3)Подбор вариантов по неполному совпадению
4)Вывод содержимого базы по адресам в алфавитном порядке
PM MAIL   Вверх
Cheloveck
Дата 5.1.2010, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

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



MCGRIS, допиши пожалуйста то, о чём ты подумал, что мы сами должны догадаться. Какая база данных? Для чего? На чём? Что за псевдографика? Опиши ситуацию подробнее.

P.S. чувствую, что это домашнее задание, поэтому пиши сразу в Центр помощи!


--------------------
user posted image
PM Jabber   Вверх
MCGRIS
Дата 7.1.2010, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Cheloveck да это оно а вы не могли бы подсказать!
PM MAIL   Вверх
ARMALITE
Дата 7.1.2010, 22:04 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



По моему, если вам дали такое задание, то вы должны как минимум разбираться в теме, уметь организовать структуру классов и ограничиться разве что конкретными вопросами, например "как сделать подбор вариантов по неполному совпадению". Я сомневаюсь что кто-нибудь пожелает полностью написать вам программу.  smile 
PM MAIL ICQ Skype   Вверх
NightmareZ
Дата 7.1.2010, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


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

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



Цитата(ARMALITE @  7.1.2010,  22:04 Найти цитируемый пост)
Я сомневаюсь что кто-нибудь пожелает полностью написать вам программу.

Разве что за деньги   smile 


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
MCGRIS
Дата 7.1.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В том то и дело что я и не знаю с чего начать! просто на си то что нам объясняли все про массивы и так типа хелоу мир прога! все и в книге для чайников на си не чего похожего нет !
PM MAIL   Вверх
zim22
Дата 7.1.2010, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

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



Цитата(MCGRIS @  7.1.2010,  21:13 Найти цитируемый пост)
и в книге для чайников на си не чего похожего нет !

есть ещё другие книги


--------------------
PM MAIL   Вверх
MCGRIS
Дата 7.1.2010, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



zim22 а на русском есть что нибудь?

Добавлено через 2 минуты и 12 секунд
и какие? с примерами есть? 
PM MAIL   Вверх
A5uKa
Дата 7.1.2010, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



Цитата

что за псевдографика


┌────┬────╥───┐
└────┴────╨───┘
ссылка

Цитата

с чего код начинается

Цитата

и в книге для чайников на си не чего похожего нет

С++ для чайников
Глава 12. Классы в C++     149 

Цитата

База данных

можно думаю
Глава 24. Использование потоков ввода-вывода     277 
Код

ifstream();
ofstream();
fstream(); 

PM   Вверх
MCGRIS
  Дата 7.1.2010, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



A5uKa Спасибо большое! есть хоть с чего начать! ))) просто самому уже хочется начать что то писать!
PM MAIL   Вверх
zim22
Дата 7.1.2010, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

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



Цитата(MCGRIS @  7.1.2010,  21:23 Найти цитируемый пост)
и какие? с примерами есть? 

http://forum.vingrad.ru/forum/topic-48036.html


--------------------
PM MAIL   Вверх
Cheloveck
Дата 8.1.2010, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

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



smile 
как бы сказал один местный завсегдатай: тема - лол

Добавлено через 2 минуты и 33 секунды
Цитата(MCGRIS @  7.1.2010,  22:23 Найти цитируемый пост)
а на русском есть что нибудь?

ты бы сходил в магазин и подивился обилию книг... на русском. А вопросы у тебя что-то вроде: "Я хочу создать Вселенную, что мне для этого надо? у меня есть отвёртка"

Добавлено через 5 минут и 30 секунд
Вот тут, на самом деле, есть всё, для создания базы данных на C или C++.


--------------------
user posted image
PM Jabber   Вверх
MCGRIS
Дата 8.1.2010, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Cheloveck, спасибо! за вселенную! и за подсказки! если бы все были такие грамотные!)) я бы и не спрашивал а хе хикать не надо!
PM MAIL   Вверх
MCGRIS
Дата 27.2.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



люди помогите не работает в чем ошибки? 
Код
#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 // количество найденых записец
               }
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);//функция сравнения 2 строк
          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);
{



Модератор: не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 28.2.2010, 12:09
PM MAIL   Вверх
A5uKa
Дата 27.2.2010, 18:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



А где текст ошибки ЖЕ ?

added :

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

Это сообщение отредактировал(а) A5uKa - 27.2.2010, 18:11
PM   Вверх
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   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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