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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подключение файла 
:(
    Опции темы
xcf
Дата 10.5.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



нужна помощь в подлючение файла
есть осн листинг проги 
Код

#include <fstream.h>
#include <conio.h>

struct TV
{
char name[15];
char firma[15];
int price;
int razr;
int kol;
};

//-------Создание файла

int sozdanie()
{
char name[50];
clrscr();
cout<<"vvedite im9 fila"<<endl;
cin>>name;
ofstream baza(name,ios::trunc|ios::binary);

if (!baza)
{cout<<"ERROR";
getch();
return 1;
}
*****

след файла с перемещение заначения всех переменых, и что из исходного файла можно было возвращается
Код

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
int Get(int min, int max);
void init_gr(void)
{
   int gdriver = DETECT, gmode, errorcode;
   initgraph(&gdriver, &gmode, "");
   errorcode = graphresult();
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }
}
void end_gr(void)
{
  closegraph();
}
void SetFillStyle(int pattern,int color)
{
  setfillstyle(pattern,color);
}
void Bar(int x1, int y1, int x2, int y2)
{
  bar(x1,y1,x2,y2);
}
void SetRGBPalette(int colornum, int red, int green, int blue)
{
  setrgbpalette(colornum,red,green,blue);
}

void GetPalette(struct palettetype far *palette)
{
  getpalette(palette);
}
#define N   30 // steps of fading to black
struct palettetype pal;
struct {int R;int G;int B;} colors[16];
int main(void)
{
  // initializing graphics mode
  init_gr();
  // creating palette
  GetPalette(&pal);
  for(int i=0;i<pal.size-1;i++)
  {
     colors[i+1].R=0;
     colors[i+1].G=30-2*i;
     colors[i+1].B=15+i*2;
     SetRGBPalette(pal.colors[i+1],colors[i+1].R,colors[i+1].G,colors[i+1].B);
  }
  // drawing picture
  for (i=1;i<16;i++)
  {
     SetFillStyle(SOLID_FILL,i);
     Bar((i-1)*43,0,i*43,479);
  }
  // fading to balck
  for (int j=0;j<N;j++)
  {
     //delay(50);
     for (i=1;i<pal.size;i++)
    SetRGBPalette(pal.colors[i],
   colors[i].R*(1-(float)j/N),
      colors[i].G*(1-(float)j/N),
      colors[i].B*(1-(float)j/N));
  }
  // and back to the light
  for (j=0;j<N;j++)
  {
     //delay(50);
     for (i=1;i<pal.size;i++)
    SetRGBPalette(pal.colors[i],
      colors[i].R*(float)j/N,
      colors[i].G*(float)j/N,
      colors[i].B*(float)j/N);
  }
  /* clean up */
  //AVTOR
  setcolor(4);
-------------
int p = 1;
 int m = getch();
// if(m == 13) ViewDB();

          do{
         if(m == 80) p++;
         if(m == 72) p--;

         do{
           if(p<=0) p = p+6;
           }while (p<=0);
         do{
           if(p>=7) p = p-6;
           }while (p>=7);

         if(p == 1){
          clrscr();
     //AVTOR
     setcolor(4);
     outtextxy(320,240,"AVT
и тд

заранее благодарю!!! 
PM ICQ   Вверх
likehood
Дата 10.5.2006, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


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

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



Цитата(xcf @  10.5.2006,  20:48 Найти цитируемый пост)
след файла с перемещение заначения всех переменых, и что из исходного файла можно было возвращается

а по-русски можно? 
PM MAIL   Вверх
Earnest
Дата 10.5.2006, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



xcf, 
ну почему ты считаешь, что здесь полно любителей ковыряться в чужом коде (не очень лаконичном), пытаясь понять, что именно ты хочешь получить и в чем твоя проблема? 
Просто напиши: хочу того-то, делаю то-то и то-то, а получается вот это.  


--------------------
...
PM   Вверх
xcf
Дата 10.5.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



этот файл надо вставить 
Код

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>

int menu();
int Get(int min, int max);
void init_gr(void)
{
   int gdriver = DETECT, gmode, errorcode;
   initgraph(&gdriver, &gmode, "");
   errorcode = graphresult();
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }
}
void end_gr(void)
{
  closegraph();
}
void SetFillStyle(int pattern,int color)
{
  setfillstyle(pattern,color);
}
void Bar(int x1, int y1, int x2, int y2)
{
  bar(x1,y1,x2,y2);
}
void SetRGBPalette(int colornum, int red, int green, int blue)
{
  setrgbpalette(colornum,red,green,blue);
}

void GetPalette(struct palettetype far *palette)
{
  getpalette(palette);
}
#define N   30 
struct palettetype pal;
struct {int R;int G;int B;} colors[16];
int main(void)
{

  init_gr();

  GetPalette(&pal);
  for(int i=0;i<pal.size-1;i++)
  {
     colors[i+1].R=0;
     colors[i+1].G=30-2*i;
     colors[i+1].B=15+i*2;
     SetRGBPalette(pal.colors[i+1],colors[i+1].R,colors[i+1].G,colors[i+1].B);
  }

  for (i=1;i<16;i++)
  {
     SetFillStyle(SOLID_FILL,i);
     Bar((i-1)*43,0,i*43,479);
  }

  for (int j=0;j<N;j++)
  {

     for (i=1;i<pal.size;i++)
    SetRGBPalette(pal.colors[i],
   colors[i].R*(1-(float)j/N),
      colors[i].G*(1-(float)j/N),
      colors[i].B*(1-(float)j/N));
  }

  for (j=0;j<N;j++)
  {

     for (i=1;i<pal.size;i++)
    SetRGBPalette(pal.colors[i],
      colors[i].R*(float)j/N,
      colors[i].G*(float)j/N,
      colors[i].B*(float)j/N);
  }


  getch();

  end_gr();
  menu;
  return 0;
}

  int menu()
  { init_gr();
  //AVTOR
    cleardevice();

  setcolor(4);
  outtextxy(320,240,"AVTO");
  outtextxy(330,250,"BD TELEVIZORBINA SKLADE");
  //MENU
  setcolor(4);
  outtextxy(340,260,"Prosmotr bazi dannih");
  setcolor(0);
 outtextxy(350,270,"Sozdanie bazi dannih");
 setcolor(0);
 outtextxy(360,280,"Dobavlenie zapisi v bazu dannih");
 setcolor(0);
 outtextxy(370,290,"Poisk zapisi po kluchu");
 setcolor(0);
 outtextxy(380,300,"Sortirovka bazi dannih");
 setcolor(0);
 outtextxy(390,310,"Vihod iz programmi");
 setcolor(15);
 outtextxy(400,320,"Peremeschenie - strelki vverh i vniz");
 outtextxy(410,330,"Vibor punkta menu - <Enter>");
 int p = 1;
 int m = getch();
// if(m == 13) ViewDB();

          do{
         if(m == 80) p++;
         if(m == 72) p--;

         do{
           if(p<=0) p = p+6;
           }while (p<=0);
         do{
           if(p>=7) p = p-6;
           }while (p>=7);

         if(p == 1){
          cleardevice();
     //AVTOR
     setcolor(4);
     outtextxy(320,240,"AVTO");
     outtextxy(330,250,"BD TELEVIZORBINA SKLADE");
     //MENU
     setcolor(4);
     outtextxy(340,260,"Prosmotr bazi dannih");
     setcolor(0);
     outtextxy(350,270,"Sozdanie bazi dannih");
     setcolor(0);
     outtextxy(360,280,"Dobavlenie zapisi v bazu dannih");
     setcolor(0);
     outtextxy(370,290,"Poisk zapisi po kluchu");
     setcolor(0);
     outtextxy(380,300,"Sortirovka bazi dannih");
     setcolor(0);
     outtextxy(390,310,"Vihod iz programmi");
     setcolor(15);
     outtextxy(400,320,"Peremeschenie - strelki vverh i vniz");
     outtextxy(410,330,"Vibor punkta menu - <Enter>"); setcolor(4);
    m = getch();
               }
         if(p == 2){
          clrscr();
                //AVTOR
  setcolor(4);
  outtextxy(320,240,"AVTO");
  outtextxy(330,250,"BD TELEVIZORBINA SKLADE");
  //MENU
  setcolor(0);
  outtextxy(340,260,"Prosmotr bazi dannih");
  setcolor(4);
 outtextxy(350,270,"Sozdanie bazi dannih");
 setcolor(0);
 outtextxy(360,280,"Dobavlenie zapisi v bazu dannih");
 setcolor(0);
 outtextxy(370,290,"Poisk zapisi po kluchu");
 setcolor(0);
 outtextxy(380,300,"Sortirovka bazi dannih");
 setcolor(0);
 outtextxy(390,310,"Vihod iz programmi");
 setcolor(15);
 outtextxy(400,320,"Peremeschenie - strelki vverh i vniz");
 outtextxy(410,330,"Vibor punkta menu - <Enter>");
                m = getch();
               }
         if(p == 3){
          clrscr();
                        //AVTOR
  setcolor(4);
  outtextxy(320,240,"AVTO");
  outtextxy(330,250,"BD TELEVIZORBINA SKLADE");
  //MENU
  setcolor(0);
  outtextxy(340,260,"Prosmotr bazi dannih");
  setcolor(0);
 outtextxy(350,270,"Sozdanie bazi dannih");
 setcolor(4);
 outtextxy(360,280,"Dobavlenie zapisi v bazu dannih");
 setcolor(0);
 outtextxy(370,290,"Poisk zapisi po kluchu");
 setcolor(0);
 outtextxy(380,300,"Sortirovka bazi dannih");
 setcolor(0);
 outtextxy(390,310,"Vihod iz programmi");
 setcolor(15);
 outtextxy(400,320,"Peremeschenie - strelki vverh i vniz");
 outtextxy(410,330,"Vibor punkta menu - <Enter>");


                          m = getch();
               }
         if(p == 4){
          clrscr();

                m = getch();
               }
         if(p == 5){
           clrscr();
           //AVTOR
  setcolor(4);
  outtextxy(320,240,"AVTO");
  outtextxy(330,250,"BD TELEVIZORBINA SKLADE");
  //MENU
  setcolor(0);
  outtextxy(340,260,"Prosmotr bazi dannih");
  setcolor(0);
 outtextxy(350,270,"Sozdanie bazi dannih");
 setcolor(0);
 outtextxy(360,280,"Dobavlenie zapisi v bazu dannih");
 setcolor(4);
 outtextxy(370,290,"Poisk zapisi po kluchu");
 setcolor(0);
 outtextxy(380,300,"Sortirovka bazi dannih");
 setcolor(0);
 outtextxy(390,310,"Vihod iz programmi");
 setcolor(15);
 outtextxy(400,320,"Peremeschenie - strelki vverh i vniz");
 outtextxy(410,330,"Vibor punkta menu - <Enter>");

                m = getch();
               }
         if(p == 6){
          clrscr();
                   //AVTOR
  setcolor(4);
  outtextxy(320,240,"AVTO");
  outtextxy(330,250,"BD TELEVIZORBINA SKLADE");
  //MENU
  setcolor(0);
  outtextxy(340,260,"Prosmotr bazi dannih");
  setcolor(0);
 outtextxy(350,270,"Sozdanie bazi dannih");
 setcolor(0);
 outtextxy(360,280,"Dobavlenie zapisi v bazu dannih");
 setcolor(0);
 outtextxy(370,290,"Poisk zapisi po kluchu");
 setcolor(4);
 outtextxy(380,300,"Sortirovka bazi dannih");
 setcolor(0);
 outtextxy(390,310,"Vihod iz programmi");
 setcolor(15);
 outtextxy(400,320,"Peremeschenie - strelki vverh i vniz");
 outtextxy(410,330,"Vibor punkta menu - <Enter>");

                m = getch();
               }
         }while(m!=13);getch(); end_gr();   return 0;

   }


к этому файлу как библиотеку
Код

#include <fstream.h>
#include <conio.h>
       void menu();
struct TV
{
char name[15];
char firma[15];
int price;
int razr;
int kol;
};

//-------Создание файла

int sozdanie()
{
char name[50];
clrscr();
cout<<"vvedite im9 fila"<<endl;
cin>>name;
ofstream baza(name,ios::trunc|ios::binary);

if (!baza)
{cout<<"ERROR";
getch();
return 1;
}

TV s;
char ch='y';

do
{
clrscr();
cout<<"naimenovanie\n";
cin>>s.name;
baza.write(s.name,15);
cout<<"vvedite firmy igotovilet'\n";
cin>>s.firma;
baza.write(s.firma,15);
cout<<"cena\n";
cin>>s.price;
baza.write((char *) &s.price,sizeof(int));
cout<<"razmer ekrana\n";
cin>>s.razr;
baza.write((char *) &s.razr,sizeof(int));
cout<<"kolichestvo\n";
cin>>s.kol;
baza.write((char *) &s.kol,sizeof(int));

clrscr();
cout<<"Hotite dobavit' dannye?\n";
cin>>ch;}
while((ch=='y')||(ch=='Y'));

cout<<"\ndannye dobavleny\n";
baza.close();
menu;
getch();
return 0;
}

//-------Добавление данных

int append()
{
char name[50];
cout<<" vvedite im9 fila "<<endl;
cin>>name;
clrscr();
ofstream baza(name,ios::app|ios::binary);

if (!baza)
{cout<<"ERROR";
getch();
return 1;
}

TV s;
char ch='y';

do
{
clrscr();
cout<<"naimenovanie\n";
cin>>s.name;
baza.write(s.name,15);
cout<<"vvedite firmy igotovilet'\n";
cin>>s.firma;
baza.write(s.firma,15);
cout<<"cena\n";
cin>>s.price;
baza.write((char *) &s.price,sizeof(int));
cout<<"razmer ekrana\n";
cin>>s.razr;
baza.write((char *) &s.razr,sizeof(int));
cout<<"kolichestvo\n";
cin>>s.kol;
baza.write((char *) &s.kol,sizeof(int));

clrscr();
cout<<"Hotite dobavit' dannye?\n";
cin>>ch;}
while((ch=='y')||(ch=='Y'));

cout<<"\ndannye dobavleny\n";
baza.close();
menu;
getch();
return 0;
}


//--------------Вывод

int print()
{
char name[50];
cout<<" vvedite im9 fila "<<endl;
cin>>name;
clrscr();

ifstream baza(name,ios::in|ios::binary);
if (!baza)
{cout<<"ERROR";
getch();
return 1;
}

TV s;
clrscr();
cout<<"naimenovanie | firma igotovitel | cena | razmer ekrana | kol na sklade\n\n";



do
{
baza.read(s.name,15);
baza.read(s.firma,15);
baza.read((char *)&s.price,sizeof(int));
baza.read((char *)&s.razr,sizeof(int));
baza.read((char *)&s.kol,sizeof(int));
cout.width(18);cout<<s.name;
cout.width(18);cout<<s.firma;
cout.width(8);cout<<s.price;
cout.width(8);cout<<s.razr;
cout.width(8);cout<<s.kol<<"\n";
}
while (baza.peek()!=EOF);

baza.close();menu;
getch();
return 0;
}
//===============MENU
void menu()
{
int m=getch();
do
{
        clrscr();
    cout<<"   MENU\n\n";
    cout<<"   VABERITE PUNKT\n";
    cout<<"1. NEW BASA\n";
    cout<<"2. ADD BD\n";
    cout<<"3. VVYVOD NA EKRAN\n";
    cout<<"4. EXIT\n";

    int p;
    cin>>p;

    switch(p)
    {
    case 1:sozdanie();break;
    case 2:append();break;
    case 3:print();break;
    case 4:{cout<<"BUY";/*finish=true;*/break;}
    default:cout<<"NET TAKOGO PUNKTA";
    }
    m=getch();
}while(m!=13);
getch();   
 }
//---------Основная программа

int main()
{    menu;

/*     int m=getch();
do
{
        clrscr();
    cout<<"   MENU\n\n";
    cout<<"   VABERITE PUNKT\n";
    cout<<"1. NEW BASA\n";
    cout<<"2. ADD BD\n";
    cout<<"3. VVYVOD NA EKRAN\n";
    cout<<"4. EXIT\n";

    int p;
    cin>>p;

    switch(p)
    {
    case 1:sozdanie();break;
    case 2:append();break;
    case 3:print();break;
    case 4:{cout<<"BUY";break;}
    default:cout<<"NET TAKOGO PUNKTA";
    }
    m=getch();
}while(m!=13);
getch();
return 0;
}


попутно возникли следущие вопросы 
-при создании функции menu меню не выводится на экран в обоих файлах
-  

Это сообщение отредактировал(а) xcf - 10.5.2006, 21:02
PM ICQ   Вверх
likehood
Дата 10.5.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


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

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



Цитата(xcf @  10.5.2006,  21:59 Найти цитируемый пост)
попутно возникли следущие вопросы 
-при создании функции menu меню не выводится на экран в обоих файлах

что значит "при создании функции menu"? Функции не создаются, а вызываются. Кстати, в обоих файлах в функции main у тебя неверый вызов ф-ии menu - надо добавить скобки, т.е. menu();
А вообще, непонятно, что тебе нужно. Оба файла содержат ф-ю main, а ты хочешь один вставить в другой. Это как? 
PM MAIL   Вверх
xcf
Дата 10.5.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

baronp, 
если бы знал как это делается то не спрашивал smile 
 надо прогу с графикой подклють к бд 
PM ICQ   Вверх
bsa
Дата 10.5.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Для этого создаешь .h файл, в него запихиваешь определения типов и объявления функций из подключаемого файла. Данный .h файл подключаешь с помощью #include в первом файле.
а компилируешь из командной строки: cc file1.cpp file2.cpp, где cc - это полное имя компилятора.
Если есть возможность создать проект, то надо добавить в цель проекта оба файла. 
PM   Вверх
xcf
Дата 11.5.2006, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я пишу прогу на борланде 3.1
bsa, 
как из командной строки компилировать это наверно к линуксу 
PM ICQ   Вверх
MAKCim
Дата 11.5.2006, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата

как из командной строки компилировать это наверно к линуксу 

и под виндой можно
cmd -> <compiler> <files> <options>
у борланда в директории bin должен лежать сам компилятор
его и запускай из cmd 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
xcf
Дата 11.5.2006, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



MAKCim, 
какие опции, в моем случае это будет так
D:\bc31\bin\cpp.exe f1 <какие опции надо писать?>
а из самого борлонда можно? 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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