elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10
51  Programación / Programación C/C++ / Re: aprender c# en: 14 Mayo 2013, 14:27 pm
Como es un lenguaje de microsoft seguramente en la academia virtual de microsoft, que ofrece cursos online gratuitos, haya alguno sobre c sharp.

http://www.microsoftvirtualacademy.com/
52  Programación / Programación C/C++ / Re: Ayuda con un programa en: 13 Mayo 2013, 18:02 pm
Lo que me faltaba por ver.
53  Programación / Programación C/C++ / Re: Sonido en lenguaje C [CONSULTA] en: 12 Mayo 2013, 23:21 pm
Hace poco me encontre con la existencia de un lenguaje de programacion exclusivo para temas de audio:
http://chuck.cs.princeton.edu/

Pero si lo que buscas son librerias de C puedes usar la archiconocida SDL:

http://www.libsdl.org/
54  Programación / Programación C/C++ / Re: alguien que me pueda ayudar con este problema? en: 11 Mayo 2013, 22:55 pm
Para resolver el problema solo tienes que pasar a codigo el texto de tu enunciado.
55  Programación / Programación C/C++ / Re: Pregunta sobre archivo de cabecera en: 10 Mayo 2013, 18:30 pm
Exacto a esa última parte me refiero, pero entonces si incluimos la cabecera, y la cabecera tiene de forma separada la definicion en otro archivo de código fuente (Qué no es el main), el le da el cuerpo a esas funciones de la cabecera y luego con añadir la cabecera basta? Porqué ya el otro archivo de código fuente le dio el cuerpo no?. Espero haberme explicado.

Si la definicion se encuentra en un archivo distinto de codigo fuente, en el propio archivo de cabecera podriamos incluir ese archivo de codigo fuente. Incluso tambien se podria incluir ese archivo de codigo fuente, desde nuestro archivo donde se aloja la funcion main(). Asi solo tendriamos que compilar al archivo donde se encuentra el main para poder tener nuestro programa listo.

Me he expresado mal cuando en mi anterior post te dije de incluir solo la cabecera, a lo que me queria referir es a incluir tanto la cabecera como su definicion. Y para ello hay varias formas de hacerlo como bien te ha señalado 0xDani. Yo la opcion que mas me gusta es compilar por una parte el archivo de definicion a codigo objeto, luego desde el archivo donde tenemos el main incluimos el archivo de cabecera en el cual solo estan los prototipos para luego finalmente compilar el archivo del main enlazando con el codigo objeto del archivo de definicion.
56  Programación / Programación C/C++ / Re: Pregunta sobre archivo de cabecera en: 10 Mayo 2013, 02:36 am
Cuando en un programa incluimos un archivo de cabecera mediante la directiva  #include y luego lo compilamos, el preprocesador de C lo que hace realmente es copiar las lineas de codigo del archivo de cabecera e insertarlo en nuestro codigo fuente. Cuando en el "main" añades la cabecera, lo que estas haciendo es copiar literalmente el contenido de esa cabecera en tu "main". Y por lo tanto, podras usar las funciones que hubiesen en el archivo de cabecera sin necesidad de prototiparlas y definirlas porque ya estan prototipadas y definidas. Con "main" me refiero al archivo de codigo fuente donde se encuentra la funcion main().

Dicho de otro modo mas sencillo. Si por ejemplo, en un archivo de cabecera escribes una funcion y luego añades ese archivo de cabecera a tu programa es como si la hubieras escrito directamente en tu programa.

Creo que es posible que a lo que se puede estar refiriendo tu profesor es a separar la interfaz de la implementacion es decir, separar los prototipos de funciones de sus definiciones. Un ejemplo de lo que te quiero decir, imagina que tenemos lo siguiente:

- Un archivo de cabecera el cual, solo contiene los prototipos de las funciones. Este archivo seria la interfaz.
- Un archivo de codigo fuente que solo contiene las definiciones de las funciones. Este seria la implementacion.
- Y otro archivo de codigo fuente en el que se encuentra nuestra funcion main().

Este ultimo archivo de codigo fuente seria nuestro programa, y en el que con solo añadir el archivo de cabecera ya podremos usar perfectamente todas las funciones que haya dentro del aychivo de cabecera.
57  Programación / Programación C/C++ / Re: m pueden ayudar en esto en: 9 Mayo 2013, 20:16 pm
Habria que estandarizar el lenguaje, cuando lo hagan ya podras sacar tu traductor ISO-choni español jajaj.
58  Programación / Programación C/C++ / Re: Problema con una funcion en: 9 Mayo 2013, 03:20 am
mi pregunta, ¿Hacen la misma funcion?¿y que diferencia hay en colocar un fflush(stdin) y un fflush(stdout). Yo pues la verdad, me gusta experimentar metiendo codigos y ver como interactuan, pero la verdad esque no veo que me altere ni me modifique el programa si las utilizo o no...

Podemos pensar a priori que fflush(stdin) limpia el buffer de entrada del stdin (teclado) ya que por su parte fflush(stdout) limpia el buffer de salida enviandolo al stdout (pantalla), pero no es asi ya que fflush(stdin) no esta definido en el estandar y su comportamiento es algo totalmente imprevisible. En la chincheta de este foro lo explican mas detalladamente:
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

PD: esta bien que en los codigos utilize quebrados(fracciones), o debería utilizar decimales, lo digo en el caso de la segunda funcion en donde debo validar el valor ingresado por el usuario

Ese -1/2 que tienes en tu codigo, el lenguaje C lo interpreta como una division entre dos numeros enteros (tipo int) y su resultado debera ser un numero entero (de tipo int). Si el resultado de la operacion matematica contiene decimales C lo redondea para convertirlo en un numero entero. En este caso el lenguaje C  transforma tu -1/2 a 0. Esto lo puedes comprobar facilmente:
Código
  1.  if(0 == (-1/2))
  2.  printf("cierto");
  3.  else
  4.  printf("falso");

Lo mas sencillo seria que cambiases el -1/2 por su valor de -0.5. Otra opcion que tambien tienes, seria sustituir esa division entre numeros enteros (tipo int) por una division entre numeros decimales (tipo float), solo has de añadirle una parte decimal es decir, en lugar de escribir -1/2 escribes -1.0/2.0. Para nosotros los humanos -1/2 es lo mismo que -1.0/2.0 pero para el lenguaje C no lo es.


59  Programación / Programación C/C++ / Re: Problema con una funcion en: 8 Mayo 2013, 20:26 pm
jaja no sabia yo eso de poner un espacio en blanco dentro del scanf() para limpiar el \n en el buffer del stdin. Lo he probado y funciona, es mucho mas sencillo que añadir:
Código
  1. while(getchar()!='\n');

Al codigo pero bueno, yo nunca dejare de usarlo xD.
60  Programación / Programación C/C++ / Re: Problema con una funcion en: 8 Mayo 2013, 19:05 pm
Has de vaciar el buffer del stdin despues de usar scanf() en la definicion de tu funcion int menu(void). La forma mas sencilla es añadiendo esta linea justo despues del scanf():

Código
  1. while(getchar()!='\n');

Otras cosa ese switch con un solo case lo puedes quitar del codigo asi como la variable float valor que no la usas para nada. Yo la funcion main() siempre la declaro como int main() y con su return 0, en ver de void main() es costumbre mia. Y la libreria de conio.h siempre intento no usarla tiene funciones que a veces pueden ser problematicas.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //Prototipos
  5. int menu(void);
  6. int semana(char);
  7. //Programa Principal
  8.  
  9.  
  10. int main()
  11. { int opcion;
  12.  char dia;
  13.  
  14.  while((opcion=menu())!=2)
  15.    {
  16. system("cls");
  17.            printf("\nIngrese la inicial del dia: ");
  18.            scanf("%c",&dia);
  19.            printf("\nEl dia de la semana que le corresponde es el %d\n",semana(dia));
  20. system("pause");          
  21. }
  22.  return 0;
  23. }
  24.  
  25.  
  26. //Funciones
  27. int menu(void)
  28. { int opc;
  29.  system("cls");
  30.  printf("\t\t\tMENU");
  31.  printf("\n1...Para los dias de la semana");
  32.  printf("\n2...SALIR");
  33.  do
  34.  { printf("\n\nIngrese su opcion y presione enter: ");
  35.    scanf("%d",&opc);
  36. while(getchar()!='\n'); //limpieza del buffer del stdin
  37.    if(opc<1 || opc>2)
  38.    { printf("\nHa ingresado un valor incorrecto!!!");
  39.      getchar();
  40.    }
  41.  }while(opc<1 || opc>2);
  42.  return opc;
  43. }
  44.  
  45. int semana(char fdia)
  46. { int fndia = 0;
  47.  switch(fdia)
  48.  { case 'd': fndia=1;
  49.              break;
  50.    case 'l': fndia=2;
  51.              break;
  52.    case 'm': fndia=3;
  53.              break;
  54.    case 'M': fndia=4;
  55.              break;
  56.    case 'j': fndia=5;
  57.              break;
  58.    case 'v': fndia=6;
  59.              break;
  60.    case 's': fndia=7;
  61.              break;
  62.  }
  63. return fndia;
  64. }
  65.  
Páginas: 1 2 3 4 5 [6] 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines