Newsgroup: it.comp.lang.c
Titolo: Primi Passi DIFFICLI

Volevo Ringraziare tutti quanti che avete risposto al mio primo quesito, e
temo ne seguiranno molti :-(( !!!
Il codice era copiato pari pari dal libro "Linguaggio C" di Kernighan e
Ritchie, al punto 2 del 1 capitolo: cioè all'inizio!!! COME POTRO'
PROSEGUIRE??
D'accordo, forse io ho mal interpretato il concetto di End Of File, pensadno
che si riferisse al tasto INVIO!
- a proposito come lo si riconsoce il tasto INVIO ??(Visto che EOF si
rifierisce a Ctrl+d o Ctrl+z.
- VORREI DELLE FORTI MOTIVAZIONI PER NON ARREDNERMI SUL NASCERE PER CONTINUARE
CON "C".
Perché imparare il C ?????
- Sotto windows quale compilatore mi consigliate?
ANCORA GRAZIE A TUTTI...

- Sotto windows quale compilatore mi consigliate?
www.borland.com/
 cerca il borland c++ compiler
oppure 
www.bloodshed.net/devcpp
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
Redattore di HiT
http://hit.edengames.net

rifierisce a Ctrl+d o Ctrl+z.
EOF non e' un carattere, invio si... per invio (come per il tab e
altri caratteri speciali) c'e' una codifica particolare che scoprira'
tra qualche pagina.
Visto che il K&R non te lo spiega ti posto 2 righe di spiegazione
sull'EOF, spero di riuscire a spiegarti perche' e' diverso da INVIO.
L'EOF e' un "qualcosa" (un segnale, un flag in una struttura, non ti
interessa come, ci pensa il sistema a fartelo sapere) che il sistema
operativo segnala ai vari programmi per comunicare a questi che il
file e' stato chiuso ed e' quindi impossibile leggere ancora.
Ti schematizzo cosa avviene quando tu stai leggendo e raggiungi la
fine del file:
1) raggiungi la fine del file
2) il sistema se ne accorge e lo segnala in qualche modo (sulla
struttura associata al file in questione per ipotesi, magari)
3) un'apposita funzione di sistema interpreta questo segnalee capisce
che e' un EOF, allora ritorna un codice per segnalarlo alla tua
funzione C
4) la funzione C (della stdio.h) interpreta il risultato della system
call e ti ritorna EOF (v. oltre per scoprire come viene rappresentato
EOF nella stdlib).
5) il tuo programma C registra il risultato della tua funzione di
libreria e si comporta di conseguenza (nel tuo piccolo esempio si
fermava e basta).
Il bello e' che a te deve interessare solo il punto 5, tutto il resto
viene fatto per te e ti trovi il risultato gia' pronto.
Il terminale pero' e' un po' diverso da un file e difficilmente verra'
chiuso (anche perche' probabilmente e' lo stesso su cui stampi i
risultati). Per interrompere questo processo il sistema operativo ti
fornisce una via per emulare lo stesso segnale (o comunque indurre la
funzione che lavora sul file a comportarsi come se avesse ricevuto lo
stesso segnale) di un EOF.
Se tu andassi a vedere nella stdlib.h vedresti che corrisponde
semplicemente a un numero (un numero che non puo' essere confuso con
un char per l'esattezza, in genere a -1 rappresentato su una variabile
di tipo int).
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 
www.borland.com/
 cerca il borland c++ compiler
Lo scaricato e sistemato, ma si parla di c++, va bene uguale???
in c o c++, si lavora solo a linee di testo, cioč tipo DOS senza finestre?

in c o c++, si lavora solo a linee di testo, cioč tipo DOS senza finestre?
Tutti i compilatori C sono anche C++ (e in genere anche Objective-C).
LE funzioni standard del C e del C++ lavorano su file e su console,
per usare la "grafica" servono funzioni apposta che ti fornisce il
sistema su cui lavori (o dei wrap forniti da terze parti, es SDL,
GTK).
Io pero' preferisco l'altro che ti hanno consigliato: DEV-C++.


in c o c++, si lavora solo a linee di testo, cioè tipo DOS senza finestre?
Il BCC compila anche codice C.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

- Mi sembra di capire che il C++ sia meglio del C, visto che ne è
l'evoluzione,
perché usare ancora l'antenato quindi? quali funzioni svolge che il C++ non
sa fare?
- Già che devo iniziare, è giusto partire dal C o ha più senso indirizzarsi
direttamente sul C++?
- Le funzioni per la grafica (finestre etc...) ci sono sia per il C che per
il C++?
ormai ogni programma sotto Windows e Linux (anche lui ha le finestre) si
presenta sempre a finestre..., non è molto bello presentarsi con un prog in
Dos...
Ringrazio ancora tutti, e mi scuso se prima ho gridato (non me ne sono
neppure accorto) era "l'eccitamento" per la novità!

