|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 592
|
Scelta =='S' fai questo else fai quest'altro
E' pochissimo che sto imparando il linguaggio C.
Non riesco a fare una cosa dei questo tipo: Voglio scrivere un programma che mi permetta di sceglere se continuare o uscire dallo stesso. Il prog mi chiederà "Vuoi uscire dal programma? Scegli S / N" quindi io digito per esempio S allora se la scelta è S vai a inizio, altrimenti vai a fine. Con i numei ci riesco mentre con le lettere niente da fare. Cioè: #include <stdio.h> main () { int scelta; inizio: printf("\n Vuoi uscire? 1 = si 2 = no La tua scelta e'= "); scanf("%d", &scelta); if (scelta ==1) {goto fine;} else {goto inizio;} fine: printf("\n Ciao ciao"); return 0; } Vorrei fare la stessa cosa ma con le lettere tipo: if (scelta=='S') lo devo fare con getchar() c'ho provato ma non va. Sarà un cazzata ma non riesco sono un po' confuso. Qualcuno che mi illumina? Thx
__________________
Case Enermax Chakra, CPU Intel i7 2600K-Dissy Antec kuhler H2O 620 - Mobo Asus P8P67 rev 3.1 - RAM 16 GB Corsair ven 1600 Mhz - SK video PNY quadro 600 - SSD OCZ 120 GB MI + HDD wester digital 300 GB - Mast. ASUS 24x - Monitor Samsung 244BW 24" - Mouse Razer Death Adder respowm - Casse 5.1 Logitech X530. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
sacrilegio che vedo
cosè quel goto ma dove stai studiando?? su un libro anti-programmazione?? ![]() ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
|
Quote:
Prova con un ciclo do while: #include <stdio.h> main () { char scelta; do { printf("\n Vuoi uscire? s = si n = no La tua scelta e'= "); scanf("%c", &scelta); } while(scelta != 's' && scelta != 'S'); printf("\n Ciao ciao"); return 0; }
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS Acer Aspire 3023 WLMI Ultima modifica di pipozzolo : 23-06-2005 alle 16:24. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Vuoi imparare a programmare o magari diventare programmatore........
Dimentica i goto, o dimentica la programmazione!!! |
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
|
Quote:
un GOTO!! ....svengo.....cmq scherzi a parte scordati il goto...fai finta che non esista proprio |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 534
|
E io che mi stavo incazzando perchè il mio libro di C non faceva neanche un accenno al Goto!
ps. ma Goto non è basic? Domanda forse scema: ma perchè alla fine c'è un return 0? Non mi sembra ci sia una funzione... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Come credo tu abbia potuto intuire, il goto non è molto bello.
Comunque ti dò u n consiglio, sperando di non essere sparato a vista, prova con java, è più semplice ed è anche più comune, e trovi anche molti manuali free. Tanto, da quello che ho visto, senza offesa, sei n'terra c'à programmazione. CIAO
__________________
My gaming placement |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 534
|
Quote:
Ma magari mi sbaglio io (oltre che essere un po' OT |
|
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: May 2003
Città: Saronno
Messaggi: 161
|
Quote:
Il goto può essere utile anche nei linguaggi strutturati, generalmente quando si verificano condizioni che impongono la fine immediata del programma. Il return 0 restituisce un valore al sistema operativo. |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
il goto NON va mai utilizzato in linguaggi ad alto livello ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#12 | |
|
Member
Iscritto dal: May 2003
Città: Saronno
Messaggi: 161
|
Quote:
Se non ti fidi di me, fidati di Brian Kernighan: "Horrors! goto's and labels C has a goto statement and labels, so you can branch about the way you used to. But most of the time goto's aren't needed. (How many have we used up to this point?) The code can almost always be more clearly expressed by for/while, if/else, and compound statements. One use of goto's with some legitimacy is in a program which contains a long loop, where a while would be too extended. Then you might write mainloop: ... goto mainloop; Another use is to implement a break out of more than one level of for or while. goto's can only branch to labels within the same function." |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 534
|
Quote:
|
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
gente se il programma deve terminare si usano exit o return non goto ... se volete diventare almeno dei programmatori che sanno scrivere del codice usate una programmazione lineare
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#16 |
|
Bannato
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
|
Il GOTO non va utilizzato perche' viola i principi della buona programmazione strutturata....tie' ...eccoti un articolo di Dijkstra --> Go To Statement Considered Harmful
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
![]() ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 592
|
Bravi, bravi, tutti bravissimi a criticare.
Prima di tutto sono 4 giorni che ho preso il manuale di C, il che la dice lunga sulla mia esperienza C cioè zero. Come ha detto qualcuno forse di Napoli (stong 'nterr' ca' programmzion') bell' Cumparie', pur' u nonn' mio s' n' foss' accort'. Poi, io ho scritto solo un piccolo esempio, che oltre tutto funziona se compilato, quindi non mi perderei su ragionamenti "metafisici". Ancora,ringrazio pipozzolo che mi ha fatto vedere come si fa. Solo una cosa, quando digito N, oppure qualsiasi lettera diversa da s o S, mi stampa 2 volte la frase "vuoi uscire?.." Tanta polemica sull' eleganza del codice e dopo sull'output del programma, come definirlo, non elegante?, sorvoliamo? Mi sembra quanto meno ipocrita. Un appunto ve lo voglio fare: forse non vi rendete conto che qui siete quasi tutti OT. Non rompete l'anima sull'eleganza della scrittura del codice. A vostro favore dico che ho letto effettivamente che al posto del goto è consigliabile utilizzaare un ciclo. In assembler (linguaggio a basso livello) si usa "jump". Nel fortran 77 strutturato, l'ho sempre utilizzato (goto 100 continue). Per rispondere a quelli che subito mi hanno consigliato di cambiare e imparare il java, rispondo che non si potrà mai essere bravi a programmare in java senza le basi del C, ma questo è un mio parere. Grazie a tutti per la lezione.
__________________
Case Enermax Chakra, CPU Intel i7 2600K-Dissy Antec kuhler H2O 620 - Mobo Asus P8P67 rev 3.1 - RAM 16 GB Corsair ven 1600 Mhz - SK video PNY quadro 600 - SSD OCZ 120 GB MI + HDD wester digital 300 GB - Mast. ASUS 24x - Monitor Samsung 244BW 24" - Mouse Razer Death Adder respowm - Casse 5.1 Logitech X530. |
|
|
|
|
|
#19 | |||||||
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
dato che sono in vena polemica
Quote:
Quote:
Quote:
una persona sa programmare solo se riesce a scrivere codice decente è questa la differenza tra programmatore e una persona che lo fa così tanto per dire so programmare.Quote:
Quote:
E cmq il GOTO nella programmazione lineare NON si usa. Quote:
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|||||||
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
cmq ti stampa due volte perchè in realtà quando vai con la lettera premi anche invio che rimane nel buffer e quindi ricicla due volte.
soluzione : Codice:
#include <stdio.h>
#include <windows.h>
#include <conio.h>
int main (){
char scelta;
do {
printf("\n Vuoi uscire? s = si n = no \nLa tua scelta e'= ");
fflush (stdin);
scanf ("%c", &scelta);
} while(scelta != 's' && scelta != 'S');
printf("\n Ciao ciao");
system ("PAUSE");
return 0;
}
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:20.











cosè quel goto

una persona sa programmare solo se riesce a scrivere codice decente è questa la differenza tra programmatore e una persona che lo fa così tanto per dire so programmare.







