• Viernes 8 de Noviembre de 2024, 17:31

Mostrar Mensajes

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


Temas - benekid

Páginas: [1]
1
C/C++ / Validar Fecha en C (struct)
« en: Sábado 6 de Febrero de 2010, 18:33 »
Saludos compañeros, tengo el siguiente codigo... pero no me funciona ! =S
Creo que lo tengo todo bien... pero no me compila (en Code::Blocks 8.02)

Y la verdad... no se que hacer... les dejo el code:

Código: Text
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5.  
  6. #define es_anio_bisiesto(y)  ((((y)%400)==0)||((((y)%4)==0)&&(((y)%100)!=0)))
  7.  
  8. struct date fecha;
  9.  
  10.  
  11. enum bool
  12. {
  13.     false = 0,
  14.     true = 1
  15. };
  16.  
  17. enum Mes
  18. {
  19.    Enero = 1,
  20.    Febrero = 2,
  21.    Marzo = 3,
  22.    Abril = 4,
  23.    Mayo = 5,
  24.    Junio = 6,
  25.    Julio = 7,
  26.    Agosto = 8,
  27.    Septiembre = 9,
  28.    Octubre = 10,
  29.    Noviembre = 11,
  30.    Diciembre = 12
  31. };
  32.  
  33.  
  34. int dias_en_el_mes (int y, int m)
  35. {
  36.     const int dias[12] = { 31, 28, 31, 30, 31, 30,
  37.                            31, 31, 30, 31, 30, 31 };
  38.    int resultado;
  39.  
  40.    resultado = dias[m-1];
  41.  
  42.    if ( m == Febrero && es_anio_bisiesto ( y ) )
  43.       resultado++;
  44.  
  45.    return resultado;
  46. }
  47.  
  48.  
  49. bool es_fecha_valida ( struct date fecha )
  50. {
  51.    if ( fecha.da_mon < Enero || fecha.da_mon > Diciembre )
  52.       return false;
  53.  
  54.    if ( fecha.da_day < 0 || fecha.da_day >=
  55.              dias_en_el_mes ( fecha.da_year, fecha.da_mon ) )
  56.       return false;
  57.  
  58.    return true;
  59. }
  60.  
  61. void main()
  62. {
  63.    struct date fecha1, fecha2;
  64.  
  65.    fecha1.da_day=1;
  66.    fecha1.da_mon=6;
  67.    fecha1.da_year=2006;
  68.  
  69.    fecha2.da_day=30;
  70.    fecha2.da_mon=2;
  71.    fecha2.da_year=2006;
  72.  
  73.    clrscr();
  74.  
  75.    if(es_fecha_valida(fecha1))
  76.       printf("La fecha1 es validan");
  77.    else
  78.       printf("La fecha1 NO es validan");
  79.  
  80.    if(es_fecha_valida(fecha2))
  81.       printf("La fecha2 es valida");
  82.    else
  83.       printf("La fecha2 NO es valida");
  84.  
  85.    getch();
  86. }
  87.  

Saludos y gracias

2
C/C++ / Validacion de datos en Estructuras, Funcion System y mas....
« en: Sábado 30 de Enero de 2010, 21:55 »
Saludos, les comento el problema que tengo.

Por una parte tengo este codigo que es para validar datos (maximo numero de caracteres, solo numeros, solo caracteres)
Código: Text
  1. //Validacion Codigo
  2. int codigo(int x, int y, int dimension, char aux[3])
  3. {
  4.    char caracter, linea[5];
  5.    int i;
  6.   posicion(x,y);
  7.         for(i=0; i<dimension; i++) printf(".");
  8.   i=0;
  9.   posicion(x,y);
  10. do
  11. { caracter=getch();
  12.   if(caracter==8 && i>0)
  13.       {
  14.       posicion(x-1,y); printf("."); i--; x--; posicion(x,y);  linea[i]=' ';
  15.       }
  16.  
  17.   if(caracter>=48 && caracter<=57)
  18.         {
  19.         linea[i]=caracter;
  20.         posicion(x,y);x++;
  21.         printf("%c",caracter); i++;
  22.         }
  23. }
  24. while(caracter!=27 && caracter!=13  &&  i<dimension);
  25.  
  26. return atoi(linea);
  27.  
  28. }*/
  29.  

para llamar a la funcion de ese codigo se hace mediante:

Código: Text
  1.  
  2. codigo(10,20,2)
  3.  
  4.  

Y luego tengo una estructura de datos, pues bien lo que quiero es pasar un campo de la estructura por ejemplo, antes de introducirlos en la propia estructura, como por ejemplo esto: (este code, lo que hace es pedir un codigo e introducirlo en la estructura, siempre y cuando se escriba algo)

