mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Liste

Ammesso che io abbia incluso la libreria "malloc.h", creato una struttura:
struct EL
{
 char nome[20];
 struct EL *next;
};
typedef EL elemento;
Inserito le tre funzioni:
int lista_vuota(elemento *t)
{
 if(t==NULL)
  return 0;
 else
  return 1;
}
void inserisci_in_testa(elemento *t, char *s)
{
 elemento *p;
 p=(elemento*)malloc(sizeof(elemento));
 p->next=t;
 p->nome=s;
 t=p;
}
void cancella_in_testa(elemento *t)
{
 elemento *p;
 if(lista_vuota(&t)==1)
 {
  p=t;
  t=p->next;
  free(p);
 }
}
Con prima i prototipi.
Perchč quando compilo mi escono due errori che fanno riferimento alla riga 
"p->nome=s;" della funzione inserisci_in_testa ed alla riga 
"if(lista_vuota(&t)==1)" della funzione cancella_in_testa?
Grazie, ciao a tutti.

 Grazie, ciao a tutti.
Prego, ciau
Mtc`

 typedef EL elemento;
questo dovrebbe essere:
typedef struct EL elemento;
altrimenti ti da errore no ?
Ciao²

(!=0) quando la lista è vuota e FALSO (0) quando non è vuota, non credi ?
Ah... allora quando il main si aspetta un intero e inserisco return 0 si 
aspetta un falso?!?!? O viene interpretato come chiusura del programma??
Per quanto riguarda il problema delle stringhe credevo che si poteva evitare 
la funzione strcpy() e sbagliavo poichè non è così che si definisce una 
stringa come puntatore a caratteri.
Ciao e grazie a tutti per le risposte.

 Ciao e grazie a tutti per le risposte.
Cia`

 'nome'.
Ok ora mi è chiaro.
Grazie.
Ciao.

 wrote:

Non funziona ;-)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef
struct EL {
  char nome[20];
  struct EL *next;
} elemento;
int lista_vuota(elemento *t)
{
   return t==NULL;
}
void inserisci_in_testa(elemento **t, char *s)
{
  elemento *p = malloc(sizeof *p);
  p->next=*t;
  strncpy(p->nome,s,20);
  p->nome[19]='\0';
  *t=p;
}
void cancella_in_testa(elemento **t)
{
  elemento *p;
  if (!lista_vuota(*t))
  {
    p=*t;
    *t=p->next;
    free(p);
  }
}
int main()
{
   elemento * list = NULL;
   inserisci_in_testa(&list, "Giorgio");
   inserisci_in_testa(&list, "Dario");
   puts(list->nome);
   puts(list->next->nome);
   cancella_in_testa(&list);
   puts(list->nome);
   cancella_in_testa(&list);
   printf("%d\n", lista_vuota(list));
   return 0;
}
-- 
Horst

 C++, forse per questo mi da l'errore.
Per compilare in modalità C, metti sulla linea di comandi del compilatore
la flag /TC (di default compila in modalità C++, come se ci fosse la flag
/TP).
Nella programmazione di tutti i giorni queste flag non si usano granché,
ma diventano importanti se stai imparando uno dei due linguaggi (o
entrambi) e non vuoi rischiare di confoderteli.
--
Cingar
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: gcc mi crea problemi

 Qualcuno sa' dove sbaglio o dove sbaglia il compilatore.
Senza vedere il codice č impossibile darti una mano.
Prova ad inviarne almeno una porzione rilevante - rilevante ai fini dei
problemi che stai avendo.
Ah... non sembrerebbe, comunque se il codice non č C, bensě C++, allora
prova news:it.comp.lang.c++
-julio di egidio
ju...@webzone.it

niente, ma in esecuzione mi da l'ineffabile segmentation fault.
Quando in Linux ottieni una segmentation fault significa che tu stai
accedendo ad un indirizzo non valido e cioe' non assegnato al tuo processo.
Questo e' dovuto, generalmete ad un errato uso dei puntatori.
A   A  IGM  A          Ciao ;o)
MM MM A   A M          Mei
I I I MAMIG I
G   G I     G   E-(Mei)l: 
m...@pcos2.mi.infn.it
A   A  GA   A
Letture divertenti consigliate:
"Un diamante puo' essere per sempre ma le variabili no."
 Il manuale ActiveX - T.Coombs - McGraw Hill
                             J.Coombs
                             D.Brewer

Newsgroup: it.comp.lang.c
Titolo: libro c avanzato

Salve a tutti volevo un consiglio da voi.
Devo acquistare un libro di c avanzato, avevo pensato a quello della
jackson:
PROGRAMMAZIONE C AVANZATA
La guida per tutti alla programmazione professionale
Oualline Steven, Peter Norton Computing Group
qualcuno lo conosce questo libro?


The majority of the stupid is invincible and guaranteed for all time.
The terror of their tyranny, however, is alleviated by their lack of
consistency.
                -- Albert Einstein

Non penso sia quello che ti interessa. Parla di programmazione di basso
livello (interrupt, indirizzi di IO, tabelle caratteri, ecc.) ma riferita
alla programmazione in MS-DOS. Nessuna di queste nozioni č riutilizzabile
sotto Windows o altrove.
Se vuoi un libro di C avanzato puoi prendere "Programmare in C senza errori:
trucchi e trabocchetti del linguaggio" di Andrew Koenig.
--
----------
Lello Mele
Via San Sebastiano, 22
84036 Sala Consilina (SA)
P.Tel.:0347/643.35.25
HOMEPAGE:
http://www.lellomele.supereva.it
eMAIL:
v...@libero.it
me...@programmazione.it
-------------
"Esistono due modi per elaborare il progetto di un software.
 Il primo consiste nel renderlo semplice al punto tale che non
 manifesti lacune evidenti. Il secondo consiste nel renderlo
 complicato al punto tale che non manifesti lacune evidenti.
 Il primo metodo e' di gran lunga piu' difficile." [C.A.R. Hoare]
"Antonio barbone" <bar...@raffaello.home> ha scritto nel messaggio
news:slrn97h74e...@barbone.raffaello.home...

Newsgroup: it.comp.lang.c
Titolo: aiuto sugli array

