Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Programmazione
 Aiutooooooooooooo C!!!
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

klaudio
Nuovo Utente


Regione: Puglia
Prov.: Bari
Città: Triggiano


Inserito il - 14/12/2006 : 09:38:34  Mostra Profilo  Visita l'Homepage di klaudio  Clicca per vedere l'indirizzo MSN di klaudio Invia a klaudio un Messaggio Privato  Rispondi Quotando

Qualcuno che ha avuto la fortuna di avere un professore che gli abbia insegnato a programmare in c potrebbe per favore spiegarmi cosa fa esattamente il programma!! Se digito la lettera a mi restituisce in valore letto il codice ascii della lettera a(97)e in valore intero calcolato 49 che equivale a 1 nella tabella ascii.
Se digito 1 mi restituisce in valore letto il codice ascii di 1 e in valore intero calcolato 1. Cioè trasforma 1cifra in 1 intero e la lettera a in cosa viene trasformata??
Il nostro prof di progra vuole adesso farci modificare il programma facendoci digitare un intero e trasformarlo in una sequenza di caratteri..........E come si fa??







//QUESTO PROGRAMMA LEGGE UNA SEQUENZA DI CARATTERI NUMERICI

//E LA TRASFORMA IN UN NUMERO INTERO

//!!!ATTENZIONE!!!
//IN C NON ESISTE L'OPERATORE DI ELEVAMENTO A POTENZA
//COSTRUIAMO UNA FUNZIONE DI ELEVAMENTO A POTENZA FRA INTERI



#include <stdio.h>
#define zero '0'
#define base 10
int potenza(int , int ); ***********Perche è necessario definire una funzione per l’elevamento a potenza??***********


int main()
{
char car, v[10];
int cifra, intero;
int n_v,i;

//LEGGE LA SEQUENZA DI CARATTERI NUMERICI

printf("\nDIGITA UNA SEQUENZA DI CARATTERI NUMERICI, MASSIMO 8 CARATTERI");
printf("\n");
scanf("%c",&car);

i=0; ************Perchè inizializza i a 0************

while((car!=' ')&&(car!='\n'))
{
v[i]=car;
i++;
scanf("%c",&car);
}
n_v=i; *********Cosa fa questo assegnamento??***********
printf("\nVALORE LETTO = ");
for(i=0;i<n_v; i++)printf("%c",v[i]);
printf("\n");
//

//TRASFORMA LA SEQUENZA IN NUMERO INTERO
intero=0;
for(i=0;i<n_v;i++)
{
//TRASFORMA IL CARATTERE i.mo IN CIFRA
cifra=v[i]-zero;
//AGGIORNA INTERO
intero=intero+cifra*(potenza(base,(n_v-1-i))); ****Cosa fa???*****
}
printf("\nVALORE INTERO CALCOLATO =%d",intero);
printf("\n");
system("pause");
return 0;
}

int potenza(int b,int e)
{
int i, p;
p=1;
for(i=0; i<e; p*=b,i++);
return p;
}


Addante Claudio

fabbattista
utente SEMPRE giovane

Gecko


Regione: Puglia
Prov.: Bari
Città: Bari


Inserito il - 14/12/2006 : 09:46:46  Mostra Profilo  Visita l'Homepage di fabbattista Invia a fabbattista un Messaggio Privato  Rispondi Quotando
se posso dare un consiglio, prima di capire cosa fa il codice, chiarisciti le idee su quale algoritmo stai usando per fare la operazione di conversione in questione....
Torna all'inizio della Pagina

genius
dott. ing. cav. ...FN

Genio


Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi


Inserito il - 14/12/2006 : 15:43:54  Mostra Profilo  Visita l'Homepage di genius  Clicca per vedere l'indirizzo MSN di genius  Invia a genius un messaggio Yahoo! Invia a genius un Messaggio Privato  Rispondi Quotando
bè io direi che il tuo problema non è il c. Prima di capire il programma, cerca di capire cosa vuoi fare. Nella fattispecie stai trasformando la stringa '12345' nel numero 12345, leggendo questa stringa carattere per carattere da tastiera. Come sicuramente saprai (lo sai vero???) il sistema di numerazione decimale (e in generale tutti i sistemi di numerazione + usati) è un sistema 'posizionale'. Questo significa ke la cifra 1 ha valore 1 nel numero 21, ma ha valore 100 nel numero 120. La funzione potenza ti serve a calcolare il valore di una cifra in base alla sua posizione e alla base del sistema di numerazione ke stai usando (decimale, binario, ottale...)

"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."

Un blog farlocco
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,23 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000