Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 09-09-2005, 16.48.16   #16
Dr_House
Senior Member
 
L'avatar di Dr_House
 
Registrato: 03-09-2005
Loc.: Fondi
Messaggi: 312
Dr_House promette bene
fflush() scordiamocelo pure non funge in alcuna maniera.. non mi svuota il buffer... problema ovviato con una semplice while(getchar()!='\n')

Questo mi svuota il buffer.

ma un problema che adesso sorge è questo: facendo

scanf("%2s",stringa);

risolvo molti dei miei problemi si è vero, tant'è che eliminando il contenuto del buffer il programma funziona alla perfezione.

Solamente che de da prompt si inserisce

&>A2 Ciao

o anche

&>C4Ciao

Il programma legge le prime due lettere corrette e continua la sua esecuzione.

Io vorrei evitare questa cosa e fare in modo che quando inserisco

&>A2

Il terminale sia bloccato e NON mi consenta di inserire un terzo carattere.

Alternativamente una gestione errore sul terzo carattere che mi dia un errore se questo è differente da '\0' o '\n'

Ho profato tuttavia a fare un controllo ma, al terzo carattere sia che abbia uno "spazio" o non inserisca nulla, mi genera sempre un errore perché il carattere è null.

Quindi anche quando il controllo dovrebbe essere OK lui stampa l'errore.

Compe posso trovare una delle due soluzioni in termine di codice?
___________________________________

Blog -> [LINK]
Dr_House non è collegato   Rispondi citando
Vecchio 09-09-2005, 18.24.32   #17
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Cambia funzione, oppure creane una tu.
LoryOne non è collegato   Rispondi citando
Vecchio 09-09-2005, 19.43.06   #18
Dr_House
Senior Member
 
L'avatar di Dr_House
 
Registrato: 03-09-2005
Loc.: Fondi
Messaggi: 312
Dr_House promette bene
Quota:

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


int main (){
char pro[3];
printf("\n\ninserire la prima coordinata: ");
scanf("%3s", pro);
printf("\n\nin posizione 3 c'è il carattere %c %d\n\n",pro[3],(int)pro[3]);
if((int)pro[3] != '\n')//controla se il carattere successivo è lo spazio e genera un errore
printf("\nErrore %c\n",pro[3]);

while ( getchar() != '\n' ); //ripulisce il buffer
}
Allora faccio dei controlli sul terzo carattere, verificanto appunto che sia lo \n per convalidare la stringa idi due elementi (riga e colonna)

Tuttosommato sia che io prema invio sia che io inserisca uno spazio e prema invio il codice che segnala è semrpe -73 e non pare essere ne \n ne \b.

Qualcuno di voi sa come mai?
Dr_House non è collegato   Rispondi citando
Vecchio 10-09-2005, 12.58.55   #19
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
pro[0] quanto vale ?
Dove è stato inserito il terminatore nullo ?
Cosa cambia se al posto di char pro[3], pro è un puntatore ad una stringa ?
LoryOne non è collegato   Rispondi citando
Vecchio 10-09-2005, 13.34.56   #20
Dr_House
Senior Member
 
L'avatar di Dr_House
 
Registrato: 03-09-2005
Loc.: Fondi
Messaggi: 312
Dr_House promette bene
se metto un puntatore è la stessa cosa...

Inserisco ad esempio

&>A2

non funge dandomi subito dopo il 2 il valore -73

&>A2Ciao

Lo cattura

&>A2 Ciao

Non mi cattura lo spazio dandomi il -73 nello spazio
___________________________________

Blog -> [LINK]
Dr_House non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Crociera virtuale intorno al mondo, unico bagaglio... fantasia! Lionsquid Chiacchiere in libertà 1492 24-04-2009 08.08.28
controllare volume audio da tastiera Win XP bonovox73 Windows 7/Vista/XP/ 2003 0 28-02-2007 14.51.57
Politica & co.: full throttle! Nothatkind Chiacchiere in libertà 1912 13-01-2006 00.28.09
Islamismo - ANCORA BOTTE IN TV - la legge del taglione ??? Macao Chiacchiere in libertà 323 26-07-2005 03.52.41

Orario GMT +2. Ora sono le: 05.04.58.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.