con questo programma sommo i valori contenuti in v1 e in v2
int main()
{
    int v1[3]={1,2,3};
    int v2[3]={5,6,7};
    int a,b,c,d;
    for(a=0,b=0;a<3;a++){
        b=b+v1[a];
        }
    printf("v1 = %i\n",b);
    for(c=0,d=0;c<3;c++){
        d=d+v2[c];
    }
    printf("v2=%i\n",d);
}
ok sta roba mi somma tra di loro i valori di v1 e v2 dandomi:
v1=6
v2=18
non riesco però a sommare tra loro v1 e v2 o meglio ci riesco facendo
s=v1[0]+v2[0]+[v1[1]....ma non voglio
farlo così ma con un ciclo, mi potete aiutare? ci ho provato ma con
risultati deludenti.
Grazie

 farlo così ma con un ciclo, mi potete aiutare? ci ho provato ma con
int main()
{
    int v1[3] = {1, 2, 3};
    int v2[3] = {5, 6, 7};
    int i, s;
    s = 0;
    for (i = 0; i < 3; i++)
    {
        s = s + v1[i] + v2[i];
    }
}
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: [OT]competenze

 p.s. Io studio ing. informatica.
In generale cerca con google nel gruppo it.lavoro.informatica
(
http://groups.google.com/groups?group=it.lavoro.informatica
)
Ma non ripostare ancora la domana, viene fatta regolarmente quasi
tutti i giorni.
-- 
{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}
SunGray aka Gabriele Lana
contact me @ 
gabrie...@fastwebnet.it
See you space cowboy ...

 
io ho fatto 2 semestri di ing.informatica e sono finito a programmare in 
C test protocollari su stack Ethernet/IP di implementazioni 
personalizzate per reti particolari ... ( e non ti dico quanti non 
seguono gli rfc facendo danni !!! )
ciao

Newsgroup: it.comp.lang.c
Titolo: Può una routine in C chiamarne una in C++

    Qualcuno può dirmi se da un programma in C posso fare delle chiamate
a funzioni
    in C++ ?
            Grazie,
                            Gabriele Contoli

 
No, in quanto i nomi delle funzioni vengono modificati dal compilatore (per
gestire l'overloading) e quindi il linker non e' in grado di risolvre i
riferimenti:
C:
  extern int prova_cpp(int x);
  i=prova_cpp(i);			- Il C genera un riferimento esterno a _prova_cpp
C++:
  int prova_cpp(int x)		- Il C genera un simbolo pubblico _prova@XYCC (o
qualcosa del genere...)
  {
    ...
  }
... e il linker non riesce a metterli insieme.
Si puo' aggirare il problema aggiungendo una routine di interfaccia C/C++:
C++:
extern "C" int prova_cpp_from_c(int x)
prova_cpp_from_c(int x) { return prova(x); }
C:
  i=prova_cpp_from_c(int x);
Ovviamente il linker deve essere in grado di leggere sia i file oggetto del
compilatore C che quelli del C++.

 a funzioni in C++ ?
Se tali funzioni sono già compilate in una libreria, temo sia molto
difficile a causa del name mangling. Credo che l'unica cosa sia
provare...
EMG
Newsgroup: it.comp.lang.c
Titolo: Calendario perpetuo

Ciao a tutto il newsgroup.
Qualcuno puo fornirmi un algoritmo per realizzare un calendario perpetuo?
Ovvero avendo giorno,mese,anno mi viene restituito il giorno della
settimana (lunedi, martedi mercoledě.....)
Grazie a tutti per il vostro aiuto.
Saluti
Carlo

mc wrote:

static mese_prima[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304,
334};
/******************************************************************
 * Trova il giorno della settimana (dal 1901 al 2099)
 ******************************************************************/
int wday (gg, mm, aaaa)
int gg, mm, aaaa;
{
   int date;
   date = 1 +                  /* Offset */
      (aaaa - 1901) * 365 +    /* Giorni per anno */
      (aaaa - 1901) / 4 +      /* Giorni bisestili */
      mese_prima[mm - 1] +         /* Giorni dei mesi precedenti */
      ((mm > 2) && ((aaaa - 1900) % 4 == 0)? 1: 0) + /* Giorno bisestile di
ques t'anno */
      gg;
   return (date % 7);
}

Ciao
Ho avuto lo stesso problema e ho scritto questo algoritmo che ti assicuro
funziona bene.
Se lo utilizzi per date precedenti all'odierna dovresti aggiungere nelle
righe 14 e 16 nelle operazioni  (..)%    abs(...) perche' potrebbe diventare
negativo (..) e il comportamento di % dipende poi dal compilatore usato.
Paolo
int unogenn,giornosett,risultato,i,anno,mese,giorno,temp;
int giornimes[12];        /*  array globale con giorni dei mesi   */
giornimes[0]=31;          /*  giorni totali per ogni mese   */
    giornimes[2]=31;
    giornimes[3]=30;
    giornimes[4]=31;
    giornimes[5]=30;
    giornimes[6]=31;
    giornimes[7]=31;
    giornimes[8]=30;
    giornimes[9]=31;
    giornimes[10]=30;
    giornimes[11]=31;
 unogenn=(anno-1999+5)%7;      /*  elabora il giorno della settimana del 1
gennaio */
 if (unogenn==0) unogenn=7;
    if ( (anno-1996)%4 ==0 ) giornimes[1]=29;     /* controlla se e'
bisestile  */
  else giornimes[1]=28;
 temp=0;
 if (mese!=0) for (i=0;i<mese-1;i++) temp=temp+giornimes[i];
 giornitot=temp+giorno;
    resto=giornitot % 7;
 giornosett=(resto+unogenn-1)%7;
 if (giornosett==0) giornosett=7;
    /*  giornosett contiene il giorno della settimana  1=lunedi ...
7=domenica    */

settimana (lunedi, martedi mercoledě.....)
#include <stdio.h>
const char *gg[] = { "domenica", "lunedi", "martedi",
                     "mercoledi", "giovedi", "venerdi",
                     "sabato" } ;
int giorno_della_settimana(int d, int m, int y)
{
    static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
    y -= m < 3;
    return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
}
main()
{
    puts( gg[giorno_della_settimana(30, 12, 1974)] ) ;
}
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

Grazie per i suggerimenti
Newsgroup: it.comp.lang.c
Titolo: chiudere il programma

Ciao a tutti, io ho questo problema: quando faccio un nuovo programma (uso
microsoft visual c++) e lo faccio andare dal compilatore questo inserisce di
default il "press any key to continue"e blocca il programma come giusto che
sia, ma se faccio andare l'eseguibile fuori dal compilatore il programma si
ferma troppo presto, quando ancora devo vedere i risultati.
Cosa posso usare per implementare un "press any key to continue" in C
standard? Oppure anche "il programma dos è terminato..."come mette di solito
windows?
Ciao a tutti

 C standard? 
<code>
	#include <stdio.h>
	int main()
	{
        	puts("Premi un tasto per continuare...");
        	getchar();
	        return 0;
	}
</code>
	Alla prossima,
		Marco

 standard?
inserisci la riga
(void)getchar();
prima del return della funzione main().
ciao ciao
Marco
--
Marco Coppo
University Of Sheffield
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm

 Ciao a tutti
Se il problema e' solo vedere i risultati, perche' non lanci il
programma da una shell dos gia' aperta?
Ciao, Andrea
-- 
------------------------------------
arimicci @@ aritaly. com  .~~~.  ))
                (\__/)  .'     )  ))
  Andrea        /o o  \/     .~
      Rimicci  {o_,    \    {
                 / ,  , )    \     .
 * Developer *   `~  '-' \    } ))
C C++ cgi miva  _(    (   )_.'
Java           '---..{____}
OS/2 Warp Server for Ebusiness admin
--------- OS/2 V5 "Phoenix" --------


Se ho capito bene ci metti un bel:
system("pause");
prima del return 0;
ciao

Newsgroup: it.comp.lang.c
Titolo: Dove posso trovare il Lcc-Win32 !

Vorrei sapere dove trovare il Lcc-Win32 !


E' qui:
http://www.cs.virginia.edu/~lcc-win32/
ciao
orlando
Newsgroup: it.comp.lang.c
Titolo: quanti compilatori esistono sotto linux

Ciao, conosco da poco linux.
Quanti compilatori C esistono sotto linux?
Io conosco solo cc.
Ce ne sono altri e che differenze hanno tra loro?

ignazio ha scritto:

cc č il compilatore "di default" (credo sia solo un link al
compilatore).
io conosco il gcc :compilatore standard GNU,e gcs :derivato dal
gcc,diverse
migliorie, soprattutto per il c++,pgcc derivato da egcs (credo) con
ottimizzazioni
piů spinte (la P sta per pentium).
questi sono quelli + usati, ce ne saranno anche altri.
-- 
togli .x per rispondermi,NON usare HTML.ICQ 6585343
Linux FAQ 
http://members.bigfoot.com/%7Eranger_rg/
Boycott Microsoft 
http://www.boycott-ms.org/

Newsgroup: it.comp.lang.c
Titolo: compilatore gcc per linux

salve a tutti, sapete quale sia il comando da impartire a gcc in modo
che stampi le istruzioni assembler? il vecchio turboc per dos usava -S
mi pare, ma nel gcc non ho trovato nulla di simile... serve per caso
qualche altra utility?
grazie per ogni info
Ivan

 che stampi le istruzioni assembler? il vecchio turboc per dos usava -S
       -S     Stop  after the stage of compilation proper; do not
              assemble.  The output is an assembler code file for
	      each non-assembler input file specified.
ciao
Kronos
-- 
Home: 
http://kronoz.tsx.org
You and me baby ain't nothin' but mammals
So let's do like they do on the Discovery Channel

Newsgroup: it.comp.lang.c
Titolo: quale compilatore C?

Sono uno studente principiante del C. Voglio imparare la computergrafica ed
ho comprato un libro che usa il C. Vorrei sperimentare col codice di questo
libro, ma č per il compilatore Watcom v11.0 per Dos. Ho scaricato Djgpp, ma
devo fare un sacco di modifiche per far girare i programmi, a causa del
fatto che questo usa il modo protetto. Se Watcom non č disponibile come
shareware, esiste un compilatore C shareware piů adatto? Dove posso
trovarlo?
Grazie per il vostro aiuto
Antonio
abon...@telsa.it







io conosco bene il compilatore Watcom per MSDOS, ed è praticamente la copia
del compilatore Microsoft in modo protetto (usa di solito l'extender DOS4GW
o Phar-Lap), percui, se trovi il compilatore Microsoft (ad esempio C7 o
Visual C 1.5) il programma dovrebbe girare così come è (dovrai eventualmente
modificare il file .MAK).
Buona Fortuna


abon...@telsa.it
No, il DJGPP è il + figo (in effeti con il PGCC è anche migliore del
Watcom, soprattutto se si è dotati delle ultime versioni, Djdev2.02,
binutils 2.9.1 etc...) Btw i cambiamenti non dovrebbero esser
consistenti fin quando almeno non si va in funzioni dpmi. Per i
puntatori basta usare i nearptr... Ciaz
Newsgroup: it.comp.lang.c
Titolo: comando cb

Qualcuno mi sa dire se esiste e dove un comando Linux simile al <<cb>>
dello Unix ?
E' un indentatore automatico nella forma canonica di K&R di un sorgente
scritto in C.
Grazie in anticipo. 
E scusate se forse sono OT.

E scusate se forse sono OT.
Se il tuo problema è lo sviluppo di codice in ambiente Linux ti può
interessare anche il newsgroup it.comp.linux.development.
CIAO PIETRO
-- 
Legal Warning: Anyone sending me unsolicited/commercial email WILL be charged
a $100 proof-reading fee.  Do NOT send junk email to me - consider this an 
official notice:
"By US Code Title 47, Sec.227(a)(2)(B), a computer/modem/printer meets the
 definition of a telephone fax machine.  By Sec.227(b)(1)(C), it is unlawful
 to send any unsolicited advertisement to such equipment.  By Sec.227(b)(3)(C),
 a violation of the aforementioned Section is punishable by action to recover
 actual monetary loss, or $500, whichever is greater, for each violation."

E scusate se forse sono OT.
Forse it.comp.linux.development sarebbe stato piu' appropriato...
-- 
Warning!
Don't send any mail for me at my from: or replayto: addresses ;
I just kill the mail over there without reading!

Grazie di tutto...

Newsgroup: it.comp.lang.c
Titolo: richiesta di aiuto!

salve a tutti,
avrei bisogno di un aiuto:
cerco un compilatore ANSI/ISO  C  freeware scaricabile da web ma che giri
sotto Win98.
qualcosa di piccolo e semplice da usare, per un lavoro urgente.
avete qualche URL per me?
grazie comunque a tutti.
bye
MX
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 wrote in message
amskog$ts6$1...@news.newsland.it...


avete qualche URL per me?
Io sto scaricando proprio ora Dev C++ ma sono 10 mb. Fino ad oggi ho
usato Miracle C, e' piccolo pero' e' shareware (ma non ha un'aria
molto professionale).
Ecco una pagina di compilatori free per C ma non solo:
http://www.bloodshed.net/compilers/index.html#free_comps
Alla prossima,
Giovanni Cappellini
http://giovacappo.cjb.net
ICQ 166932196

 
http://www.bloodshed.net/compilers/index.html#free_comps
ok grazie.
in effetti sul web ci sono compilatori C e C++, la borland ne ha uno credo
da 170 Mb !
il mio piccolo modem di legno e fil di ferro è svenuto alla notizia ^___-
proverò questi.


 da 170 Mb !
io sapevo che era di circa 8 Mb quello da 170 è il builder.
Comunque oltre a Dev-C++ che è ottimo (lo uso per sviluppare le DLL per il
VB quanto capita) ti consiglio LCC
lascia perdere Miracle perche non è ANSI anche io l'ho usato 
Buon lavoro

lascia perdere Miracle perche non è ANSI anche io l'ho usato 
e come me l'hai lasciato...


 problemi ma l'ambiente di sviluppo e' una bambagia!
certo non č il meglio che si possa trovare ma parlavamo di compilatori no? 
non si puň avere tutto dalla vita.
Pensa che io la prima volta che ho sviluppato una DLL ho fatto un casino
perdendo un sacco di tempo ma eccezion fatta per l'user friendly dell'ide
il resto funziona bene.
Ciao
Newsgroup: it.comp.lang.c
Titolo: Problema con Vi!! URGENTE AIUTOOOO

Ciao vorrei sapere come mai quando apro con Vi un file.c vedo solo @@@. Lo
schermo tutto pieno!, non riesco piu' a vedere il testo!!!! Nell'help
leggevo di un'opzione chiamata wrap ma non so.... come posso far tornare
tutto come prima???

 wrote in message
news:4tbZ5.82071$hk4.3...@news.infostrada.it...


Newsgroup: it.comp.lang.c
Titolo: Info errore compilazione

Salve a tutti ragazzi,
ho un programma in c che usa una funzione dichiarata in un hearder
file.
In fase di compilazione con gcc mi restituisce il seguente errore:
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/pst-tool.d" -
MT"src/pst-tool.d" -o "src/pst-tool.o" "../src/pst-tool.c"
In file included from ../src/pst-tool.c:23:0:
../src/GD_SDK_83_LNX.h:604:54: error: expected ‘;’, ‘,’ or ‘)’ before
‘=’ token
 
se andiamo a sbirciare nell' header file a quella riga cè la seguente
def.
 
int
UDV_SetPassword (
TokenDriveIdentifier	tokenDriveIdentifier
,int					iPartitionType
,const unsigned char*	p_byNewPassword
,unsigned long			dwLengthNewPassword
,int					iFlagChangeKey
,char*					p_cVol
,unsigned char 			byFlag_LogoutPrivateArea_in_Finish = 1
);
 
Non mi sembra sia scorretta..
Avete qualche idea?


L'uguale sull'ultimo parametro ti sembra corretto? :)
Ciao!


Scusami ma mi sembra di si.. scusami ancora l'ignoranza ma cos' ha che
non va?


Che i parametri di default in C non ci sono. :-|
Ciao!

 non va?
 
In c non puoi specificare valori di default per i parametri.
 
ciao
G

Newsgroup: it.comp.lang.c
Titolo: Tipo di dato signed char

Sono alle prime armi con il liguaggio C e con la programmazione in generale,
leggendo su un manuale introduttivo le rappresentazioni sui tipi di dato mi
e' sorto il seguente dubbio:
Un signed char utilizza otto bit e può variare
tra (-128 e 127), quindi considerando che su 8 bit uno e' destinato al
segno, ne restano 7, per un totale di 128 combinazioni possibili.
Per rappresentare il numero (+128) avrei bisogno di 8 bit piu' uno per il
segno (bit 0 per il segno +, 1 per il -), per un totale di 9 bit:
(0 1000 0000)=(+128)
Pertanto l'intervallo dei numeri positivi sara' (0,127), non potendo con 7
bit rappresentare il numero (+128).
*Ed ecco il mio dubbio:*
Per rappresentare il numero (-128) con soli 7 bit come faccio?
Dovrei avere, in analogia con il discorso fatto per il numero (+128)
anche in questo caso un totale di 9 bit:
(1 1000 0000)=(-128)
Dove il primo bit rappresenta il segno(-).
Quindi anche per il numero (-128), 7 bit non sarebbero sufficienti!!
Dove sbaglio?????
Ciao e grazie a tutti
Mario

 quindi considerando che su 8 bit uno e' destinato al segno
 [snip]
l'errore è qui: nel tuo caso *non* viene utilizzata la rappresentazione
con  _bit di segno_, ma quella in _complemento a due_, che  non sono la
stessa cosa.
Sei un po' OT, quindi  per approfondire  cerca con Google oppure  su un
libro di architetture dei calcolatori.
-- 
Ciao,
    Giuseppe
Newsgroup: it.comp.lang.c
Titolo: Inclusione libreria c

Salve... ho creato una libreria contenenti due object file... solo che non
so come implementarla nel compilatore... praticamente la metto nella
cartella lib di bc(momentaneamento utilizzo borland c++ 3.1) ma quando provo
a chiamare, da un programma una funzione inclusa nella libreria ho 2
messaggi di errore. Da dire che ho anche fatto un file .h per i prototipi.
Grazie per le eventuali risposte .... ciao
--
-------------------Mia nuova firma(in fase di test :-))--------------
                <****>
    _             //
   / \           //______________________________________
  <000)\\\\\\\\\00X__I programmatori non si arrendono MAI__>
   \_/           \\
                  \\
                <****>

 messaggi di errore. Da dire che ho anche fatto un file .h per i prototipi.
Le librerie non si includono, si linkano. Di solito, "compilatori"
linkano automaticamente solo alcune librerie (di solito quelle dove
si trovano le funzioni standard), le altre bisogna specificarle.
Su manuale del tuo compilatore c'e' scritto di sicuro come fare.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: Differenza di velocità tra C e Vbasic

In un programma di medie dimensioni che operi principalmente su stringhe e
interi, ricerca su grossi database e operatori decisionali, quanto stimate
che sia piů veloce il C del Visual Basic (5.0) ?
Grazie

 che sia più veloce il C del Visual Basic (5.0) ?
1:10 per scrittura di codice
10:1 per esecuzione
--
Alessandro Monti

che sia più veloce il C del Visual Basic (5.0) ?
Non e' un confronto fattibile, se consideri il C nella sua
semplicita'.
Devi considerare che il VB possiede un motore di gestione dei database
incorporato ed ottimizzato, che il C non ha.
Il C, comunque, e' studiato per consentire la generazione di  codice
piu' veloce di qualsiasi altro linguaggio strutturato, ad alto
livello.
Il Visual Basic e' uno dei piu' lenti in fase di esecuzione.
Se il C possedesse gli stessi strumenti del VB per questo genere di
applicazioni, sarebbe molto piu' veloce del VB.
--------------------------------------------------------
* Andrea Laforgia        (
andrea_...@bigfoot.com
) *
--------------------------------------------------------

 del Visual Basic (5.0) ?
  In realta`, e` una domanda che non ha una risposta univoca. 
  Se il tuo programma si appoggia ad un DBMS, a ODBC o, peggio, all'OLE
di Microsoft per la connessione ai database (DAO, RAO, ecc.), allora le
prestazioni sono praticamente identiche, dato che il programma e` solo
un'interfaccia. 
  Altrimenti, escluso il caso in cui tu debba scrivere un DBMS, dipende
molto da cio` che devi realmente fare. Qual e` il tuo obiettivo?
	Alla prossima,
		Marco
Newsgroup: it.comp.lang.c
Titolo: doubly circular linked list

Salve a tutti!
Sapreste consigliarmi dove trovare notizie riguardo all'implementazione di
liste "doubly circular linked" in C? Qualche consiglio eventualmente?
Grazie e saluti
Tony

 liste "doubly circular linked" in C? Qualche consiglio eventualmente?
Di liste doppie circolari non ne ho mai sentito parlare. Se ti
serve una lista doppio linkata, definisci la struttura e inserisci
due puntatori a strutture dello stesso tipo uno lo chiami nextP e
(con grosso sforzo di fantasia) lo fai puntare al successivo elemento
della lista, uno lo chiami prevP e lo fai puntare all'elemento
precedente.
per rendere circolare il tutto, fai puntare l'ultimo elemento della
lista al primo
Es.
typedef struct _lcdl LstCircDLink;
struct _lcdl
{
   LstCircDLink* prevP;
   LstCircDLink* nextP;
   [resto degli elementi della struttura]
};
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: AIUTO !! CONNESSIONE DB ACCESS

Qualcuno sà come posso creare una connessione a un database access in c
(Console Application) senza usare MFC???
Grazie Mille,
Marco

 ha scritto nel messaggio
news:22Gib.34651$Zh.2...@tornado.fastwebnet.it...

Newsgroup: it.comp.lang.c
Titolo: Puntatori ed array - prime armi.

Poichè valgono le segg. equivalenze:
*array=array[0]
*(array+1)=array[1]
    ..........      ..........
*(array+n)=array[n]
il solo modo per passare un array ad una funzione è quello di usare i
puntatori? E' vero che passando un array ad una funzione ne passo
l'indirizzo del primo elemento e che  - essendo gli elementi di un array
messi sequenzialmente in memoria - il programma riesca a trovarne tutti gli
elementi purchè il puntatore venga incrementato? (tipo p_array++ se
p_array=&array)
Ciao a tutti e BUON NATALE.

p_array=&array)
Forse il termine piu' esatto e' che l'array decate a puntatore al
primo elemento. Il concetto pero' e' quello: quando passi un array a
una funzione, la funzione ne vede solo il puntatore al primo elemento.
Mi sembra tu stia facendo confusine: tu puoi usare un array passato
come parametro a una funzione ESATTAMENTE come lo useresti se fosse
stato allocato staticamente dalla funzione o una qualsiasi variabile
globale (con 2 eccezioni).
Le eccezioni sono:
- non puoi piu' usare l'operatore sizeof(array) per scoprire la
dimensione dell'array (ma ti ritorna solo la dimensione del
puntatore);
- il puntatore al primo elemento non e' piu' un lvalue, quindi puoi
incrementarlo direttamente per scorrere l'array... anche se poi non
puoi alterarne l'indirizzo (essendo passato per valore);
<CODE>
#include <stdio.h>
void f(char vt[]) {printf("dimensione array: %d\n", sizeof(vt));}
int main()
{
      char delta[10];
      printf("dimensione array: %d\n", sizeof(delta));
      f(delta);
      return 0;
}
</CODE>
Alla prima printf (quella in cui usi l'array come tale) la sizeof ti
ritorna appunto 10.
Nella chiamata all'interno della funzione f() ritorna sulla mia
macchina un 4... che dovrebbe essere la dimensione di un puntatore e
"pare" :P combaciare con quella degli int :)
Mox /* W le funzioni primitive ricorsive :P */

 puoi alterarne l'indirizzo (essendo passato per valore);
