Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    [c++]funzione gotoxy non funzionante

    Salve, vorrei sapere perchè il compilatore mi da il seguente errore quando compilo il seguente programma:

    #include <iostream>
    #include <conio.h>
    #include <conio2.h>
    using namespace std;
    main ()
    {
    void gotoxy(int x,int y);
    gotoxy(5,5);
    cout<<"ciao"<<endl;
    system("pause");
    }


    Compilatore: Default compiler
    Esecuzione di g++.exe...
    g++.exe "C:\Users\misterkiwi\Desktop\SenzaTitolo1.cpp" -o "C:\Users\misterkiwi\Desktop\SenzaTitolo1.exe" -g3 -I"C:\Programmi\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2" -I"C:\Programmi\Dev-Cpp\include" -L"C:\Programmi\Dev-Cpp\lib" -g3
    C:\Users\MISTER~1\AppData\Local\Temp/ccCccaaa.o(.text+0x13a): In function `main':
    C:/Users/misterkiwi/Desktop/SenzaTitolo1.cpp:8: undefined reference to `gotoxy(int, int)'
    collect2: ld returned 1 exit status

    Esecuzione terminata



    evidentemente si tratta di gotoxy ma perchè non va? vedo molti programmi su cui funziona..

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    gotoxy è una vecchissima funzione dell'ambiente/compilatore Borland, non dei DevC++.

    O usi una vecchia versione di Borland o, meglio, utilizzi le API di Windows appositamente previste per la gestione della Console.

    E, ancora meglio, evita di usare DevC++ e lavora con Visual Studio C++.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

    Re: [c++]funzione gotoxy non funzionante

    Originariamente inviato da clone_xf2
    void gotoxy(int x,int y);
    Prima di tutto proverei a togliere la riga che ho quotato... poi se ancora non funziona approfondiamo il discorso.

  4. #4
    mm non non funziona.....

    Compilatore: Default compiler
    Esecuzione di g++.exe...
    g++.exe "C:\Dev-Cpp\SenzaTitolo1.cpp" -o "C:\Dev-Cpp\SenzaTitolo1.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\DOCUME~1\SONIA~1.FAM\IMPOST~1\Temp/ccUlaaaa.o(.text+0x13a):SenzaTitolo1.cpp: undefined reference to `gotoxy'
    collect2: ld returned 1 exit status

    Esecuzione terminata

  5. #5
    Come avrai notato, per usare gotoxy con DevC++ devi includere conio2.h. Ma non basta, devi dire al linker di includere (linkare) la libreria che contiene l'implementazione aggiungendo l'opzione corretta (che credo sia -lconio).

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Confermo la mia risposta (specialmente la parte riguardante le API di gestione Console).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da oregon
    Confermo la mia risposta (specialmente la parte riguardante le API di gestione Console).
    ho provato a guardare solo che la funzione gotoxy sembra essere estremamente più semplice di quelle che tu mi consigli...


    ESSE-EFFE
    #include <iostream>
    #include <conio.h>
    #include <conio2.h>
    using namespace std;
    main ()
    {

    gotoxy(5,5);
    cout<<"ciao"<<endl;
    system("pause");
    }

    includo già conio2.h e ad opzioni compilatore avevo già aggiunto -lconio...

  8. #8
    Originariamente inviato da clone_xf2
    includo già conio2.h e ad opzioni compilatore avevo già aggiunto -lconio...
    Allora non saprei (però stiamo parlando di opzioni di linking, non di compilazione). Se ti può essere d'aiuto: http://it.answers.yahoo.com/question...6104847AAAR7ZV

    Comunque se sei in ambiente Windows (e limitatamente a quello) anche usare le API non è che sia molto complicato, esempio: http://www.cplusplus.com/forum/beginner/4234/

  9. #9
    ok ho provato a fare come avete detto con le API.
    ho scritto questa sorgente(funzionante):


    #include <stdio.h>
    #include <conio.h>
    #include <windows.h>
    #include <iostream>
    using namespace std;

    void gotoxy( int column, int line )
    {
    COORD coord;
    coord.X = column;
    coord.Y = line;
    SetConsoleCursorPosition(
    GetStdHandle( STD_OUTPUT_HANDLE ),
    coord
    );
    }

    int wherex()
    {
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    COORD result;
    if (!GetConsoleScreenBufferInfo(
    GetStdHandle( STD_OUTPUT_HANDLE ),
    &csbi
    ))
    return -1;
    return result.X;
    }

    int wherey()
    {
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    COORD result;
    if (!GetConsoleScreenBufferInfo(
    GetStdHandle( STD_OUTPUT_HANDLE ),
    &csbi
    ))
    return -1;
    return result.Y;
    }

    main()
    {
    system("title prova gotoxy");
    system("color 0a");
    string array[10]={"a","b","C","D","+","#","?","!","2","X"};
    int x,y,a;
    srand(time(NULL));
    x=rand()%5;
    y=rand()%5;

    for(int i=1;i<=1000;i++)
    {
    a=rand()%10;
    x=rand()%30;
    y=rand()%30;
    gotoxy(x,y);
    cout<<array[a];

    gotoxy(x,y);


    getch();
    }
    }


    praticamente stampa caratteri a caso sullo schermo premendo un tasto...
    solamente che non occupa tutta la console. perche?

    immagine

    vedete? non occupa tutta la finestra..

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh, ovvio ... se indichi

    x=rand()%30;
    y=rand()%30;

    vuol dire che le coordinate che possono essere generate sono limitate a 30 righe e 30 colonne mentre nella finestra c'è un numero diverso di righe/colonne.

    Come mai hai scritto 30 in quelle due righe ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.