Código: Text
  1.  
  2. do{ posicion(1,5); printf("Codigo: ");    gets(info_datos[i].codigo);   } while(!*info_datos[i].codigo);
  3.  
  4.  

Pues lo que quiero exactamente es... que antes de que entren los datos en  - info_datos.codigo -  pase por la funcion de validar codigo que tenemos arriba, lo he intentado pero no hay manera, siempre error :S

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Para no crear mas temas pongo aqui algunas dudas mas que tengo.

Algun listado de las funciones de system(); he estado buscando, pero solo conozco algunas como estas:

ejem: system("cls"); system("pause"); system("color XX"); system("mkfile"); system("notepad.exe" 'test.txt'); system("title X");


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ultima duda, ¿hay alguna forma de poner por defecto la entrada de datos en mayuscula y bloquear los datos en miniscula?
Es decir, alguna funcion que nada mas iniciar el programa te active las MASYUSCULAS y no te deje cambiar a minusculas

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Saludos y muchisimas gracias

3
C/C++ / Abrir archivo .txt en bloc de notas!
« en: Sábado 30 de Enero de 2010, 19:49 »
Saludos, miren quiero agregar un sencillo bloque de ayuda, y me gustaria saber si hay alguna forma de ejecutar un .txt
Pero abrirlo en un bloc de notas, no en la pantalla de ms-dos

Es decir, he hecho este code:

Código: Text
  1.  
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #include <stdio.h>
  5.  
  6. int main()
  7. {
  8. FILE *fichero;
  9. char letra;
  10. fichero = fopen ("test.txt","r");
  11. if (fichero==NULL)
  12. {
  13. printf( "No se puede abrir el fichero.n" );
  14. exit(1);
  15. }
  16. printf( "Contenido del fichero:n" );
  17. letra=getc (fichero);
  18. while (feof (fichero)==0)
  19. {
  20. printf( "%c",letra );
  21. letra=getc(fichero);
  22. }
  23. if (fclose (fichero)!=0)
  24. printf( "Problemas al cerrar el ficheron" );
  25. return 0;
  26. }
  27.  
  28.  
  29.  

Y eso me abre el fichero desde el navegador, per lo que de verdad necesito es abrir dicho fichero desde bloc de notas.
Saludos y gracias

4
C/C++ / texcolor y cprintf, imposible en codeblocks!!!
« en: Jueves 28 de Enero de 2010, 15:51 »
Saludos, bueno, revisando samples de codigos que hay por ahi, me dado cuenta de que en muchos estan:

texcolor
cprintf
cscanf
gotoxy


etc...

El caso, es que copio y pego el codigo el CodeBlocks y resulta que no me compila, me dice k no estan declaradas texcolor, cprintf, etc...

¿?
Y tengo la libreria conio.h (al menos codeblocks no me da problemas al incluirla)
Y la verdad... no se que hacer

Saludos y gracias

5
C/C++ / Mover texto por pantalla y Menú
« en: Jueves 28 de Enero de 2010, 03:34 »
Saludos y encantado de estar en esta gran comunidad!

Antes que nada voy a especificar que IDE utilizo para que no haya dudas
Code::Blocks 8.01 Windows Vista

PRIMERA DUDA:

Estoy creando un programita y quiero que los creditos de este (creando un apartado) salgan en modo marquesina (HTML) es decir que se muevan.
Generando una posicion X y una Y (creando un cuadrado) quisiera que este texto se moviera dentro de este recuadro (de derecha a izquierda) y que vayan saliendo las letras por el borde del cuadrado y desaparezcan por el borde contrario...
Y la verdad me ha pillado bastante desprevenido este sistema...
=S
(Todo en ventana estilo MS-DOS)

SEGUNDA DUDA

Estoy haciendo un programita muy sencillo un TPV (terminal punto de venta) y me gustaria a modo de mejora del programa mejorar un poco el menu, hacerlo un poco mas grafico.
Me gustaria poner colores y sombras al menos (he leido algo sobre PDCurses, pero no he encontrado ningun tutorial que lo explique claramente) es decir, que por ejemplo en vez de utilizar los botones del menu utilizara las FLECHAS para moverse por pantalla y que al pasar por la opcion elegida esta se ponga en sombreado negro y letras blancas y que cuando pases a otra, esta vuelva a estar las letras de color negro (fondo de pantalla es blanco) no se si me explico bien
O meterle algun tipo de icono o algo que lo haga, nose... mas especial
(Todo en ventana estilo MS-DOS)
=S

Muchas gracias!
;)
 :beer:

Páginas: [1]