• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto Esercizio in C

Dijnr

Nuovo utente
Autore del topic
30 Novembre 2010
6
0
Miglior risposta
0
salve a tutti ho da fare un esercizio in C l'ho fatto però non riesco a trovare l'errore mica mi potete aiutare??
l'esercizio è il seguente:
Enter ISBN: 978-0-393-97950-3
GS1 prefix: 978
Group identifier: 0
Publisher code: 393
Item number: 97950
Check digit: 3
in poche parole mi deve suddividere tutto il codice che sta scritto di sopra usando solo printf e scanf. Io ho fatto cosi ma non va

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int x,y,z,w,v;
printf("Enter ISBN: ");
scanf("%d-%d-%d-%d-%d\n", &x ,&y,&z,&v);
printf("GS1prefix: ");
printf("%d\n",&x);
printf("Group identifier: ");
printf("%d\n", &y);
printf("Publisher code: ");
printf("%d\n",&z);
printf("Item number: ");
printf("%d\n",&w);
printf("Cheek digit: ");
printf("%d\n",&v);

system("PAUSE");
return 0;
}

Dove ho sbagliato??????????? oppure cosa ho mancato????????
 
Riferimento: Esercizio in C

quando non lo faccio è lo stesso e cmq se non sbaglio si possono mettere perchè mandano a capo il programma (\n= new-line) altrimenti mi uscirebbe su una sola riga

Credo
 
Riferimento: Esercizio in C

i valori che deve inserire l'utente sono solo valori interi quindi la variabile è int datosi che non puo inserire valori non interi
 
Riferimento: Esercizio in C

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
io invece ti consiglio ti togliere il \n in rosso e di aggiungere \n all'inizio dell'istruzione che segue ( in poche parole devi metterlo dov'è \n in blu). a me non funzionava bene per quello un programma, ho fatto in questo modo e si è risolto. Credo che ti dovrebbe funzionare meglio
--------------- AGGIUNTA AL POST ---------------
svolge la stessa funzione \n . ti va a capo comunque
--------------- AGGIUNTA AL POST ---------------
ah dimenticavo: io uso questo metodo solo per gli scanf e i system.
 
Ultima modifica:
Riferimento: Esercizio in C

Io spero che tu sia agli inizi con la programmazione in C, perchè ora come ora stai messo davvero male. TU FAI SCEGLIERE ALL'UTENTE UN VALORE SERVENDOTI DI printf() ? Devi usare scanf() !!

Codice corretto :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Ps : Ho usato altre variabili al posto di quelle tue.

EDIT : La discussione va in Assistenza Tecnica, segnalo.
 
Riferimento: Esercizio in C

si sono agli inizi, ho trovato l'errore ecco come andava fatto il codice
int x,y,z,w,v;
printf("Enter ISBN: ");
scanf("%d-%d-%d-%d-%d",&x,&y,&z,&w,&v);
printf("GS1 prefix: ");
printf("%d\n", x);
printf("Gruop identifier: ");
printf("%d\n",y);
printf("Publisher code: ");
printf("%d\n",z);
printf("Item number: ");
printf("%d\n",w);
printf("Check digit: ");
printf("%d\n",v);

PS se leggi bene il codice i valori l'utente li inserisce tutti insieme con un unico scanf() gli altri printf() servono a "dividere" i numeri.
avevo fatto l'errore di mettere \n nello scanf()[cosa che non si deve mai fare].

grz dell'aiuto a tutti
 
Riferimento: Esercizio in C

Lo avevo detto io che era quello l'errore!
Sei sicuro che vicino a ogni %d in
Citazione Originalmente inviato da Dijnr Visualizza messaggio
printf("%d\n", &y);
puoi mettere un \n che indica la riga a capo?
E' un presentimento.
 
Riferimento: Esercizio in C

se lo metto non mi esce mi escono numeri lunghi che non centrano nulla con quello che avevo digitato