Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - leosansan

#1191
Cita de: Caster en 31 Octubre 2012, 18:30 PM
Lo unico que no entiendo es esto:

segundos%=60

Citarsegundos=1900
           segundos/60=31==> esto serían minutos     resto=segundos%60=40
es decir, te da los segundos inferiores a 60, o sea lo que quedarían en 1900 después de "quitar" los segundos múltiplo de 60
#1192
Programación C/C++ / Re: ejercicio en C
31 Octubre 2012, 13:49 PM
Cita de: xiruko en 31 Octubre 2012, 12:31 PM

donde has aprendido esto por ejemplo? podrias recomendarme algun libro o web que no sea de iniciacion en C sino que profundice mas?

http://www.cplusplus.com/reference/clibrary/cstdio/printf/
CitarPero no hay color rir nos lleva mucho, mucho de ventaja. Es un fenómeno en el conocimiento y manejo de comandos y librerías. siempre que postea algo es algo para estudiar y aprender. Es toda una fortuna contar con sus aportaciones.
Saludos!.
#1193
Cita de: McPene en 31 Octubre 2012, 12:44 PM
  -Aunque sea C++ quien usa por defecto <iostream.h>, ¿no debería de funcionar en C?
CitarNO. Pero al revés sí. Por ejemplo, puedes usar <stdio.h> en C++ ya que  C++ digamos que incluye al C como un subconjunto.
En cuanto que sabiendo C sabes C++ yo no diría tanto. C++ es, como te comenté antes una versión ampliada de C y eso le hace más "denso" a medida que avanzas.
Saludos!.
#1194
Puedes evitarte tanto casting sin más que introducir alguno de los números como decimales:
Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>



int main()
{
uint64_t segundos;
double minutos;
double horas;
double dias;
printf("Porfavor introduzca los segundos: \n");
scanf("%llu", &segundos);
while(getchar() != '\n')
;
minutos =  segundos/60.0;  /*<== fijate en el decimal*/
if (((int) minutos) != minutos)
printf("Numero entero de minutos: No\n");
else if (((int) minutos) == minutos)
printf("Numero entero de minutos: Si\n");
horas =  segundos/3600.0; /*<== fijate en el decimal*/
    if (((int) horas) != horas)
printf("Numero entero de horas: No\n");
else if (((int) horas) == horas)
printf("Numero entero de horas: Si\n");
dias = segundos/(3600.0*24);  /*<== fijate en el decimal*/
    if (((int) dias) != dias)
printf("Numero entero de dias: No\n");
else if (((int) dias) == dias )
    printf("Numero entero de dias: Si\n");
    dias = (int) segundos/(3600*24);
    horas = (segundos - (int) dias *3600*24)/3600;
    minutos = (segundos -(int) dias *3600*24 - (int) horas*3600)/60;
    segundos = segundos -(int) dias *3600*24 - (int) horas*3600- (int) minutos*60;
    printf("\nNumero de dias: %g  \n",dias);
    printf("Numero de horas: %g  \n",horas);
    printf("Numero de minutos: %g  \n",minutos);
    printf("Numero de segundos: %llu  \n",segundos);
getchar();
return 0;
}

Saludos!.
#1195
Programación C/C++ / Re: ejercicio en C
31 Octubre 2012, 07:42 AM
Cita de: tuket en 31 Octubre 2012, 00:14 AM
Me mola tu código leosansan.
Por cierto, ¿para que pones printf("\b")? ¿es por que te sale algún carácter raro?
En W7 sale un espacio en blanco después de imprimir los primeros caracteres, por eso tengo que eliminarlo. Por lo que comentas, en Linux no sucede eso, por lo que podrías eliminarlo.
#1196
Cita de: McPene en 31 Octubre 2012, 01:12 AM
Buenas!

El problema que tengo, es que al intentar compilar el código utilizando la librería <iostream>, me da error, cosa que con <stdio.h> no me ocurre.
(El mensaje de error es: No such file or directory).

CitarAsegurare al guardar el programa que sea con la extensión .cpp ya que por defecto lo hace con .c .lo que te daría origen a ese mensaje de error que comentas.
Saludos!.
#1197
Programación C/C++ / Re: ejercicio en C
30 Octubre 2012, 23:42 PM
CitarEspero que te sea útil. Prueba lo con números que es más visual la rotación:
Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   int i,j=0,k;
   char cadena [80];
   gets (cadena);
   k=strlen (cadena);
   puts("\n");
   while (k>=1)
           {
               for (i=k;i<=strlen (cadena);i++)
                   printf ("%c",cadena[i]);
               printf ("\b");
               for (j=0;j<k  ;j++)
                       printf ("%c",cadena[j]);
               j++;k--;puts("\n");
           }
   return 0;
}

Saludos!.
#1198
Cita de: Caster en 30 Octubre 2012, 18:45 PM
al principio he intentado hacerlo yo solo y no se si me acerque si quiera, y como no conseguia nada probe la solucion de leosansan, la copie y compile, y no da el resultado esperado
CitarDime en qué no funciona. Por ejemplo segundos=191115 da 2d  5h  5min  15s. Sin embargo, en el código te sigue fallando "numero de dias enteros" que da 2 cuando obviamente no es un número de dias enteros
Saludos!.
#1199
Programación C/C++ / Re: variables o no
30 Octubre 2012, 11:51 AM
CitarUna imagen vale más que mil palabras:
Código (cpp) [Seleccionar]
#include <stdio.h>

int main(void)
{
    int a=2;
    printf ("a=%d  ",a); /*<== a=2*/
    printf ("a++=%d   ",a++);/*<==se incrementará después: a=2*/
    printf ("a=%d   ",a); /*<==aquí esta incrementado a posteriori a=3*/
    printf ("++a=%d",++a); /*<==se incrementa antes a=4*/
    return 0;
}

Saludos!.
#1200
Programación C/C++ / Re: Vectores dinamicos
30 Octubre 2012, 11:17 AM
Cita de: latinoalfredo en 29 Octubre 2012, 22:31 PM

int *m3;
m2=(int*)malloc(9*sizeof(int));<== aqui deberia ir m3= y no m2=