qui probabilmente volevi dire: "il puntatore al primo elemento non e' 
piu' un rvalue..."
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

Newsgroup: it.comp.lang.c
Titolo: Socket

Ciao a Tutti,
Potete consigliarmi siti dove trovare informazioni
(possibilmente con esempi pratici)
sulla programmazione dei Socket in C o C++
sotto windows
ultimamente sto usando il Borland C++ 3 Builder
(standard) e qui la documentezione in linea
in pratica č un po' vaga.
GRAZIE
          Francesco
 
http://utenti.tripod.it/notes/

sotto windows
io se vuoi sto seguendo un corso sulla programmazione socket via c...
pero' e' sotto unix, sta a te verificare se chiamate accept(...) etc
funzionano anche sotto win...
Newsgroup: it.comp.lang.c
Titolo: initgraph

Ciao a tutti.
Non riesco ad utilizzare, con il buon vecchio compilatore Borland C++
per DOS, la funzione initgraph() per inizializzare la grafica, il cui
header si trova in graphic.h.
Ho seguito passo passo le istruzioni e l'esempio che si trovano nella
guida in linea, ma continua a darmi errore in run-time.
Qualcuno sa dirmi cosa sto' dimenticando? Magari qualche impostazione
del compilatore?
Ciao e grazie.

Luca Di Mauro wrote:

Io uso la stessa funzione senza problemi... lunico probella sta nel
dire al compilatore tove trovare i file BGI con i driver
se il tuo probelma e questo... prova a cambiare direcoty
e meterla dove sono questi file (disolito C:\TC\BGI)...
se invece il problema non sta qua mi devi riportare errore preciso
con alt+F5 vedi output che a dato...
-- 
IL RAZZIATORE,
The Only good Windows is an Unistalled Windows
-----------------------------------------------------
EMAIL: 
razzi...@usa.net
WEB:   
razziatore.dsx.org
 sito in aggiornameto/alestimento
ICQ:   67552596

Grazie, ho scoperto l'errore.
In pratica alla chiamata della funzione il terzo parametro deve essere il
path dove si trovano le BGI. Solo che anzichè scriverci "c:\borlandc\bgi"
bisogna passargli la stringa "c:\\borlandc\\bgi".
Grazie. Ciao a tutti.



Magari il file .BGI della modalita' video nella directory corrente.
ciao
donCiccio
Newsgroup: it.comp.lang.c
Titolo: scanf ("%*")

esempio pratico di un suo possibile utilizzo ?
Un esempio di utilizzo e'
   #include <stdio.h>
   int main()
   {
     int x,y;
     char *data="123 ----> 125";
     sscanf(data,"%i%*s%i",&x,&y);
     printf("x=%i, y=%i\n",x,y);
     return 0;
   }
In questo caso viene letto un intero, saltata una stringa
(senza memorizzarla) e letto l'intero successivo.
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

esempio pratico di un suo possibile utilizzo ?
Credo che il testo sia abbastanza chiaro : il valore di input viene
letto ma non memorizzato.
Esempi:
scanf( "%c", &c ) ; /* letto e memorizzato */
scanf( "%*c" ) ; /* letto e non memorizzato */
Questa opzione e' utile quando, appunto, si vuole togliere dal buffer
di input il carattere, senza trattarlo in alcun modo.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

salve a tutti,
rileggendo il libro sul C di Aitken, ho visto che nel
capitolo dedicato a scanf() parla di un opzione della
specifica di conversione che non mi e' chiara :
"Il flag opzionale per impedire l'assegnamento (*)
segue immediatamente il carattere % e indica di eseguire la
conversione ignorando pero' il risultato (che non viene
assegnato ad alcuna variabile)."
qualcuno mi potrebbe spiegare a cosa serve, e magari farmi un 
esempio pratico di un suo possibile utilizzo ?
grazie anticipate ....
ciao ciao
-- 
God, I ask for patience -- and I want it right now!

Andrea
grazie Andrea ...


 qualcuno mi potrebbe spiegare a cosa serve,
Ad esempio, se in un file formattato in record e campi volessi leggere
alcuni campi (e metterli in variabili) e ignorarne altri.
EMG

 wrote in message