il C++?
Le funzioni per la grafica non ci sono ne' in C, ne' in C++,
se stiamo parlando dei *linguaggi*, ovvero delle definizioni
standard.  Ogni sistema operativo, poi, implementa delle API
per la grafica (che pero' sono esterne al linguaggio in se')
e si possono utilizzare sia in C che in C++.


Dos...
Prima impara a programmare bene, poi preoccupati dei fronzoli :)
Creare un interfaccia grafica oggigiorno non e' cosi' complesso
(esistono molti tool che ti permettono di crearla in pochi click),
mentre resta sempre molto complesso fare un buon programma.
E' importante invece che tu impari a programmare bene e a generare
codice efficiente e solido.
Se mai affronterai tematiche di IA ti accorgerai di quanto sia inutile
avere un'interfaccia grafica rispetto ad avere un buon programma sotto
:)


- GTK
ma non sono in C++?


Dos...
non è per nulla vero dipende da quello che vuoi imparare a
fare...cmq prima impara a programmare poi passi alla grafica
e i bottoncini :)


ma non sono in C++?
Le GTK sono programmate in C, ma ne esistono wrap per molti altri
linguaggi.
Sono ad oggetti come il kernel: si sono implementati il concetto di
klasse (con la k per non andare in conclitto con la keyword class del
C++ tra l'altro), un semplice sistema di namespace, un meccanismo per
istanziare gli oggetti (con un sistema di istanziamento attraverso new
e delete), l'ereditarieta' (leggendo come l'hanno implementata ho
imparato una cosa molto bella sui cast alle strutture che prima non
sapevo), il controllo dei tipi, il concetto di metodo (per un dato
oggetto l'utende puo' cambiare a piacere il metodo da utilizzare)...
hanno fanno un lavoro enorme :)
Per sapere esattamente come hanno fatto guarda il libro "GTK+ / Gnome
Sviluppo di Applicazioni" di Havoc Pennington (scaricabile
gratuitamente dalla rete, fa' parte del progetto Openpress).


 e si possono utilizzare sia in C che in C++.
sarà una domanda estranea ma: potresti darmi una corretta definizione di
API?sia per windows che per altri OS.
ciao e grazie


studiando il C???
Perche' prima di capire la programmazione a oggetti devi conoscere la
semplice programmazione strutturata.
A questo punto tanto vale partire dal C cosi' impari 2 linguaggi
anziche' solo il C++ (ricordo che il C non e' un subset del C++).


API?sia per windows che per altri OS.
API = Application Programming Interface.
Sotto Windows si intende tutto lo strato di librerie che si
interpone tra il tuo programma e il sistema al livello piu'
basso.  Ci sono API per creare finestre, creare controlli,
disegnare, stampare, ecc... ecc...


A questo punto tanto vale partire dal C cosi' impari 2 linguaggi
Approccio sbagliatissimo.
La verita' e' che la maggior parte dei professori non
conosce il C++ cosi' come si dovrebbe (e a volte non conosce
tanto bene neanche il C).  Insegnare il C e' molto piu'
semplice che sbattersi tra template, contenitori standard,
overloading, classi, costruttori, ecc... ecc...


tanto bene neanche il C).
Questo e' molto probabile :)


distinti e diversi (con due standard diversi).
Ne approfitto per fare alcune domande che mi sono sempre posto:
Come faccio io a sapere che problemi risolve il C++ se non ci metto le mani
prima, in quei problemi?
Un sorgente da 30 milioni di LOC lo scrivo in C o in C++?
E' piu' facile da mentenere un sorgente in C o in C++?
Ha senso scrivere un programma breve in C++ che non richiede (per
necessita') la scomposizione ad oggetti?
Grazie
Ciaooo

 necessita') la scomposizione ad oggetti?
Certo, il C++ e' un linguaggio multiparadigma, ti consente
di inventare oggetti, cosi' come ti consente di seguire
una via mista tra oggetti gia' esistenti e codice procedurale.  
Tieni presente che nella programmazione di tutti i giorni,
questa seconda strada e' di gran lunga la piu' seguita.
Raramente ci si trova a dover sviluppare una scomposizione
ad oggetti per la soluzione di un problema contingente.
Generalmente ci si "appoggia" su librerie di oggetti gia' pronte,
con tutto il vantaggio che porta il riuso di codice gia'
pronto, collaudato, affidabile e intaccabile.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

anziche' solo il C++ (ricordo che il C non e' un subset del C++).
non è per nulla vero.
se vuoi imparare il C impara quello
se vuoi imparare il C++ impara quello
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
cosa c'entra Visual Basic 
con la programmazione?
(Antonio Cuni, PROGRAMMATORE)

