View Full Version : [C]Non funziona conio.h
The-Revenge
17-11-2009, 21:59
Ciao ragazzi. Uso Devcpp e Windows vista. Non mi funziona la funzione conio.h
Quando vado a scrivere textcolor(RED) mi dice RED undeclared.
Se cerco di stampare la cosa più facile...un esempio...non mi funziona nemmeno...ecco quale tipo di esempio che non funziona :
#include<stdio.h> // libreria standard del C
#include<conio.h> // libreria che contiene cprintf()
void main()
{
textcolor(RED); // imposta il colore(rosso)
cprintf("Hello world"); // stampa il testo colorato
getch(); // attendi la pressione di un tasto
}
Uso Devcpp e Windows vista. usa Visual C++ e Windows 7.
Non mi funziona la funzione conio.h non é ne' una funzione ne' un header standard del C; non usarlo.
textcolor, cprintf e getch sono funzioni che non esistono nello standard C.
Il problema è che chi ti ha insegnato il C sul Borland/Turbo C si è scordato di dirtelo.
usa Visual C++ e Windows 7.
Scusa, ma i sistemi operativi non si comprano come noccioline. Non credo che abbia bisogno di installare Seven per scrivere un programmino in C ;)
Scusa, ma i sistemi operativi non si comprano come noccioline. Non credo che abbia bisogno di installare Seven per scrivere un programmino in C ;)
Concordo. Basta un normale GNU/Linux con terminale shell... spesa: 50 cent, il cd.
Ma va bene anche Vista, basta Visual C++ Express o Code::Blocks. Al limite va bene anche Dev-C++ se ha qualche motivazione per usarlo (ad esempio lo usano nel corso che sta facendo).
The-Revenge
18-11-2009, 11:39
Devc++ lo uso solo perchè lo sentito nominare come compilatore; il mio prof compila gli esercizi della dispensa con borland e devcpp, quindi ho usato quello, ma se dite che è migliore visual C++ scarico quello.
Considerate che non mi serve per fare programmi complessi, solo cose didattiche, a livello di informatica 1 di ingegneria, lavoretti su matrici e cose cosi.
Comunque il fatto di dover colorare il testo mi serve solo a me personalmente, per regolarmi di alcuni elementi della matrice che altrimenti li devo contare a occhio e in matrici grandi è difficile...quindi quale comando posso usare?
Nessuna funzione del C standard permette di colorare l'output.
Per quei programmini va anche bene Dev-C++, ma visto che il professore si è rivolto ad uno strumento free, digli di guardare Code::Blocks, che ha lo stesso compilatore di Dev-C++, ma con un ambiente di programmazione nettamente migliore.
Ma va bene anche Vista, basta Visual C++ Express o Code::Blocks. Al limite va bene anche Dev-C++ se ha qualche motivazione per usarlo (ad esempio lo usano nel corso che sta facendo).
Va bene qualsiasi OS a disposizione dell'utente con il compilatore C :)
Vero per l'output...
PS. ma devc++ non era abbandonato come sviluppo?
PS. ma devc++ non era abbandonato come sviluppo?
Dal 2004 credo...
Scusa, ma i sistemi operativi non si comprano come noccioline. Non credo che abbia bisogno di installare Seven per scrivere un programmino in C ;) mi sembrava chiaramente uno studente e quindi ho dato per scontato che avesse accesso a programmi commerciali come MSDNAA e Dreamspark, nel qual caso Windows 7 per lui é gratis :p
poi é chiaro che il consiglio sul sistema operativo non c'entrasse nulla col suo specifico problema :D
su Dev-C++ invece insisto dovrebbe proprio evitarlo, se non altro perché qualunque altro IDE gli permetterebbe di fare il debug e di trovarsi da solo i problemi senza postare sul forum.
Devc++ lo uso solo perchè lo sentito nominare come compilatore; il mio prof compila gli esercizi della dispensa con borland e devcpp, quindi ho usato quello, ma se dite che è migliore visual C++ scarico quello. pronti: http://www.microsoft.com/express/download/
placca gialla in fondo alla pagina :D
Considerate che non mi serve per fare programmi complessi, solo cose didattiche, a livello di informatica 1 di ingegneria, lavoretti su matrici e cose cosi. Visual C++ 2008 Express non include tutto il baraccone delle altre edizioni, le edizioni Express sono molto limitate: puoi programmare in C e C++ standard, usare le API Win32 e programmare in .NET; a te bastano le prime due, probabilmente non farai uso ne' di Win32 ne' di .NET.
Comunque il fatto di dover colorare il testo mi serve solo a me personalmente, per regolarmi di alcuni elementi della matrice che altrimenti li devo contare a occhio e in matrici grandi è difficile...quindi quale comando posso usare? non ci sono maniere standard di colorare il testo sulla console perché lo standard non prevede che il testo possa essere colorato; lo standard prevede solo che ci siano degli standard streams che sono flussi (streams) di caratteri non formattati.
solo per Windows esistono dei tricks che permettono di colorare i caratteri: inviando sullo standard output o standard error dei codici ASCII particolari (purtroppo non ricordo assolutamente quali siano) si puó impostare la formattazione dei caratteri successivi; la cosa peró non é standard e funziona solo su Windows e solo se gli standard streams del programma sono rediretti sulla console, come tipicamente avviene; se invece ad esempio fossero rediretti su dei files di testo ovviamente non funzionerebbe.
The-Revenge
18-11-2009, 12:46
bhè raga allora non mi resta che chiedervi 2 cose :
un compilatore GRATIS e semplice da usare, ma migliore di devcpp (che mi sono accorto anche io che ha qualche problema, nn mis egnala molti errori come i puntatori nn messi ecc).
Un qualsiasi espediente per colorare il testo, se ne esistono e nn sn troppo smanettone
grazie
un compilatore GRATIS e semplice da usare, ma migliore di devcpp Dev-C++ é un IDE (con un po' di fantasia...), non un compilatore; il compilatore usato da Dev-C++ é una versione antidiluviana del MinGW, il porting per Win32 del gcc. il MinGW di per se' é un buon compilatore, oserei dire uno dei piu usati assieme al CL di Microsoft, peró se proprio devi usarlo scarica la versione attuale, non quella di Dev-C++!
un IDE molto migliore di Dev-C++ che usa lo stesso compilatore é Code::Blocks: www.codeblocks.org
ma se non hai motivi particolari per usare il MinGW ti consiglio di usare Visual C++ Express.
edit - importante rettifica: Code::Blocks in realtá é un IDE multi-compilatore: é in grado di usare tanto il MinGW quanto il compilatore Microsoft.
Un qualsiasi espediente per colorare il testo, se ne esistono e nn sn troppo smanettone
Lascia perdere ;)
Al contrario del consiglio di fero86, preferirei farti rimanere sullo stesso compilatore C usato da Dev-C++ in modo da fare in modo che il codice che scrivi sia esattamente compatibile con il compilatore che usi all'università.
Usando il compilatore Microsoft al posto del MingW32 già usato in Dev-C++ potresti incorrere in qualche problema di compatibilità.
Per fare questo ti basta lasciare installato Dev-C++ ed usare Code::Blocks.
Per usare Code::Blocks:
Leggi qui: http://forums.codeblocks.org/index.php/topic,3232.0.html (non installare MinGW gcc, ce l'hai già su Dev-C++)
E qui per scaricare: http://forums.codeblocks.org/index.php/topic,11311.0.html
Una volta lanciato l'eseguibile di Code::Blocks seleziona "GNU GCC compiler" come compilatore. Poi vai in Settings -> Compiler and debuggers settings -> Global Compiler Settings -> Toolchain Executables e clicka su AutoDetect.
Poi un giorno, se vuoi, potrai installare una versione più aggiornata del compilatore MinGW32 e poi andare ad aggiornare nuovamente la posizione degli eseguibili.
Al contrario del consiglio di fero86, preferirei farti rimanere sullo stesso compilatore C usato da Dev-C++ in modo da fare in modo che il codice che scrivi sia esattamente compatibile con il compilatore che usi all'università. per stare sicuri al 101% sarei anche d'accordo, ma considera che il suo professore compila anche col compilatore Borland...
The-Revenge
18-11-2009, 20:24
ma io ho scaricato visual C ed oltre a non essere gratuito non capisco come si compila.
Quelloc he mi ha consigliati cionci è facile come devcpp?
Ripeto all'esame non userò compilatori, carta e penna, quindi mi interessa relativamente, voglio solo fare tanti esercizi per prendere dimistichezza...basta che mi segnali gli errori
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.