slrn8u3a8f...@barbone.raffaello.it...





 in modo non corretto
Gia', pero' e' poco sicuro, nel senso che se io digito "12<invio>",
viene letto "1", scartato "2" e "<invio>" rimane nel buffer... Molto
meglio usare il ciclo:
while (getchar()!='\n');
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

,
 
NonSpa...@tiscalinet.it
 wrote:
per favore, non usare un address che non ti
appartiene...
Sent via Deja.com 
http://www.deja.com/
Before you buy.

appartiene...
sorry ... l'ho cambiato !!!


appartiene...
ok ...

Newsgroup: it.comp.lang.c
Titolo: punt di punt a strutture

salve a tutti,
la mia e' piu' che altro una curiosita' ... sto usando dei puntatori
di puntatori a struttura e vorrei un chiarimento sulla sintassi ...
dopo varie prove ero giunto alla conclusione che
struct prova **punt;   /* alloco memoria per ** e per ogni * */
*(punta+n) == punta[n]
(*punta+n)->nome == punta[n]->nome
ma dopo un po' di prove mi sono accorto che per gli elementi con n>0
la notazione (*punta+n)->nome non e' equivalente a punta[n]->nome ..
mi potreste chiarire le idee ??
grazie anticipate
P.S.
sto usando punta[n] e funziona .. ma volevo capirci qualcosa ;-))

 (*punta+n)->nome == punta[n]->nome
(*(punta+n))->nome ==
ciao
Fra

 (*(punta+n))->nome
maro' !!! l'unica sintassi che non avevo provato !!
grazie mille .... ciao ....

 maro' !!! l'unica sintassi che non avevo provato !!
Ok, provare non fa male...
..ma capire e' ancora meglio, no ?   :)
Quindi se  punta  e' un vettore di puntatori a  struct prova :
*punta == punta[0]        cioe' un puntatore a struct prova
*punta+n == punta[0]+n
cioe' un puntatore all'(n+1)esima struct prova dell'array punta[0]
Questo va bene se hai allocato un'array lunga almeno (n+1)
e la hai assegnata a punta[0]
Mentre   punta[n]   punta alla prima struct della array
assegnata a punta[n]
( se invece di un'array c'e' una sola struct, e' lo stesso,
e' quella )
Quindi   punta[n]   e   punta[0]+n   puntano a due struct diverse:
cioe' le due struct        punta[n][0]   e  punta[0][n]
Per cui, come dici giustamente:
" la notazione (*punta+n)->nome non e' equivalente a punta[n]->nome .. "
Ciao
E.

 ..ma capire e' ancora meglio, no ?   :)
questo e' certo ;-)) e' solo che sto lavorando contemporaneamente
in php, sql e c+ncurses+menu+form e ti assicuro che a fine 
giornata vedo puntatori, query e $ (php) ... ;-))
avevo cercato di trovare la soluzione tra priorita' degli
operatori e avevo "giocato" stampando con %p gli indirizzi, ma
sono crollato in serata, e quindi ho cercato qui la soluzione ..
comunque grazie mille per la dettagliata spiegazione ...
a buon rendere (se potro' ;-)))
ciao
Newsgroup: it.comp.lang.c
Titolo: Ho bisogno di debugger

Qualcuno di voi ha questi programmi o sa dove posso trovarli ?
1)GameTools 3.2 o sup.
2)SoftIce 2.0 o sup.
3)Watcom Debugger qualsiasi versione.
Grazie a tutti
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
ATTENZIONE! Rimuovere "
riccar...@iol.it
"
dall'indirizzo email
Saluti by Riccardo
e-mail : 
riccar...@iol.it

3)Watcom Debugger qualsiasi versione.
col compilatore Watcom (power soft)...
ovviamente tu li cercavi originali, vero ? ;)
--
[ranger, email: 
ran...@queen.it
]
ICQ# 6585343
Newsgroup: it.comp.lang.c
Titolo: Visual c++ 6.0 standard e applicazione console

Come faccio a far ricominciare lo schermo in alto a sinistra dopo printf?
(tipo cls del vecchio dos per intenderci?)
P.S: Con system(cls) mi compare l'icona del mouse che per ora non mi serve.
Grazie per la vostra cortese attenzione.
Ciao.

 P.S: Con system(cls) mi compare l'icona del mouse che per ora non mi serve.
Suppongo che tu intenda system("cls");
Questo e` l'unico modo vagamente compatibile con lo standard, anche se 
naturalmente funziona solo sotto DOS o Windows. Per quanto riguarda il 
mouse, non so che dirti: o te lo tieni, oppure sei costretto ad usare 
funzioni non standard. Per queste ultime: it.comp.programmare.win32.
-- 
Enrico `Trippo' Porreca

 (tipo cls del vecchio dos per intenderci?)
