2010-02-08 10 views
6

Esiste un modo per scrivere un programma C per convertire dire Dollar a Indian Rupee (o viceversa). Il parametro di conversione deve essere non essere codificato, ma dinamico. Più prezioso dovrebbe ottenere automaticamente l'ultimo valore di Rupee rispetto a Dollar (da Internet)?Programma C per convertire Dollar in Rupee

risposta

21

Il passaggio 1 sarebbe ottenere l'ultimo tasso di conversione. Puoi usare un servizio web per questo. Ce ne sono molti disponibili Puoi provare this.

Richiesta:

GET /CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=USD HTTP/1.1 
Host: www.webservicex.net 

Risposta:

HTTP/1.1 200 OK 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<double xmlns="http://www.webserviceX.NET/">SOME_RATE_IN_DOUBLE</double> 

Per l'invio della richiesta si può fare uso di cURL.

Una volta ottenuta la risposta, analizzala per ottenere la tariffa. Una volta che hai la tariffa puoi facilmente scrivere il programma da convertire.

EDIT:

Se si utilizza cURL è qualcosa che non si ha familiarità con si può fare uso del buon vecchio system e wget. Per questo è necessario costruire l'URL prima come:

www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=USD

quindi dal programma C si può fare:

char cmd[200]; 
char URL[] = "www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=USD"; 
sprintf(cmd,"wget -O result.html '%s'",URL); // ensure the URL is in quotes. 
system(cmd); 

Dopo questo il tasso di conversione è nel file result.html come XML. Basta aprirlo e analizzarlo.

Se si utilizza Windows, è necessario installare wget per Windows se non si dispone di esso. Puoi ottenerlo here.

+0

Ciao .. grazie per la risposta e la soluzione ... Ma sto ottenendo qualche problema con questo, quando eseguo il codice sopra sto ricevendo errore come di seguito. (Sto correndo su Ubuntu) richiesta HTTP inviata , in attesa di risposta ... 500 Errore interno server 2010-02-08 11:50:50 ERRORE 500: Errore interno del server. (La mia connessione di rete è corretta) grazie ... – ganapati

+0

Ganpati, il mio male, è necessario racchiudere l'URL tra virgolette. Aggiornerò la mia risposta in un minuto – codaddict

+0

codaddict, funziona benissimo ... Grazie mille :) – ganapati

0

Innanzitutto, è necessario trovare un server che possa fornire il tasso di conversione. Dopodiché, scrivi il tuo programma per recuperare le tariffe da quel server e usa queste informazioni ulteriormente nel tuo programma.

Questo sito, http://www.csharphelp.com/2007/01/currency-converter-server-with-c/ sebbene fornisca un tutorial per C# + Web, può darti un'idea tecnica generale su come farlo.