Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-08-2013, 10:15   #1
giovandrea
Senior Member
 
Iscritto dal: Jun 2008
Città: Cagliari
Messaggi: 6920
[C] Inserire numeri in una stringa

Ciao a tutti, ho un piccolo problema con un esercizio.
Mi viene chiesto di scrivere una funzione che riceve in ingresso un numero reale e lo memorizza in una stringa, punto compreso. Passo alla funzione il float ma poi non riesco a capire come farglielo memorizzare in una stringa. Sapete darmi una mano?
Grazie
__________________
Ecco tutte le mie trattative
giovandrea è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 10:54   #2
giovandrea
Senior Member
 
Iscritto dal: Jun 2008
Città: Cagliari
Messaggi: 6920
Grazie per la risposta, ma lo dovrei svolgere senza utilizzare funzioni di libreria particolari.
Quello che non capisco è che se inserisco un intero va bene, con un reale mi mostra 0.0000 e non il numero che gli ho passato
__________________
Ecco tutte le mie trattative
giovandrea è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 12:38   #3
xemf
Member
 
Iscritto dal: Jun 2011
Messaggi: 103
hai provato ad usare i double?
__________________
CPU: i5-3570k MOBO: AsRock Z77 ext4 RAM: 2x4GB Corsair Vengeance @1866MHz Black Video: Zotac CTX 560ti AMP! Audio: Audigy 2 ZS Platinum ( gloriosa xD) +Gigaworks Z750 Mouse: Cyborg R.A.T. 7
xemf è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 13:06   #4
giovandrea
Senior Member
 
Iscritto dal: Jun 2008
Città: Cagliari
Messaggi: 6920
Provato, è sempre uguale.
Sicuramente ci deve essere qualche cosa che mi sfugge nel codice / che non capisco.
Voi come lo fareste?
__________________
Ecco tutte le mie trattative
giovandrea è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 13:42   #5
Eduadie
Senior Member
 
Iscritto dal: Nov 2012
Messaggi: 326
Ho preparato un esercizio simile per il mio esame.
Ma se posti il codice che hai fatto fino ad ora non è meglio? Possiamo aiutarti di più. La soluzione più facile che mi viene in mente comunque è lo strcpy()...
Altrimenti un altro metodo potrebbe esserci però meglio che posti il codice...
Eduadie è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 16:38   #6
giovandrea
Senior Member
 
Iscritto dal: Jun 2008
Città: Cagliari
Messaggi: 6920
Premettendo che sono una vera schiappa, questo è il codice che ho scritto io:

#define DIM 10

void stamp (float);

int main()
{
char str[DIM];
int i;
double f;
int a[DIM];
scanf ("%f", &f);
stamp(f);
return 0;
}

void stamp (float n) {

char str[DIM];
str[0]=n;
printf ("\n%f", *str);
printf ("\n%f", str);
return;
}

Ho provato ad inserire diverse formattazioni.
@Antonio23: ci provo e ti faccio sapere

[EDIT]= non capisco quello '0'
__________________
Ecco tutte le mie trattative

Ultima modifica di giovandrea : 12-08-2013 alle 16:42.
giovandrea è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 16:51   #7
xemf
Member
 
Iscritto dal: Jun 2011
Messaggi: 103
Printf("\n%f",str) ?

Visto che str è tipo char[]
Non andrebbe printf("\n %s",str) ?
__________________
CPU: i5-3570k MOBO: AsRock Z77 ext4 RAM: 2x4GB Corsair Vengeance @1866MHz Black Video: Zotac CTX 560ti AMP! Audio: Audigy 2 ZS Platinum ( gloriosa xD) +Gigaworks Z750 Mouse: Cyborg R.A.T. 7
xemf è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 16:59   #8
giovandrea
Senior Member
 
Iscritto dal: Jun 2008
Città: Cagliari
Messaggi: 6920
@xemf: se metto %s mi stampa caratteri a caso.
Credo che il problema sia proprio nella semantica, ma non ne riesco a venire a capo.
@Antonio23: si, ricordo per la tavola ASCII. Però non mi serve a molto per salvarmi il numero in una stringa, o sbaglio?
__________________
Ecco tutte le mie trattative
giovandrea è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 17:27   #9
xemf
Member
 
Iscritto dal: Jun 2011
Messaggi: 103
Quote:
Originariamente inviato da giovandrea Guarda i messaggi
Premettendo che sono una vera schiappa, questo è il codice che ho scritto io:

#define DIM 10

void stamp (float);

int main()
{
char str[DIM];
int i;
double f;
int a[DIM];
scanf ("%f", &f);
stamp(f);
return 0;
}

void stamp (float n) {

char str[DIM];
str[0]=n;
printf ("\n%f", *str);
printf ("\n%f", str);
return;
}

Ho provato ad inserire diverse formattazioni.
@Antonio23: ci provo e ti faccio sapere

[EDIT]= non capisco quello '0'
Occhio che stai facendo un cast implicito da double a float, sistema usando lo stessi tipo che male non fa
Quote:
Originariamente inviato da giovandrea Guarda i messaggi
@xemf: se metto %s mi stampa caratteri a caso.

Credo che il problema sia proprio nella semantica, ma non ne riesco a venire a capo.
@Antonio23: si, ricordo per la tavola ASCII. Però non mi serve a molto per salvarmi il numero in una stringa, o sbaglio?
Ti stampa i caratteri relativi al numero che hai salvato nella stringa, ti serve convertire dalla tavola ASCII
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
se '0' vale X
'1' vale X+1
'2' vale X+2
etc.

tu vuoi salvare il tuo numero nella stringa, per cui hai bisogno di quel X per fare la conversione..
Q8
__________________
CPU: i5-3570k MOBO: AsRock Z77 ext4 RAM: 2x4GB Corsair Vengeance @1866MHz Black Video: Zotac CTX 560ti AMP! Audio: Audigy 2 ZS Platinum ( gloriosa xD) +Gigaworks Z750 Mouse: Cyborg R.A.T. 7
xemf è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 18:12   #10
giovandrea
Senior Member
 
Iscritto dal: Jun 2008
Città: Cagliari
Messaggi: 6920
Grazie delle risposte
Ma... non riesco ancora a capire la logica.
Cioè, ci sono da stamattina e ci sto uscendo matto, lo so che è una stupidata.

Quindi, passo il float alla funzione, la funzione fa una serie di calcoli (perchè proprio quelli?) prima domanda.
Quote:
e.g. 1457 è il tuo intero, che può essere la parte intera o frazionaria

(1457 - (1457/10) *10) + '0' dove (1457/10) è vista come divisione intera, e iteri il procedimento per tutte le cifre...
@xemf: quel double/float l'ho dimenticato
__________________
Ecco tutte le mie trattative
giovandrea è offline   Rispondi citando il messaggio o parte di esso
Old 12-08-2013, 18:44   #11
xemf
Member
 
Iscritto dal: Jun 2011
Messaggi: 103
XD capita....
__________________
CPU: i5-3570k MOBO: AsRock Z77 ext4 RAM: 2x4GB Corsair Vengeance @1866MHz Black Video: Zotac CTX 560ti AMP! Audio: Audigy 2 ZS Platinum ( gloriosa xD) +Gigaworks Z750 Mouse: Cyborg R.A.T. 7
xemf è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Sale LAN, la Manovra 2027 introduce una ...
11 prezzi imperdibili in Amazon: non sol...
Giù i prezzi di Xiaomi 17T e Xiao...
Una tassa di 5,5 centesimi su ogni gigab...
Vuoi clonare un videogioco con l'IA? Cla...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
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: 13:18.


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