PDA

Visualizza la versione completa : programmzione c


alexander82
15-04-2005, 11:14
salve a tutti ho un problema, devo fare un menu la versione che ho del compilatore(4.9.9.2.) non mi permette di usare l'istruzione:
goto();
e neppure:
clrscr();
potete dirmi se c' qualche altra istruzione oppure no?
grazie :ciauz:

Johnny_Depp
15-04-2005, 11:20
s, ma che compilatore/ambiente usi?

per clrscr() prova ad includere <conio.h> o <conio.c>

goto()???

semmai goto: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/statem_19.asp

Ed_Bunker
15-04-2005, 11:33
TI basta guardare sul man

dekdek
15-04-2005, 11:41
Forse gotoxy() ?

alexander82
15-04-2005, 11:43
ho il dev c++, ho provato ad inserire la libreria <conio.h> e <conio.c> ma non funziona con nessuna delle due mi dice :
[Linker error] undefined reference to `clrscr'
e gotoxy(35,1); che servirebbe per posizoionare il menu :
[Linker error] undefined reference to `gotoxy'
AIUTOOOOO
inoltre se sapete come fare una procedura in cui dato un vettore di interi, la procedura mi riconosce se i numeri sono inseriti sono interi oppure no!!
Grazie mille :ciauz:

dekdek
15-04-2005, 11:51
Dato un vettore di interi i numeri inseriti sono per forza interi... :D

alexander82
15-04-2005, 12:05
si ho capito ma ti faccio un esempio:
Se al primo posto di un vettore ho 8(io lo so che intero ma voglio che il programma me lo riconosca)e il programma mi deve dire se intero oppure no come faccio???:(
in pratica volevo sapere una procedura che mi permetta di Eguagliare l'iesimo campo del vettore e dire se intero oppure no.
Ciao :(

dekdek
15-04-2005, 12:16
Un numero in un vettore di interi e' intero. Per definizione. Se provi a inserire un numero floating point in una variabile intera, o ottieni un errore, o il numero viene convertito automagicamente in intero.

Se invece il vettore e' di reali, puoi fare tutte le prove che vuoi, non avrai mai la sicurezza che sia intero. L'aritmetica a precisione finita e' strana...

Infine, se il vettore e' di stringhe, allora devi analizzare la stringa e controllare che contenga solo "+-0123456789" ed eventualmente spazi vuoti ma non fra una cifra e l'altra. Dopodiche puoi convertirla in intero. Ci dovrebbero essere funzioni di libreria per fare tutto cio'.

alexander82
15-04-2005, 12:34
quindi vuoi dire che in un vettore non posso fare confronti di tipi int,char,float,ecc..: per esempio io scrivo 3.2 non esiste un controllo che mi dica "hai sbagliato non un intero" giusto?
Grazie :ciauz:

dekdek
15-04-2005, 12:52
Esatto. Almeno non in un linguaggio come il C. (In un linguaggio a oggetti come C++ o Java ha senso, ma non nel modo in cui vorresti usarlo tu...)
Per questo la lettura da tastiera viene sempre fatta come stringa, e poi si converte nel tipo desiderato SE sono rispettate le specifiche del tipo.

Il tipo rappresenta il modo in cui la locazione di memoria in cui e' immagazzinato il dato deve essere interpretata. Quindi, la stessa sequenza di bit dara' luogo a valori diversissimi fra loro a seconda che tu la interpreti come int o come float...

Loading