poprawa kodu c++

0

W kodzie przy kompilacji występuje błąd:
could not locate:TASM32.EXE

/*****************************************************************
******************************************************************
********************** PROGRAM - PRACA DYPLOMOWA******************
*************************** Sieci Neuronowe **********************
******************************************************************/

#include<dos.h>
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>

/*****************************************************************
**************** zadeklarownie zmiennych globalnych **************
******************************************************************/

int x,y,z; //informacje o polozeniu kursora myszy//
bool stan[4]; //informacje o stanie przycisków//
int znak; //zczytywanie znaku z klawiatury, zmienna sterujaca//

/*****************************************************************
**************************** FUNKCJE *****************************
******************************************************************
*********************wyswietla kursor myszy **********************
*****************************************************************/

void wyswietl_kursor()
{
  asm
     {
      mov ax,0001h; /*zmienna w zapisie szesnastkowym*/
      int 33h; /*przerwanie 33 obslugujace mysz*/
      }
 }
 /*****************************************************************
 ************************** ukrywa kursor myszy *******************
 *****************************************************************/

 void ukryj_kursor()
 {
  asm
     {
      mov ax,0002h;//adanie wartosci rejestrowi AX//
      int 33h;
     }
 }

 /*****************************************************************
 *** funkcja ustawiajajaca palete na kolejne poziomy szarosci *****
 ******************** !!!tylko pierwszych 6 kolorow!!! ************
 ************************ pozostale sa bez zmian ******************
 ******************************************************************/
 void paleta_szarosc()
 {
 setrgbpalette(1,0,0,0);//ustaw czarny//
 setrgbpalette(2,15,15,15);
 setrgbpalette(3,25,25,25);
 setrgbpalette(4,35,35,35);
 setrgbpalette(5,45,45,45);
 setrgbpalette(6,63,63,63);//ustaw bialy//
 setbkcolor(4);
 }

/******************************************************************
************************ Funkcja rysujaca cieniowana ramke ********
************************ jako wspolrzedne podajemy rogi ramki *****
*******************************************************************/
void ramka (int x1, int y1, int x2, int y2)
{
  setcolor(2);
  line(x1,y1,x2,y1);
  line (x2,y1,x2,y2);
  line (x2,y2,x1,y2);
  line(x1,y2,x1,y1);
  setcolor(5);
  line(x1-1,y1-1,x2-1,y1-1);
  line(x2-1,y1+1,x2-1,y2-1);
  line(x2-1, y2-1,x1-1,y2-1);
  line(x1-1,y2-1,x1-1,y1-1);
  }

/******************************************************************
************** Funkcja rysujaca cieniowany, wypukly klawisz *******
************* jako wspolrzedne podajemy rogi klawisza *************
*******************************************************************/
void klawisz_wycisniety(int x1, int y1, int x2, int y2)
{
   ukryj_kursor();
   setcolor(5);
   line(x1,y1,x2,y1);
   line(x1,y2,x1,y1);
   setcolor(2);
   line(x2,y2,x1,y2);
   line(x2,y1,x2,y2);
   wyswietl_kursor();
}

/******************************************************************
********** Funkcja rysujaca cieniowany, wklesly klawisz ***********
********** jako wspolrzedne podajemy rogi klawisza ****************
******************************************************************/

void klawisz_wcisniety(int x1, int y1, int x2, int y2)
{
   ukryj_kursor();
   setcolor(2);
   line(x1,y1,x2,y1);
   line(x1,y2,x1,y1);
   setcolor(5);
   line(x2,y2,x1,y2);
   line(x2,y1,x2,y2);
   wyswietl_kursor();

}

/******************************************************************
***************** Procedura sprawdzajaca czy mysz jest ************
****************************** zainstalowana **********************
******************************************************************/

void mysz()
{
 int a;
 asm
 {
      mov ax, 0000h
      int 33h
      mov a,ax /* z ax do a czy mysz jest zainstalowana 1 jezeli nie to 0*/
  }
  if (a==1)
  printf("Mysz wykryta...OK!");
  else {
        printf("Sorry!!! Nie masz zainstalowanej myszy!");
        exit;
        }
}
/*****************************************************************/
/************************ Stan myszy *****************************/
/******************** a - czy klawisz byl wcisniety **************/
/******************** b - polorzenie X ****************************/
/******************** c - plorzenie Y *****************************/
/*****************************************************************/
/*****************************************************************/

void stan_myszy(int *b, int *c, int *a)
{
int a1,b1,c1;
    asm {
         mov ax,0003h
         int 33h
         mov a1,bx /* polozenie w x*/
         mov b1,cx /*polozenie w osi y*/
         mov c1,dx /*wartosc klawisza myszy*/
    }
    *a=a1;
    *b=b1;
    *c=c1;
    }
