Repository 32bit  Forum
Repository 64bit  Wiki

casting imprevisto? [C]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

casting imprevisto? [C]

Messaggioda gattino_usb » dom mar 23, 2008 14:56

salve...sono sempre alle prese col mio stupido programino :D
ma questa parte di codice mi da delle noie
Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>

int main ()
{
printf (" QUESTO PROGRAMMA DATO UN IP ne ricava IND DI RETE E BCAST \n\n");

   int A[4];

   printf ("inserire l'indirizzo ip: ");
   scanf ("%i.%i.&i.%i",&A[0],&A[1],&A[2],&A[3]);

   printf (" \n \n");
   printf("Hai inserito %i . %i . %i . %i \n ",A[0],A[1],A[2],A[3]);


insomma...io inserisco l'ip e i primi 2 valori nell array al printf me li stampa giusti,mentre gli ultimi 2 no :(
quale protrebbe essere il problema?
Avatar utente
gattino_usb
Linux 2.4
Linux 2.4
 
Messaggi: 205
Iscritto il: mar dic 25, 2007 11:48
Località: Cittadella (Padova)
Nome Cognome: Alberto Rosso
Slackware: Current
Kernel: 2.6.27
Desktop: Xfce
Distribuzione: Debian, XUbuntu

Re: casting imprevisto? [C]

Messaggioda robbybby » dom mar 23, 2008 15:17

Se aggiungi questa riga di inizializzazione incominci a vedere la luce :)
Codice: Seleziona tutto
int A[4] = {0, 0, 0, 0};


Io non mi sono mai trovato bene con la scanf(). Meglio usare gets()/fgets() e fare il parsing della stringa che viene letta.

Poi una piccola nota, dettata piu' che altro da gusti personali, ma fare
&A[3] e' ridondante. Basta un A+3, in questo modo:
Codice: Seleziona tutto
scanf ("%i.%i.&i.%i",A,A+1,A+2,A+3);
Avatar utente
robbybby
Linux 3.x
Linux 3.x
 
Messaggi: 1172
Iscritto il: sab dic 16, 2006 10:48
Località: Fra Trantor e Terminus
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5

Re: casting imprevisto? [C]

Messaggioda Mario Vanoni » dom mar 23, 2008 16:06

gattino_usb ha scritto:salve...sono sempre alle prese col mio stupido programino :D
ma questa parte di codice mi da delle noie
Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>

int main ()
{
printf (" QUESTO PROGRAMMA DATO UN IP ne ricava IND DI RETE E BCAST \n\n");

   int A[4];

   printf ("inserire l'indirizzo ip: ");
   scanf ("%i.%i.&i.%i",&A[0],&A[1],&A[2],&A[3]);

   printf (" \n \n");
   printf("Hai inserito %i . %i . %i . %i \n ",A[0],A[1],A[2],A[3]);


insomma...io inserisco l'ip e i primi 2 valori nell array al printf me li stampa giusti,mentre gli ultimi 2 no :(
quale protrebbe essere il problema?


man scanf | grep '\&'

Domanda:
da dove viene ... %i.&i.%i ... ?
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: casting imprevisto? [C]

Messaggioda gattino_usb » dom mar 23, 2008 16:26

Mario Vanoni ha scritto:man scanf | grep '\&'



Domanda:
da dove viene ... %i.&i.%i ... ?



dovrei fare in modo che dopo l'inserimento del punto esso vada a scrivere in un altra posizione dell'array,cosi lo vedo comodo,sembrerebbe funzionare...ma premetto che sono un neofita del C e che me ne intendo molto poco.


@Mario Vanoni: potresti essere un po meno "sfottente" nelle risposte? risposte come "vai a guardarti il manuale" o simili sono leggermente irritanti,anche se sono utili,ma se ritieni che nel manuale ci sia scritto,inserisci la riga dove piu o meno si puo trovare la risposta ;)
cio che mi hai scritto te come comando a prima vista non risolve il problemaa...se me lo potresti spiegare te ne sarei molto grato.
Avatar utente
gattino_usb
Linux 2.4
Linux 2.4
 
Messaggi: 205
Iscritto il: mar dic 25, 2007 11:48
Località: Cittadella (Padova)
Nome Cognome: Alberto Rosso
Slackware: Current
Kernel: 2.6.27
Desktop: Xfce
Distribuzione: Debian, XUbuntu

Re: casting imprevisto? [C]

Messaggioda gattino_usb » dom mar 23, 2008 16:36

robbybby ha scritto:
Io non mi sono mai trovato bene con la scanf(). Meglio usare gets()/fgets() e fare il parsing della stringa che viene letta.


ahi ahi ahi ecco cosa vuol dire non conoscere bene il C...purtroppo conosco solo quelle poche funzioni imparate e uso quelle...a proposito... OFFTOPIC avreste niente da consigliare come libro ad un neofita del C? o qualcosa che sia disponibile in rete magari...

@Mario Vanoni: Non mi rispondere con " man " seguito da una lista infinita di funzioni :lol:
Avatar utente
gattino_usb
Linux 2.4
Linux 2.4
 
Messaggi: 205
Iscritto il: mar dic 25, 2007 11:48
Località: Cittadella (Padova)
Nome Cognome: Alberto Rosso
Slackware: Current
Kernel: 2.6.27
Desktop: Xfce
Distribuzione: Debian, XUbuntu

Re: casting imprevisto? [C]

Messaggioda conraid » dom mar 23, 2008 16:41

gattino_usb ha scritto: avreste niente da consigliare come libro ad un neofita del C? o qualcosa che sia disponibile in rete magari...