Se vuoi un equivalente della cls, stampa taaante righe vuote :). E' 
l'unico modo standard, ma e' bruttino. Questo perche' il C non vede la 
console come uno schermo, ma come uno stream. Come Enrico ti ha gia' 
detto, non ci sono "cls" standard ;)
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

Newsgroup: it.comp.lang.c
Titolo: domandina semplice semplice...

Scusate,sarà una cavolata ma ve la chiedo lo stesso:
Uso da pochissimo Visual C++, devo scrivere programmi in C,ma quando faccio
File-->New sono costretto a scegliere "C++ source file" , scrivo il prog e
me lo salva con estensione .cpp
Non e' un gran problema visto che cmq  la compilazione avviene ugualmente,
ma possibile che non ci sia l'opzione per creare un file .c ?
Grazie a tutti!

 ma possibile che non ci sia l'opzione per creare un file .c ?
L'opzione e' la solita: RTFM :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: Offerta lavoro per EDITOR HTML

Euclide Active Training srl ricerca Editor HTML  senior, con maturata
esperienza.
Richiesta conoscenza di DHTML, ASP e Javascript.
La conoscenza di Perl/ Oracle costituisce titolo preferenziale.
I candidati possono inviare dettagliato c.v. a: 
off...@euclide.it
, citando
il riferimento NGHTMLS.
Luogo di lavoro: Firenze.

Direi che questo NG non sia proprio indicato per annunci di questo genere! :-(
Rispettiamoci!

Newsgroup: it.comp.lang.c
Titolo: lettura file (banale)

con le righe di codice che seguono vorrei leggere un file
e salvare da qualche parte la dimensione in byte:
...
int ch;
...
 lunghezza = 0;
 do {
  ch = fgetc(fp);
  ...
  lunghezza++;
 } while (!feof(fp));
...
ho visto che con i file ti testo funziona bene, mentre per altri tipi di
file
(non ascii) non funziona.
ad esempio, provando questo programmino su un file binario di diverse decine
di Kb
ottengo "lunghezza = 7"   ???
qual'e' il modo giusto per leggere un file binario ?
fgetc non va bene ?
grazie
davide

naturalmente intendevo dire     banale ... ma non per me
d.

  } while (!feof(fp));
scusate se mi rispondo da solo, ma mi sono accorto adesso
che dovevo usare questo codice:
        fp = fopen(nomefile,"rb");
        l_file = 0;
        do {
         fread(ch,sizeof(char),1,fp);
         l_file++;
        } while (!feof(fp));
e finalmente funziona.
d.

 e finalmente funziona.
C'e` solo un  piccolo problema: feof() resituisce /vero/  non quando hai
raggiunto la  fine del file, ma  quando effettui una lettura  *oltre* la
fine del  file. Quindi il tuo  codice conteggera` un byte  in piu`. Devi
modificare il ciclo cosi`:
while(1) {
        fread(ch, 1, 1, fp);    /* sizeof(char) == 1 per definizione */
        if (feof(fp))
                break;
        l_file++;
}
Oppure puoi tornare alla versione con fgetc:
while(fgetc(fp) != EOF)
        l_file++;
Oppure (ma solo se il file viene aperto in modalita` binaria):
long int l_file;
fseek(fp, 0, SEEK_END);
l_file = ftell(fp);
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Se non puoi convincerli, confondili.


[...]
grazie Kronos
d.
Newsgroup: it.comp.lang.c
Titolo: free(void * ptr) rende il puntatore ptr NULL?

Scusate, ma se alloco della memoria, quando poi la libero essa il puntatore
ad essa e' NULL?
Cioe' ho una struttura del genere:
struct NODE{
 int tipo;
 void * padre;
 void * next;
 item_t item_id;
 int num;
 void * lmChild;
 void * rSibli;
};
typedef struct NODE * pNODE;
Nel codice alloco memoria con una funzione del genere:
pNODE myfunction(item_t item,pNODE padre){
pNODE p;
int i;
if((p=(pNODE) malloc(sizeof(struct NODE)))==NULL){
 mba_error("errore nell'alocazione del nodo");/*My function to print error*/
}
p->tipo=0;
p->padre=padre;
p->item_id=item;
p->num=1;
p->next=NULL;
p->lmChild=NULL;
p->rSibli=NULL;
return p;
}
Per deallocare uso la seguente:
void deallocate(pNODE * n){
pNODE nodo=NULL;
nodo=*n;
free(nodo);
if (nodo==NULL)
 printf("OK");
}
Ma non mi stampa mai "OK" a video,come se free non avesse liberato memoria o
come se non modificasse il valore del puntatore a NULL.
In tal caso come faccio a controllare se quella zona e' stata liberata?
Grazie


Mi sa che devi fidarti ciecamente della free...
Dopo la free, probabilmente il puntatore punta ancora all'area di memoria
precedentemente allocata, pero' tale area di memoria non e' piu' riservata
al processo. Quindi potresti trovarci delle cose che non ti aspetti. O per
lo meno suppongo funzioni in questo modo.
Ciao,
Ema

 ad essa e' NULL?
