[C con Clase] (sin asunto)

David fire ddfire en gmail.com
Mar Ago 11 15:02:54 CEST 2009


Hola
por favor completa el asunto en los mails.
por otro lado

el problema es bastante mas sencillo.

busca atoi(), convierte una cadena de caracteres en un integer, el prototipo
de atoi seria
int atoi(char *cadena);

teniendo en cuenta que si no encuentra numeros devuelve 0, podrias
int i;
i=atoi(cadena);
if(i==0)
{
   if(*cadena==0)//miro si el primer caracter es un 0 o una letra,
                        //si fuera otro numero i no  valdria 0
   {
       i++;
       sprintf(cadena,%d,i);
       return true;
   }else
    return false
}else
{
    if(i==999999999)
        i=0;
    else
        i++;

   sprintf(cadena,%d,i);

}

return true;


El 11 de agosto de 2009 09:16, josé Ignacio Retamal Thomsen <
pproma302 en hotmail.com> escribió:

>  Hola, tengo mim primero problema. y es con la primer serie de problemas
> del curso exactamente el problema 4 que dice asi:
>
> "Hacer un programa que contenga una función con el prototipo bool
> Incrementa(char numero[10]);. La función debe incrementar el número pasado
> como parámetro en una cadena de caracteres de 9 dígitos. Si la cadena no
> contiene un número, debe devolver false, en caso contrario debe devolver
> true, y la cadena debe contener el número incrementado.
> Si el número es "999999999", debe devolver "0". Cadenas con números de
> menos de 9 dígitos pueden contener ceros iniciales o no, por ejemplo, la
> función debe ser capaz de incrementar tanto la cadena "3423", como
> "00002323".
> La función "main" llamará a la función Incrementar con diferentes cadenas."
>
> Bueno lo primero que hago yo es pasar la cadena a un numero entero para
> incrementrao y luego meterlo otra ves en la cadena. Pero no resulta el
> programa como yo
> espero en el codigo les muestro claramente el problema:
>
> #include <iostream>
> using namespace std;
>
> bool incrementa(char Numero[10]);
> char Numero[10]="223456789";
> void Pause();
>
> int main()
> {
>
>
>     incrementa(Numero);
> }
>
> bool incrementa(char Numero[10])
> {
>     int numero = 0;
>     int n = 1;
>
>
>
>
>     for(int i=0;i<9;i++)
>     {
>         for(int k = 1; k < 9 - i; k++)
>         {
>             n *= 10;
>         }
>
>         cout<<Numero[i]<<n<<endl;/*En el primer bucle muestra valor
> Numero[0]=2,
>                                     n = 10e9, como
> espero*/
>         Pause();
>
>
>         numero += n*Numero[i];
>           cout<<numero<< endl; //cuando realisa la multiplicacion de los 2
> valores
>           Pause();              // ya vistos da un resultdo no esperado:
> n*Numero[0] = 705032703 ???
>         n = 1;
>     }
>
> }
>
> void Pause()
> {
>     system("PAUSE");
> }
> De antemas manos muchas gracias y saludos a todos.
>
> ------------------------------
> ¿Querías más espacio para tus correos? Hotmail te da espacio ILIMITADO. ¡Disfruta
> del Nuevo Hotmail!<http://www.microsoft.com/latam/windows/windowslive/products/hotmail.aspx>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090811/422c3a10/attachment.html>


Más información sobre la lista de distribución Cconclase