volevo chiedere come fosse possibile gestire l'input in modo che alla pressione del tasto "." {punto} esso inizi a scrivere in un'altra posizione(magari la sucessiva) dell'array

Moderatore: Staff


gattino_usb ha scritto:salve,premetto che sono un neofita della programmazione.
volevo chiedere come fosse possibile gestire l'input in modo che alla pressione del tasto "." {punto} esso inizi a scrivere in un'altra posizione(magari la sucessiva) dell'array



gattino_usb ha scritto:salve,premetto che sono un neofita della programmazione.
volevo chiedere come fosse possibile gestire l'input in modo che alla pressione del tasto "." {punto} esso inizi a scrivere in un'altra posizione(magari la sucessiva) dell'array
Di quale array stai parlando, scusa?
414N ha scritto:Di quale array stai parlando, scusa?


...
int array [M]; //M indica la grandezza dell'array (messa giusto per correttezza)
int index = 0;
int dotOffset = N; //qui imposti lo scostamento da applicare quando viene letto un '.'
int car;
...
car = getchar();
if (car == '.')
index += offset;
array[index] = X; //X è il nuovo valore da inserire nell'array
...

414N ha scritto:int dotOffset = N; //qui imposti lo scostamento da applicare quando viene letto un '.'
int car;
una piccola cosa non mi è chiara,cosa intendi per scostamento?
spero di essermi spiegato bene
grazie ancora
...
int ipAddr [4]; //Array che conterrà le 4 cifre dell'indirizzo IP (ho messo int ma char dovrebbe essere sufficiente)
int ipIndex = 0; //Indice di partenza dell'array (0=inizio, 3= fine)
//int dotOffset = 1; //qui imposti lo scostamento da applicare quando viene letto un '.'
//In questo caso è un po' inutile usare una variabile per spostarsi di uno, quindi ne farei a meno.
int car;
...
car = getchar();
if (car == '.'){ //Un numero dell'indirizzo di rete è terminato
X = charsToInt(...); //Qui viene effettuata la conversione da insieme di caratteri ad intero (magari controllando che il numero abbia senso)
array[ipIndex] = X;
ipIndex++; //sarebbe opportuno controllare di non 'sbordare' dalla dimensione dell'array (quindi ipIndex non dovrà mai superare 3)
}else{
... //Il carattere viene salvato da qualche parte per poter poi essere associato ai caratteri letti precedentemente e convertito (per esempio un altro array di char)
}
...



Visitano il forum: Nessuno e 2 ospiti