No, free() non modifica il puntatore che gli viene passato.
Se l`area e` stata regolarmente allocata con malloc(), viene liberata di
*sicuro*. Se invece non e` stata allocata regolarmente, gli effetti
variano dal segmentation fault (Linux vanilla) al log di un messaggio
(FreeBSD), ad esempio.
Su windows non saprei.
Ciao :)
-- 
void
<GFX-dev> No, io sono lamer
<GFX-dev> tu caccola

 faccio a controllare se quella zona e' stata liberata?
Ti fidi :-)
In realtà, se a free viene passato NULL la funzione non ha effetto mentre
se gli viene passato un puntatore non valido il comportamento è
indefinito. se passi un puntatore valido non c'è ragione per cui debba
fallire. 
Quello di cui ti devi preoccupare è che a monte non finisca in pasto a
free un puntatore non valido.
 

 Grazie
Devi cambiare la:
free(nodo);
if (nodo==NULL)
 printf("OK");
In:
if(nodo != NULL)
{
    free(nodo);
    nodo = NULL;
}
e fidarti :)
Luca
Newsgroup: it.comp.lang.c
Titolo: Float

Ciao a tutti.
Ho un dubbio che pur cercando su internet non sono riuscito a
risolvere-
Ho un file dove ho dei caratteri mischiati a numeri decimali e infine
dei numeri float...io voglio leggere solo i numeri float..
E' possibile leggere solo quelli tralasciando il resto?
Ringrazio anticipatamente 
Marco.

 E' possibile leggere solo quelli tralasciando il resto?
E' possibile tutto. A seconda del formato del file
potrebbe bastarti usare opportunamente la funzione fscanf
oppure se la struttura del file e' piu complessa puoi
comunque leggerne una linea alla volta ed andare poi
ad esaminarla carattere per carattere per individuare
quelli che per te sono i numeri da estrarre.
Non posso essere piu' specifico perche' la tua domanda
e' troppo vaga.
ciao,
g.

Si scusa hai ragione...
Allora ho delle scritte e dei numeri interi...tipo:
Ciao 200_x prova 120 cane gatto 1001 ecc.(non sono disposti in modo
ordinato)
poi ad un certo punto, quinta riga per esattezza ho un intero e due
float, sesta riga ancora intero float float e così via...
Quindi per leggere da file sono capace il mio problema è dirgli:
"Inizia a leggere dopo n righe" o "inizia a leggere dopo tale
parola"(che è sempre quella l'ultima)...
So che è possibile ma non riesco a capire come....
Marco.
Newsgroup: it.comp.lang.c
Titolo: DOVE SBAGLIO??

Cioa a tutti. E' da una settimana che studio il C e ho tentato un primo
programmino. Nonostante la dedizione, però, non sono riuscito a trovare
l'errore.
E' un programma che deve sfruttare while e if. So che while è una keyword
che permette di eseguire cicli fino a quando la condizione è verificata
Questo programma serve per stabilire quale dei due valori  è più grande.
questo è il codice:
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b;
while(a<b){
printf("Inserisci il valore di a: \n");
scanf("%d",&a);
printf("Inserisci il valore di b: \n");
scanf("%d",&b);
if (a<b)
printf("Bravo!\n");
else
printf("NO! Hai sbagliato\n");
}
      system("PAUSE");
         return 0;
}
Inserendo i valori che soddisfano a<b il ciclo continua. Appena inserisco
dei valori che non soddisfano tale relazione, il ciclo si ferma e il
programma termina.Ma non doveva essere il contrario?Se non sbaglio il ciclo
deve fermarsi quando immetto i valori esatti che verificano la relazione
cioè fino a raggiungere a<b. Mi sbaglio?
Scusate se mi sono dilungato e GRAZIE

traduzione:
|#include <iostream.h>
|#include <stdlib.h>
|#include <stdio.h>
|int main()
|{
|int a,b;
a=3;
b=4;
/* se non le inizializzi le variabili č probabile che contengano
numeri a caso
*/
|while(a<b)  /* finchč a č minore di b */
| {
|printf("Inserisci il valore di a: \n");
|scanf("%d",&a);
|printf("Inserisci il valore di b: \n");
|scanf("%d",&b);
| if (a<b)
|       printf("Bravo!\n");
| else
|       printf("NO! Hai sbagliato\n");
|}
|      system("PAUSE");
|         return 0;
|}
oppure ........piů migliore assai
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b;
do  {
        printf("Inserisci il valore di a: \n");
        scanf("%d",&a);
        printf("Inserisci il valore di b: \n");
        scanf("%d",&b);
    if (a<b)
        printf("Bravo!\n");
    else
        printf("NO! Hai sbagliato\n");
} while(a<b)              /* finchč a č minore di b ripeti il ciclo */
    system("PAUSE");
    return 0;
}
saluti
one old C programmer

#include <iostream.h>
[snip]
In ogni caso, usare iostram.h e' errato:
1) e' un programma C, quindi il compilatore C non sa neanche cosa sia
iostream.h (lo conosce il compilatore C++, e cio' funziona se compili
il programma come C++, ma e' inutile lo stesso perche' non usi quello
definito li' dentro)
2) poi il file standard e' iostream senza .h
-- 
 (o-  | Un OS per domarli, Un OS per trovarli,
 //\  | Un OS per ghermirli e nel buio incatenarli
 V_/_ | Nella terra di Redmond, ove l'ombra cupa scende...
Tessera 99ers 204           raffaele punto salmaso presso libero punto it

Caio  a tutti. E' da una settimana che studio il C e ho tentato un primo

Newsgroup: it.comp.lang.c
Titolo: LPT1 caching.

Devo scrivere un programma che realizzi la cache della porta
parallela.
Devo poter leggere le richieste che il computer invia alla porta
parallela e poi leggere le risposte che riceve (sempre dalla porta
parallela) e memorizzarle.
In seguito se il computer invia la stessa richiesta alla porta
parallela, devo fornirgli la risposta che ho già in memoria
(risparmiando un sacco di tempo a causa del dispositivo con cui sto
dialogando) facendogli credere che l' informazione arrivi dall'
esterno.
Qualcuno sa darmi qualche suggerimento?
Esiste già in qualche libreria una funzione analoga?
Quli sono gli indirizzi di lettura e di scrittura della porta
parallela?
Grazie a tutti,
Gian Luca.
(E-mail  rimuovere "Elimina" dall' indirizzo
Elimin...@iol.it
   )

parallela) e memorizzarle.
Non è tanto carino verso chi scrive programmi cercare di fare un
emulatore software di chiavi hardware...
Comunque ti dico prima che non può funzionare perché la comunicazione
tra chiavi hardware e programmi protetti varia continuamente. I codici
vengono cambiati di continuo e vengono controllati in funzione anche
di valori precedenti ecc. Cerca piuttosto una versione crackata del
programma che ti interessa :)
Cordialmente,
Gianni Rondinini, programmer and designer at Pierre s.n.c.
e-mail: mailto:
pie...@mail.asianet.it
homepage: 
http://www.geocities.com/Eureka/Plaza/7153
Red Hat Linux user since 9/25/97
If a train station is where the train stops, what is a work station?

parallela?
Vanno da 0x378 a 0x37F
Andrea      
(per le risposte via e-mail togli CHITIHACHIESTONIENTE!!!! dal mio indirizzo)
ICQ# 8328956

 parallela?
la parallela ha 3 indirizzi di I/O :
 0 : dati (Write)
 1 : status (Read)
 2 : control (Read/Write)
l'indirizzo base e` solitamente 0x378, ma puo` anche essere 0x278 o 0x3BC.
es:
  0x378 = dati
  0x379 = status
  0x37A = control
naturalmente devi avere i manuali con la descrizione dei bit... 
---
Ranger, email 
ran...@queen.it
http://members.tripod.com/%7Eranger_rg/