Conversione di un numero float in cifre per display
Posted: 16 Nov 2014, 21:29
Il mio obbiettivo è di convertire tramite codice in linguaggio C una cifra da float a 7 segmenti per la
calcolatrice z80 da me costruita ----> viewtopic.php?f=4&t=532 .
Ho scritto il seguente coedice ma non funziona provate voi stessi a compilarlo ed eseguirlo:
display.c
display.h
Questo codice l' ho trovato su internet ma non funziona.
Nessuno mi puo' aiutare a trovare un codice alternativo funzionante che mi fa la converte un float in cifre numeriche decimali ?
calcolatrice z80 da me costruita ----> viewtopic.php?f=4&t=532 .
Ho scritto il seguente coedice ma non funziona provate voi stessi a compilarlo ed eseguirlo:
- Code: Select all
#include <stdio.h>
#include <stdlib.h>
int cifre[8];
int n;
int main()
{
converti_numero(42.42);
for(n=7;n!=0;n--)
{
printf("%d", cifre[n]);
}
system("PAUSE");
return 0;
}
display.c
- Code: Select all
#include "display.h"
extern int cifre[8];
//funzione di conversione da numero float a cifre a 7 seg.
void converti_numero(float numero)
{
cifre[7]=0;
do
{
if(numero>100000)
{
cifre[7]++;
numero=numero-100000;
}
}while(numero>=10);
cifre[6]=0;
do
{
if(numero>=10000)
{
cifre[6]++;
numero=numero-10000;
}
}while(numero>=10000);
cifre[5]=0;
do
{
if(numero>=1000)
{
cifre[5]++;
numero=numero-1000;
}
}while(numero>=1000);
cifre[4]=0;
do
{
if(numero>=100)
{
cifre[4]++;
numero=numero-100;
}
}while(numero>=100);
cifre[3]=0;
while(1)
{
if(numero>=10)
{
cifre[3]++;
numero=numero-10;
}
}
cifre[2]=0;
while(1)
{
if(numero>=1)
{
cifre[2]++;
numero=numero--;
}
}
cifre[1]=0;
while(1)
{
if(numero>=0.1)
{
cifre[1]++;
numero=numero-0.1;
}
}
cifre[0]=0;
while(1)
{
if(numero>=0.01)
{
cifre[0]++;
numero=numero-0.01;
}
}
}
display.h
- Code: Select all
//file header dei drivers
void converti_numero(float numero);
Questo codice l' ho trovato su internet ma non funziona.
Nessuno mi puo' aiutare a trovare un codice alternativo funzionante che mi fa la converte un float in cifre numeriche decimali ?