Array
(
)

Ajuda apenas correção...

Ervilha
   - 13 nov 2008

Fiz esse programa em ´C´, você entra com um numero qualquer e ele te retorna quantos digitos tem esse numero.
Com int ele funciona bem, mas quero passar ele para double e não estou conseguindo fazer.

Segue o codigo fonte...

#Código


#include<conio.h>
include<stdio.h>
include<stdlib.h>
include<ctype.h>
include<string.h>

void main(void)
{
int c, n;
char resposta = ´s´;

do
{
textbackground(1);
textcolor(14);
cprintf("\r\n\n");
printf(" ");cprintf("****************************************************\r\n");
printf(" ");cprintf("* Infomar a quantidade de digitos de um numero: *\r\n");
printf(" ");cprintf("****************************************************\r\n");


printf("\n Digite um numero: ");
scanf("¬i", &n);

for(c = 0; n; n /= 10)
c++;

printf("\n ----> O numero possui ¬i digitos.", c);

textbackground(0);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
cprintf(" Deseja Continuar S/N?: ");
scanf( "\n ¬c", &resposta );
clrscr();
}while(toupper(resposta) == ´S´);
}



Segunda duvida, fiz um programa que converte decimais para romanos, mas não consigo fazer a saida em C. apenas c++, alguém pode me dar uma luz ae?

#Código

#include<iostream.h>
include<cstring.h>
include<conio.h>
include<stdio.h>
include<stdlib.h>
include<ctype.h>
include<string.h>

int dec_romana (int num);

int main(int argc, char *argv[])
{
int numerito;

printf("\n Entre com um numero de 1 a 3999: ");
scanf("¬i", &numerito);

dec_romana(numerito);
getch();
return (0);
}

int dec_romana (int num)
{

int numeros[8] = {1,5,10,50,100,500,1000,5000},i,p;
string letras[8] = {"I","V","X","L","C","D","M"},romano;

if(num<=0)
{
printf("\n Sou bom, Mas não sou magico.");
return(0);
}
else if(num<=3999)
{
while(num > 0)
{
i = 0;
while(i < 7)
{
while(num >= numeros[i] && num < numeros[i+1])
{
p = i¬2;
if(num >= numeros[i+1] - numeros[i-p])
{
romano = romano + letras[i-p] + letras[i+1];
num = num-(numeros[i+1]-numeros[i-p]);
}
else
{
romano = romano + letras[i];
num = num-numeros[i];
}
}
i++;
}
}
cout << romano << endl; //QUERO ARRUMAR ISSO AQUI
}
else
{
printf("Eu mandei escrever de 1 a 3999 cegueta!");
return(0);
}
}