|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
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 ![]() |
![]() |
![]() |
![]() |
#2 |
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 ![]() |
![]() |
![]() |
![]() |
#3 |
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 |
![]() |
![]() |
![]() |
#4 |
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? |
![]() |
![]() |
![]() |
#5 |
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... |
![]() |
![]() |
![]() |
#6 |
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' Ultima modifica di giovandrea : 12-08-2013 alle 15:42. |
![]() |
![]() |
![]() |
#7 |
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 |
![]() |
![]() |
![]() |
#8 |
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? |
![]() |
![]() |
![]() |
#9 | ||
Member
Iscritto dal: Jun 2011
Messaggi: 103
|
Quote:
![]() Quote:
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 |
||
![]() |
![]() |
![]() |
#10 | |
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:
![]() |
|
![]() |
![]() |
![]() |
#11 |
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 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:29.