/*****************************************************************/
/***** Funkcja rysujaca wycieniowany klawisz,reagujacy na mysz***/
/*********************** jako wspolrzedne podajemy rogi **********/
/*****************************************************************/
void klawisz(int x1, int y1, int x2, int y2,bool *stan)
{
int x,y,z;
stan_myszy(&x,&y,&z);//zwraca wartosc myszy myszy//
if (*stan == false)//stan klawisza true wcisniety, false nie wcisniety//
   {
     if  ((x>x1) && (x<x2) && (y>y1) && (y<y2) && (z==1))
          {
          klawisz_wycisniety(x1,y1,x2,y2);
          *stan=true;
          delay(300);
          };
        
     }
     else
     {
        if ((x>x1) && (x<x2) && (y>y1) && (y<y2) && (z==1))
        {
         klawisz_wcisniety(x1,y1,x2,y2);
         *stan=false;
         delay(300);
         };
     };
};
/******************************************************************/
/************ procedura czyszczaca nieregularny obszar ekranu *****/
/******************************************************************/

void clear_obszar()
{
ukryj_kursor();
/************* jasna nieregularna ramka*****/

setcolor(5);
line(116,16,116,221);
line(116,221,16,221);
line(16,221,16,446);
line(16,466,626,466);
line(626,466,626,56);
line(626,56,441,56);
line(441,56,441,16);
line(441,16,116,16);

/*************** wymazanie wszystkie ze srodka****/

setfillstyle(0,0);
floodfill(120,20,5);

/************* cieniowana, nieregularna ramka***/

setcolor(1);
line(115,15,115,220);
line(115,220,15,220);
line(15,220,15,465);
line(15,465,625,465);
line(625,465,625,55);
line(625,55,440,55);
line(440,55,440,15);
line(440,15,115,15);

setcolor(5);
line(116,16,116,221);
line(116,221,16,221);
line(16,221,16,466);
line(16,466,626,466);
line(626,466,626,56);
line(626,56,441,56);
line(441,56,441,16);
line(441,16,116,16);
wyswietl_kursor();
};

/**********************************************************************/
/*************************** uproszczony schemat neuronu **************/
/*********************************************************************/
void schemat_n(int x, int y)
{
    setcolor(14);
    rectangle(x,y,x+50,y+80);
    setcolor(11);
    circle(x+25,y+25,20);
    setcolor(9);
    line(x,y+50,x+50,y+50);
    line(x,y+50,x+25,y+80);
    line(x+50,y+50,x+25,y+80);
}

/*********************************************************************/
/******************** Schemat budowy sieci neuronow *****************/
/*********************************************************************/
void siec()
 {
  ukryj_kursor();
  setcolor(1);
  outtextxy(185,30,"SCHEMAT SIECI NEURONOWEJ");
  setcolor(2);
  outtextxy(120,60,"zastosowano konwencje ze schematu neuronu");
  outtextxy(250,100,"WEJSCIA");
  outtextxy(133,175, "warstwy");
  outtextxy(125,185,"wejsciowe");
  outtextxy(75,285,"wagi");
  line(225,110,225,145);

  schemat_n(200,150);
  schemat_n(300,150);
  schemat_n(150,250);
  schemat_n(250,250);
  schemat_n(350,250);
  schemat_n(250,350);

  setcolor(2);

  line(275,435,275,450);
  outtextxy(250,450,"WYJSCIE");

  outtextxy(450,275,"warstwa");
  outtextxy(455,285,"ukryta");

  outtextxy(350,375,"warstwa");
  outtextxy(340,385,"wyjsciowa");

  setcolor(2);

  line(175,250,225,230);
  line(275,250,225,230);
  line(375,250,225,230);

  line(175,250,325,230);
  line(275,250,325,230);
  line(375,250,325,230);

  line(275,350,175,330);
  line(275,350,275,330);
  line(275,350,375,330);

  wyswietl_kursor();
  delay(300);

  do
    {
     stan_myszy (&x,&y,&z);
     if (kbhit()) znak=getch(); /*czytanie klawisza*/
     if ((x>7) && (y>60) && (x<97) && (y<100) && (z==1)) znak=27;
     }
  while (znak!=27);

  clear_obszar();
  klawisz_wycisniety(7,60,97,100);
  delay(300);
  }

  /*******************************************************************/
  /*************** Schemat budowy i opis dzialania neuronu  **********/
  /*******************************************************************/
  void neuron()
  {
  setcolor(1);
  outtextxy(120,30,"NEURON - BUDOWA I DZIALANIE");
  setcolor(2);
  outtextxy(120,60,"Schemat Neuronu zostal opracowany przez McCullocha i Pittsa");
  outtextxy(120,70," w 1943 roku i oparty zostal na budowie komorki nerwowej.");
  setcolor(14); //rysowanie schematu neuronu(zolty)//
  rectangle(200,200,410,320);

  setcolor(2);

  rectangle(220,220,240,300);
  rectangle(220,240,240,260);
  rectangle(220,260,240,280);

  //wagi polonczen
  line(180,230,215,230);
  line(180,250,215,250);
  line(180,270,215,270);
  line(180,290,215,290);

  //opisy wag polaczen
  outtextxy(163,228,"X1");
  outtextxy(163,248,"X2");
  outtextxy(163,268,"X3");
  outtextxy(163,288,"X4");
  outtextxy(140,300,"wejscia");

  outtextxy(150,180,"wagi polaczen");

  line(228,193,228,215);

  outtextxy(224,228,"W1");
  outtextxy(224,248,"W2");
  outtextxy(224,268,"W3");
  outtextxy(224,288,"W4");

  line(245,230,280,250);
  line(245,250,280,255);
  line(245,270,280,265);
  line(245,290,280,270);

  outtextxy(295,257,"SUMA"); //w kole//
  circle(310,260,20);

  outtextxy(338,251,"S");
  line(330,260,350,260);

  //************** trojkat**/
  line(360,245,360,275);
  line(360,245,390,260);
  line(360,275,390,260);
  outtextxy(360,257,"f(s)");

  line(370,248,380,190);
  outtextxy(280,180,"funkcja aktywacji neuronu");

  line(400,260,450,260);
  outtextxy(455,257,"x");

  outtextxy(435,300,"wyjscie");
  outtextxy(170,330,"scemat budowy pojedynczego neuronu");

  outtextxy(45,355,"Do wejsc doprowadzane sa sygnaly dochodzace z neuronow warstwy");
  outtextxy(30,365,"poprzedniej. Kazdy sygnal mnozony jest przez odpowiadajaca mu wartosc");
  outtextxy(30,375,"liczbowa znana waga. Wplywa ona na percepcje danego sygnalu wejsciowego");
  outtextxy(30,385,"i jego udzial w tworzeniu sygnalu wyjsciowego przez neuron");
  outtextxy(45,395,"Waga moze byc pobudzajaca (dodatnia) lub opozniajaca (ujemna), jezeli");
  outtextxy(30,405,"nie ma polaczenia miedzy neuronami to waga jest rowna zero. Zsumowane");
  outtextxy(30,415,"iloczyn sygnalow i wag stanowia argument funkcji aktywacji neuronu.");

  delay(300);
  znak=0;
  z=0;

  do
    
    {
     stan_myszy(&x,&y,&z);
     if (kbhit()) znak=getch(); //czytanie klawisza
     if ((x>7) && (y>10) && (x<97) && (y<50) && (z==1)) znak=27;
     }
  while (znak!=27);

  clear_obszar();
  klawisz_wycisniety(7,10,97,50);
  delay(300);
    }

/***********************************************************************
******************** wyswietla informacje pomocy do programu ***********
/**********************************************************************/
void pomoc()
{
outtextxy(120,30,"POMOC - Program sieci Neuronowe");
setcolor(2);
outtextxy(120,60,"Program sieci neuronowe, jest interaktywna prezentacja");
outtextxy(120,70,"zagadnien zwiazanych z sieciami neuronowymi");
outtextxy(120,80,"Pozwala na zapoznanie sie z podstawami budowy neuronu");
outtextxy(120,90,"jak i caloscia sieci neuronowych.");
outtextxy(120,110,"Poszczegolne zagadnienia sa omawiane w sekcjach programu");
setcolor(1);
outtextxy(120,130,"SEKCJA I - NEURON ");
setcolor(1);
outtextxy(120,150,"SEKCJA II - SIECI ");

z=0;
do
  {
   stan_myszy(&x,&y,&z);
   if (kbhit()) znak=getch(); //czytanie klawisza//
if ((x>452) && (y>7) && (x<541) && (y<43) && (z==1)) znak=27;
   }
   while (znak!=27);
   clear_obszar();
   klawisz_wycisniety(452,7,451,43);
   delay(300);
   }
/*********************************************************************/
/************************* PROGRAM GLOWNY ****************************/
/*********************************************************************/
 void main()
 {

 int gd,gm; //inicjalizacja zmiennych pomocniczych//

 mysz();
 gd=DETECT;
 initgraph(&gd,&gm,"c:\\bc5\\bgi\\"); //inicjalizacja trybu graficznego//
 wyswietl_kursor();
 paleta_szarosc();

 /*********************************************************************
 /*************************** rysowanie glownego okna *****************
 /********************************************************************/

 //************ cieniowana, nieregularna ramka*******************/

  setcolor(1);
  line(115,15,115,220);
  line(115,220,15,220);
  line(15,220,15,465);
  line(15,465,625,465);
  line(625,465,625,55);
  line(625,55,440,55);
  line(440,55,440,15);
  line(440,15,115,15);

  setcolor(5);

  line(116,16,116,221);
  line(116,221,16,221);
  line(16,221,16,466);
  line(16,466,626,466);
  line(626,56,441,56);
  line(626,56,441,56);
  line(441,56,441,16);
  line(441,16,116,16);

  //*********** klawisze z lewej strony

  klawisz_wycisniety(3,3,673,477);
  klawisz_wycisniety(5,5,100,205);
  klawisz_wycisniety(7,10,97,50);
  klawisz_wycisniety(7,60,97,100);
  klawisz_wycisniety(7,110,97,150);
  klawisz_wycisniety(7,160,97,200);

  //**************** klawisze sterujace POMOC i EXIT********************/

  bool ster[2];  //zmienna lokalna informacje o stanie klawiszy POMOC i EXIT//

  klawisz_wcisniety(450,5,635,45);
  klawisz_wycisniety(452,7,541,43);
  klawisz_wycisniety(543,7,633,43);

  setcolor(1);

  outtextxy(457,22,"POMOC");
  outtextxy(575,22,"EXIT");
  outtextxy(215,19,"PRACA DYPLOMOWA");
  outtextxy(125,36,"PREZENTACJA BUDOWY SIECI NEURONOWYCH");

  ster[1]=false;

  outtextxy(28,28,"NEURON");
  outtextxy(32,78,"SIEC");

  /*********************************************************************
  /********************* petla glowna programu *************************
  *********************************************************************/

  do
    {
    stan_myszy(&x,&y,&z);

  if ((x>452) && (y>7) && (x<541) && (y<43) && (z==1))
     {
     klawisz_wcisniety(452,7,541,43);
     delay(300);
     clear_obszar();
     pomoc();
     }
  if ((x>7) && (y>10) && (x<97) && (y<50) && (z==1))
    {
    stan[0]=true;
    klawisz_wcisniety(7,10,97,50);
    delay(300);

    clear_obszar();
    neuron();
    }
  if ((x>7) && (y>60) && (x<97) && (y<100) && (z==1))
     {
     stan[0]=true;
     klawisz_wcisniety(7,60,97,100);
     delay(300);
     clear_obszar();
     siec();
     }

klawisz(7,110,97,150,&stan[2]);
klawisz(7,160,97,200,&stan[3]);
klawisz(452,7,541,43,&ster[0]);
klawisz(543,7,633,43,&ster[1]);

    }

while (!(kbhit())&& (!ster[1]));

closegraph();
};
0

Czytać nie umiesz? Może angielskiego nie rozumiesz? I to ma być przyszły magister.
Masz w kodzie wstawkę asemblerową, a kompilator C++ nie może znaleźć kompilatora asemblera.
Po co podałeś cały kod, myślisz, że komuś będzie się chciało to czytać za friko, jest tego za dużo?

0

przy kompilacji występują błędy:
error:unresolved external '_setrgbpalette' referenced from module praca dyplomowa.cpp
error:unresolved external '_setbkcolor' referenced from module praca dyplomowa.cpp
error:unresolved external '_line' referenced from module praca dyplomowa.cpp
error:unresolved external '_delay'referenced from module praca dyplomowa.cpp
error:unresolved external '_setfillstyle'referenced from module praca dyplomowa.cpp
error:unresolved external '_floodfill'referenced from module praca dyplomowa.cpp
error:unresolved external '_rectangle'referenced from module praca dyplomowa.cpp
error:unresolved external '_circle'referenced from module praca dyplomowa.cpp
error:unresolved external '_outtextxy'referenced from module praca dyplomowa.cpp
error:unresolved external '_initgraph'referenced from module praca dyplomowa.cpp
error:unresolved external '_closegraph'referenced from module praca dyplomowa.cpp

0

A masz w ogóle to graphics.h ? Bo wygląda na to że nie.
Swoją drogą kto ci pisał tą pracę dyplomową, bo gołym okiem widać ze ty z tym programem (jak i programowaniem w ogóle) masz niewiele wspólnego.

0

sciągnąłem sobie Winbgi i podmieniłem pliki.
Dopiero zdobywam szlify.

0

najlepiej sciagnij PELEN pakiet kompilatora i bibliotek.. winbgi, tasm32 itp wygladaja mi na jakis stary kompilator borlandowski.. moze to to jakies bcc32.exe/turboc++ ? jak sie myle, to sie ciesze, jak mam racje - oj, masz pecha..

1 użytkowników online, w tym zalogowanych: 0, gości: 1