So che non centra molto con le olimpiadi però dato che mi ci sto scervellando e non trovo comunque una soluzione, chiedo aiuto a qualcuno che sa utilizzare questa libreria:
#include <graphics.h>
#include <iostream>
using namespace std;
int main()
{
int gd = DETECT,gm;
initgraph(&,gd,&,gm,"c:\\Dev-Cpp\\lib\\libbgi");
int x= 150,y=180,radius=50;
setcolor(MAGENTA);
outtextxy(x - 70, y - 170, "Benvenuti nel mio primo programma in Graphics");
setcolor(LIGHTGREEN);
circle(x, y, radius);
floodfill(x,y,YELLOW);
circle(x+200, y, radius);
floodfill(x+200,y,YELLOW);
setcolor(RED);
rectangle(x+80, y + 50, x+120, y+150);
floodfill(x+81,y+51,12);
setcolor(BLUE);
arc(x+100, y+70,20, 160,150);
setcolor(DARKGRAY);
circle(x+100, y+75, 200);
getch();
closegraph();
return 0;
}
Ho questo problema sto cercando di lavorare con l libreria di grafica, ho gia inserito i file opportuni nelle cartelle però nonostante questo continua a dare un errore dicendomi che alla seconda riga dentro il main mi dice che “amp” non è dichiarato;
Se qualcuno può gentilmente aiutarmi gliene sarei infinitamente grato;
Grazie in anticipo!
Prova a partire da un esempio più semplice che compila correttamente e poi aggiungi man mano le istruzioni. Cercando su google “graphics.h” ho trovato questa guida che potrebbe esserti utile: https://developerinsider.co/graphics-graphics-h-c-programming/
Cercando “clrscr not declared” su Google ho trovato questo:
Da quel che dicono lì, pare che clrscr() non sia una funzione standard bensì una semplice estensione fornita solo dal compilatore (antico) della Borland all’interno di <conio.h> (anche questo non standard), e pare che nei compilatori moderni non sia presente.
Dicono anche che includendo <stdlib.h> si può usare system("cls") che pare faccia la stessa cosa di clrscr()
Hai impostato correttamente il linker?
Ho usato quella libreria in tempi remoti, e se non ricordo male devi installare un file libgraphics.a o qualcosa del genere che poi va linkato.
Se usi dev cpp devi creare un progetto e andare nelle impostazioni di compilazione e nel linker aggiungere diversi parametri del tipo “-l<nome libreria, cercalo su internet>”
Tra l’altro io non ho mai usato una funzione initgraphics, è sufficiente aprire il main e scrivere initwindow che crea la finestra grafica:
initwindow(int larghezza, int altezza, const char * titolo);
Inoltre la libreria in questione non è più mantenuta se non erro ed è solo per WS, ti consiglio di passare a librerie più avanzate e multipiattaforma come SDL2 che ti permette di importare immagini, suoni, e fare molte cose. La SDL2 supporta pure l’accelerazione hardware perché renderizza con OpenGL