E' piu' facile da mentenere un sorgente in C o in C++?
E' piu' facile mantenere un codice scritto bene. Non centra il
linguaggio che usi.
Il C++ per ammissione dello stesso Stroustrup si appoggia al C perche'
il C a tutti gli effetti era un buon linguaggio di programmazione, ci
ha implementato il paradigma della programmazione a oggetti e ha
cercato di pezzarlo dov'era il caso. Questo pero' significa che il C e
il C++ sono orientati allo stesso tipo di applicazioni (ovvero fare di
tutto).
Piu' che chiederti se usare il C o il C++ una domanda sensata sarebbe
chiedersi se il linguaggio piu' giusto e' il C++ o il Java o il Perl o
il Mox-3.0 (noto linguaggio di programmazione :P).
<JOKE>
Se la risposta alla tua domanda sara' il Java in ogni caso allora hai
un futuro in IBM o alla Sun :)
</JOKE>



strajordan


Un'altra: dove posso trovare materiale sul mox 3.0??
guarda che stava scherzando....
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com


un'altra: What's LOC???
Lines Of Code.


>una cosa: what's IOCCC???
The International Obfuscated C Code Contest
(
http://www.ioccc.org
)
Ogni anno bandiscono un concorso:
Goals of the Contest
Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure.
b. To darken. 2. To confuse: his emotions obfuscated his judgment.
[LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,
to darken < fuscus, dark.] -obfuscation n. obfuscatory adj
    * To write the most Obscure/Obfuscated C program under the rules 
      below.
    * To show the importance of programming style, in an ironic way.
    * To stress C compilers with unusual code.
    * To illustrate some of the subtleties of the C language.
    * To provide a safe forum for poor C code. :-)
I codici che escono da li sono delle vere opere d'arte :)  I sorgenti
che calcolano PI poi sono fenomenali...
-- 
Mox


 il Mox-3.0 (noto linguaggio di programmazione :P).
Potresti indicarmi un tutorial per il Mox 3.0 o una guida? Vorrei
impararlo :D :D
A mio parere è meglio imparare innanzitutto a programmare in C per poi
passare (sempre che tu ne abbia la necessità) al C++.
Il passaggio è meno traumatico e comunque sia il C che il C++ (come
tutti i linguaggi) sanno insegnarti qualcosa che vale la pena imparare.
Per questo ora imparerò il Mox 3.0.
E se facessi una cosa del tipo Jython ? Non so... Mython... Pox...
Vado a dormire? Vado a dormire.


> e se la risposta fosse stata il C/C++ dove potrò trovarmi tra 30 anni??
Su un newsgroup a batterti perchè il linguaggio che sai è molto meglio
di uno che non sai :D
Ciao ciao


E se facessi una cosa del tipo Jython ? 
peccato che esista già 
www.jython.org


 (Antonio Cuni, PROGRAMMATORE)
42.
Lo conosco (Monthy) Python visto? :D :D


 "Provide only one way to do an operation."
il significato di queste frasi???
grazie e ciao a tutti!

xcusate ancora la mia estrema ignoranza ma: PI? sta per?
PI = pi greco
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com


 (Antonio Cuni, PROGRAMMATORE)
ma sei la guida della sezione C in 
www.programmazione.it?
??

 ma una delle fondamentali regole del C non è KISS???
Possibile che tu non l'abbia capito ?
L'IOCCC e' un festival della bruttezza. 
Sostanzialmente, vince il programma piu' incomprensibile.


 Sostanzialmente, vince il programma piu' incomprensibile.
ops! scusa :(
sarà che mi ritirerò!
addio!
è stato bello conscervi!
...
no
maiii!
non mi scoraggerò!
grazie della risposta!


come puoi fare un programma che calcola una divisione?
#include <stdio.h>
int main(void)
{
	int a = 6;
	int b = 3;
	int c = a / b;
 
	printf("a / b = %d", c);
	return 0;
}
^_^
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
cosa c'entra Visual Basic 
con la programmazione?
(Antonio Cuni, PROGRAMMATORE)

scusa la domanda che può sembrare sciocca!
http://www.ioccc.org/1986/august.c
http://www.ioccc.org/1988/robison.c
http://www.ioccc.org/1988/westley.c
http://www.ioccc.org/1989/roemer.c
Questo e' westley.c
#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_


Lo conosco (Monthy) Python visto? :D :D
<CITAZIONE>
La risposta era 42?
Uhmm, e ora come faremo a scoprire la domanda? :P
</CITAZIONE>


 (Antonio Cuni, PROGRAMMATORE)
sei la guida della sezione C di 
WWW.PROGRAMMAZIONE.IT
 ???

sei la guida della sezione C di 
WWW.PROGRAMMAZIONE.IT
 ???
prova a cliccare sul link e vedrai che la trovi
cmq è 
cpp.programmazione.it
