Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-12-2003, 10:56   #1
R1((ky
Senior Member
 
L'Avatar di R1((ky
 
Iscritto dal: Mar 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
Gestione dei numeri con zero iniziale in C

Salve a tutti, scrivo per il seguente problema:

In un mio programma in C ho bisogno di gestire degli elenchi di numeri, che adesso gestisco come INT.

Una volta che il numero viene inserito dall'utente tramite tastiera, il programma lo salva su file.

Successivamente, se il programma va a leggere il numero salvato, e il numero inserito inizia con zero, a monitor il numero viene privato dello zero iniziale. Come fare?

Altro quesito....con numeri più lunghi di 9 cifre il programma salva numeri del tipo -135264523 ecc....

Grazie.
R1((ky è offline   Rispondi citando il messaggio o parte di esso
Old 11-12-2003, 11:02   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Re: Gestione dei numeri con zero iniziale in C

Quote:
Originariamente inviato da R1((ky
Successivamente, se il programma va a leggere il numero salvato, e il numero inserito inizia con zero, a monitor il numero viene privato dello zero iniziale. Come fare?
Un "numero" non è "testo", e gli zeri iniziali non sono significativi.
Quote:
Altro quesito....con numeri più lunghi di 9 cifre il programma salva numeri del tipo -135264523 ecc....
Integer overflow.


Nella tua situazione, userei delle stringhe al posto dei numeri.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 11-12-2003, 13:33   #3
Innominato
Senior Member
 
Iscritto dal: Nov 2002
Città: Treviso
Messaggi: 1386
Re: Re: Gestione dei numeri con zero iniziale in C

Quote:
Originariamente inviato da ilsensine
Nella tua situazione, userei delle stringhe al posto dei numeri.
Oppure un array di interi in caso quel numero ti servisse anche per altre cose, e poi se dall'array vuoi avere un numero unico moltiplichi per le decine, le centinaia...., a seconda della posizione nell'array stesso, e sommi, non so se mi sono spiegato...
ciao.
Innominato è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2003, 15:10   #4
downloader
Senior Member
 
L'Avatar di downloader
 
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
Convengo sull'uso di stringhe... TUTTAVIA

usa una sprintf (sprintf(stringa, "%d", numero_tel)) e poi concatena il risultato ad una stringa con lo zero:

char p[15];

strcpy(p, "0");
strcat(p, stringa);

e ottieni il numero come stringa e con lo zero iniziale.
Spero sia un buon suggerimeto...
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult.
downloader è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2003, 15:42   #5
R1((ky
Senior Member
 
L'Avatar di R1((ky
 
Iscritto dal: Mar 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
Quote:
Originariamente inviato da downloader
Convengo sull'uso di stringhe... TUTTAVIA

usa una sprintf (sprintf(stringa, "%d", numero_tel)) e poi concatena il risultato ad una stringa con lo zero:

char p[15];

strcpy(p, "0");
strcat(p, stringa);

e ottieni il numero come stringa e con lo zero iniziale.
Spero sia un buon suggerimeto...

sì ma se il numero non contiene lo zero me lo aggiunge lo stesso, e non è buona cosa (l'avevo già pensato)

Cmq grazie, ho fatto con le stringhe e ho risolto tutto....
R1((ky è offline   Rispondi citando il messaggio o parte di esso
Old 12-12-2003, 16:58   #6
R1((ky
Senior Member
 
L'Avatar di R1((ky
 
Iscritto dal: Mar 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
Senza aprire un nuovo Thread...dato che si parla cmq di numeri e stringhe....dovrei fare sta cosa:


in un file di testo sono memorizzati: codice utente (int), numero (char) e commento (char)

per cancellare un utente vorrei fare così:


il programma scansiona l'array, va al codice utente selezionato, se è quello che cerca allora prende il codice utente e lo pone = 0, successivamente scrive 0 sul file al posto del vecchio codice utente...


Come si può fare? Scusate ma sono quasi 2 anni che non programmo più.....
R1((ky è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v