In rete non so, ma cartaceo "il manuale" è il K&R, ovvero Il linguaggio C. Principi di programmazione e manuale di riferimento di Brian W. Kernighan e Dennis M. Ritchie
Avatar utente
conraid
Staff
Staff
 
Messaggi: 11994
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: casting imprevisto? [C]

Messaggioda gattino_usb » dom mar 23, 2008 16:44

conraid ha scritto:
gattino_usb ha scritto: avreste niente da consigliare come libro ad un neofita del C? o qualcosa che sia disponibile in rete magari...


In rete non so, ma cartaceo "il manuale" è il K&R, ovvero Il linguaggio C. Principi di programmazione e manuale di riferimento di Brian W. Kernighan e Dennis M. Ritchie


ahimè è fin troppo astruso per un neofita come me :lol: ce l'ho e sinceramente pur essendo fatto bene...lo trovo qua e la intricato...
Avatar utente
gattino_usb
Linux 2.4
Linux 2.4
 
Messaggi: 205
Iscritto il: mar dic 25, 2007 11:48
Località: Cittadella (Padova)
Nome Cognome: Alberto Rosso
Slackware: Current
Kernel: 2.6.27
Desktop: Xfce
Distribuzione: Debian, XUbuntu

Re: casting imprevisto? [C]

Messaggioda phobos3576 » dom mar 23, 2008 16:50

Si ma ... come dice Mario Vanoni ... da dove viene %i.%i.&i.%i ????
:-k :-k :-k :-k
Avatar utente
phobos3576
Staff
Staff
 
Messaggi: 2980
Iscritto il: sab apr 16, 2005 23:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: casting imprevisto? [C]

Messaggioda Mario Vanoni » dom mar 23, 2008 16:55

gattino_usb ha scritto:@Mario Vanoni: potresti essere un po meno "sfottente" nelle risposte? risposte come "vai a guardarti il manuale" o simili sono leggermente irritanti,anche se sono utili,ma se ritieni che nel manuale ci sia scritto,inserisci la riga dove piu o meno si puo trovare la risposta ;)
cio che mi hai scritto te come comando a prima vista non risolve il problemaa...se me lo potresti spiegare te ne sarei molto grato.


Non sfoto, cerco
- a capire il tuo problema
- ad aiutarti

La conversione di scanf basa su segno percento ("%"),
seguito dal tipo di informazione, p.e. %i == cifra intera.

Una conversione "&i" non la conosco, scusami tanto
per questo la mia domanda, se offensiva, chiedo un secondo scusa.

man scanf | grep '\&' era per far veder dove compare il segno "&",
infatti il risultato e` nullo.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: casting imprevisto? [C]

Messaggioda gattino_usb » dom mar 23, 2008 16:59

Mario Vanoni ha scritto:
gattino_usb ha scritto:@Mario Vanoni: potresti essere un po meno "sfottente" nelle risposte? risposte come "vai a guardarti il manuale" o simili sono leggermente irritanti,anche se sono utili,ma se ritieni che nel manuale ci sia scritto,inserisci la riga dove piu o meno si puo trovare la risposta ;)
cio che mi hai scritto te come comando a prima vista non risolve il problemaa...se me lo potresti spiegare te ne sarei molto grato.


Non sfoto, cerco
- a capire il tuo problema
- ad aiutarti

La conversione di scanf basa su segno percento ("%"),
seguito dal tipo di informazione, p.e. %i == cifra intera.

Una conversione "&i" non la conosco, scusami tanto
per questo la mia domanda, se offensiva, chiedo un secondo scusa.

tranquillo,ho freinteso. devo chiedere IO scusa a TE ;)

man scanf | grep '\&' era per far veder dove compare il segno "&",
infatti il risultato e` nullo.


grazie per la tua risposta :)
ho CAPITO l'errore :D un piccolo errore di battitura :D grazie mille
Avatar utente
gattino_usb
Linux 2.4
Linux 2.4
 
Messaggi: 205
Iscritto il: mar dic 25, 2007 11:48
Località: Cittadella (Padova)
Nome Cognome: Alberto Rosso
Slackware: Current
Kernel: 2.6.27
Desktop: Xfce
Distribuzione: Debian, XUbuntu

Re: casting imprevisto? [C]

Messaggioda robbybby » dom mar 23, 2008 18:43

Ritengo anch'io che il K&R sia il testo migliore per imparare il C.

Il K&R non e' astruso, ma molto succoso (e anche stringato). Mi spiego: se leggi una pagina diece volte, tutte e dieci le volte trovi informazioni in piu', che non avevi notato prima. Tutto cio' imho.
Il K&R non e' comunque fatto per insegnare a programmare da zero. E' fatto per insegnare il C a chi conosce gia' almeno i rudimenti della programmazione strutturata.
Inoltre non e' un testo a che si puo' sperare di comprendere dandogli una lettura veloce: richiedo un certo impegno e concentrazione. Per studiarlo devi impegnarti, ma poi vedi che li' c'e' tutto quello di cui hai bisogno.
Avatar utente
robbybby
Linux 3.x
Linux 3.x
 
Messaggi: 1172
Iscritto il: sab dic 16, 2006 10:48
Località: Fra Trantor e Terminus
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5

Re: casting imprevisto? [C]

Messaggioda gattino_usb » dom mar 23, 2008 18:48

personalmente in alcune spiegazioni ho avuto qualche perplessità,seppur si,avendo notato che si tratta di un testo molto completo.
Avatar utente
gattino_usb
Linux 2.4
Linux 2.4
 
Messaggi: 205
Iscritto il: mar dic 25, 2007 11:48
Località: Cittadella (Padova)
Nome Cognome: Alberto Rosso
Slackware: Current
Kernel: 2.6.27
Desktop: Xfce
Distribuzione: Debian, XUbuntu


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti