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ú

Temas - theluigy13etv

#46
Hola a todos, quería que me ayuden en este pequeño problemita que tengo. Ya me instalé el JDK de Java y se encuentra en la siguiente dirección:

C:\Archivos de programa\Java\jdk1.7.0_03\bin

Todavía no he configurado el path. Quiero primero aprender a compilar y ejecutar manualmente mis aplicaciones.

Utilicé el Bloc de Notas y el código fuente es el siguiente:

public class Bienvenido1 {

   //El método main empieza la ejecución de la aplicación en Java

   public static void main(String args[]) {

       System.out.println("Bienvenido a la programación en Java!");

   }// Fin del método main

} //Fin de la clase Bienvenido1


Este código fuente lo guardé en el disco C: con el siguiente nombre: "Bienvenido1.java".


Ahora abrí el Símbolo del Sistema de WindowsXP y primero hice el proceso de compilar. Para esto ingresé hasta la carpeta bin:

CitarC:\Archivos de programa\Java\jdk1.7.0_03\bin>

Una vez allí escribí:

Citarjavac c:\Bienvenido1.java

Una vez hecho esto se generó el bytecode o archivo llamado Bienvenido1.class en el disco C:

Ahora para proceder a ejecutar el bytecode mediante la máquina virtual de java escribí lo siguiente:

Citarjava c:\Bienvenido1.class

Al hacer lo anterior me sale el mensaje de error siguiente:
CitarError: no se ha encontrado o cargado la clase principal c:\Bienvenido1.class

También intenté escribiendo:

java c:\Bienvenido1
CitarError: no se ha encontrado o cargado la clase principal c:\Bienvenido1

java Bienvenido1
CitarError: no se ha encontrado o cargado la clase principal Bienvenido1

Luego intenté dirigirme al disco C: subiendo de nivel mediante el comando cd.., una vez que me ubiqué en el disco C: (que es donde se encuentra mis archivos Bienvenido1.java y Bienvenido1.class) escribí lo siguiente:
Citar
C:\>
C:\>java C:\Bienvenido1.class

Y me sale el error siguiente:
CitarError: could not open 'C:\Archivos de programa\Java\jre7\lib\i386\jvm.cfg'

¿Alguien me puede ayudar a ejecutar mi programa manualmente (corríjanme en qué me estoy equivocando)?

(Cuando lo hago mediante el NetBeans si se puede todo normal, pero también necesito aprenderlo a hacerlo manualmente, luego configuraré la variable de entorno path de windows)



#47
Hola a todos. Esta es una pregunta un poco teórica. Recién estoy iniciándome en esto de la programación en Java y estoy empezando por leer como funciona todo esto.

Les pongo en forma resumida mis conclusiones y luego mi duda que espero sea resuelta, muchas gracias por adelantado.  ;D
Por lo que voy leyendo, veo que todo programa en Java está formado por clases. (Las clases agrupan a su vez a métodos y atributos). Las clases que forman parte de un programa pueden ser creados por el programador o pueden ser clases ya pre-existententes (predefinidas). Estas clases predefinidas se agrupan en grupos llamados Bibliotecas de clases de Java, también conocido como APIs de Java. Según esto, veo que existen varias Bibliotecas o varias APIs de Java (corríjanme si estoy en un error)

Por otro lado leí en otro libro que cuando varias clases están estrechamente relacionadas entre sí se pueden organizar en paquetes (packages).

Entonces con esos conceptos creo que concluyo que UNA BIBLIOTECA DE CLASES DE JAVA y UN API DE JAVA y UN PAQUETE DE JAVA son lo mismo.

Ahora mi duda surge cuando en otro texto leo lo siguiente:

Existe una gran variedad de paquetes ya definidos en la Biblioteca de clases de Java como subpaquetes de los paquetes java y javax.  
?¿?¿?¿?¿?¿?¿?¿?¿  :huh: :huh: :huh: :huh: :huh: :huh:

Si es que paquete y biblioteca son lo mismo entonces el texto me parecería algo ambiguo??¿?¿?¿

Existe una gran variedad de Bibliotecas de clases de Java ya definidos en la Biblioteca de clases de Java como subBibliotecas de clases de Java de los paquetes java y javax.  
?¿?¿?¿?¿?¿?¿?¿?¿  :huh: :huh: :huh: :huh: :huh: :huh:
#48
Hola a todos, tengo un problema con un archivo. Ayer me descargué el JDK de Java, y aparte el NetBeans, lo instalé normal y estaba funcionando.

Hoy quise desinstalar el JDK para volverlo a instalar pero en vez de desinstalarlo usando la herramienta "Agregar o quitar programas" del Panel de Control de Windows, lo que hice fue eliminar todos los archivos manualmente, algunos archivos no se podían eliminar así que como tengo un programa llamado Unlocker, fue este que me permitió eliminar todos los archivos.

Ya sé que no era la manera correcta de desinstalar un programa. Luego, como vi que el nombre programa seguía apareciendo en la lista de programas de la ventana "Agregar o quitar programas", lo que hice fue seleccionar el programa que figuraba en la lista y hacerle click en la opción Quitar, pero me salía un mensaje de error, cómo que necesitaba un archivo para poder eliminarlo (desinstalarlo), el archivo se llama jdk1.7.0_03.msi y el error que me aparece es Error 1316.

Lo que intenté fue reinstalar el JDK pero me sigue saliendo el mismo error, parece que necesita ese archivo para poder reinstalar o desinstalarlo. Ahora no sé cómo solucionarlo, no puedo ni instalarlo, ni desinstalarlo. ¿Alguien que me pueda ayudar?
#49
Hola, hay algunas cosas que aún no sé como se hace en un comboBox. Por ejemplo, tengo un comboBox con dos opciones las cuales las he agregado en fase de diseño. Ahora, el texto que aparece está vacío, pero quiero que cuando el formulario se presente, aparezca elegida o seleccionada por defecto la primera de las opciones de la lista, no sé si me dejo entender. Porque si no lo hago, al cargar el formulario, el comboBox aparece en blanco y tengo que elegir una opción manualmente con el mouse. Lo que quiero es que ya aparezca seleccionado una de las opciones.

Otro problema que tengo es que no sé cómo hacer para que no se pueda escribir ningún texto en el ComboBox sino solamente hacer clic y elegir. Ya que cuando hago click, aparece el cursor parpadeante parecido a un textBox. Lo que intenté hacer es mediante un procedimiento en el evento KeyPress hacer algo así como:
       KeyAscii = 0
Con esto logré que no se pueda escribir ningún texto, pero no que deje de aparecer el cursor parpadeante. Quiero que cuando haga click en cualquier parte del ComboBox, defrente se despliegue la lista de opciones para elegir. ¿Alguien tiene alguna idea?
#50
Hola a todos. La verdad que no encontré un foro en donde pueda poner mi duda. Lo que sucede es que no puedo entrar a la página web siguiente:
c.conclase.net

Hace tiempo si podía hacerlo, pero ahora no. En la pc aparece el mensaje: "Esta pagina web no está disponible". Hay muchos que sí pueden entrar. Incluso, cuando hago preguntas en el foro de programación acerca del lenguaje c y c++. Me recomiendan esa página web, pero en mi máquina no se abre. ¿Alguien sabe cómo puedo solucionarlo?
#51
Hola a todos. Estoy utilizando un software llamado Screen Capturer que me permite grabar mi pantalla. Lo que quiero hacer es una especie de tutorial sobre como usar un pequeño software que he elaborado en visual basic. Pero tengo dos inconvenientes. El programa cuando me guarda el video, lo hace con un peso de 7 GB y eso que mi video solo dura 3 minutos. Ahora, cuando lo edito en Windows Moviemaker el video pierde muchísima calidad haciendo que se vean borrosas las letras de los íconos del escritorio y varios botones. ¿Alguien sabe cómo soluciono esto? Quiero subir el video a youtube.
#52
Hola a todos. Últimamente me estoy viendo en la necesidad de comprar una notebook pues en la universidad necesito realizar muchos trabajos en diferentes lugares y a diferentes horas del día. Quisiera saber qué marcas me recomiendan y algunas características. Yo, tengo pensado comprarme una notebook que tenga mínimo 4GB de RAM, aunque podría ser 8GB, con un disco duro de mínimo 500 GB. En mi país el procesador de la mayoría de notebooks es el Intel Core i5 . Respecto al tamaño de la pantalla no sé en qué tamaños existen y cuanta memoria ¿Por eso quisiera sus recomendaciones?. Además quiero que me dure y que no quede obsoleto de acá un par de meses.  :rolleyes:

El uso que le quiero dar es variado, lo voy a necesitar para programación en Java, .NET, C++, C, también para diseño web y gráfico como Corel Draw, Illustrator, Photoshop,  (Si es que se puede), para editar videos (Cantasia, Sony Vegas),  quisiera que tenga muy buen audio y video para poder en mis tiempos de relajo ver películas y jugar los mejores juegos de internet. Muchas gracias por los que comentan.  ;-) ;-) Que sea la mejor laptop para todo. Me importa mucho el gráfico.

PRESUPUESTO MÁXIMO: 980 Euros
[/u]
#53
Hola a todos. Quisiera saber si alguien sabe cuál es el formato de video que reconocen los reproductores de DVD porque tengo pensando bajar unos videos de youtube y grabarlos en un disco CD o DVD para luego verlo en mi reproductor. ¿Existe algún programa? o directamente lo copio y el reproductor lo reconoce?
#54
Hola a todos. Quería hacerles a todos una pregunta. Resulta que estoy guardando en un disco CD mis videos y algunas imágenes y uno que otro programa. Ahora he visto que mi profesor en sus discos, cuando los pone en la computadora, automáticamente aparece una pantalla con opciones en donde cuando hace click en alguna opción, automáticamente se abre, por ejemplo, podría tratarse de un video o de alguna imagen o algún programa guardado en su CD. Entonces me imaginé que eso se puede hacer con algún programa. ¿Alguien me puede recomendar uno?
#55
CitarEl lenguaje C es fruto de un lenguaje de programación anterior, el lenguaje B, desarrollado por Ken Thompson, en los Laboratorios Bell en 1970, con la idea de recodificar el sistema operativo UNIX que, hasta esa fecha, se programaba directamente en ensamblador, con el inconveniente de estar vinculado a máquinas concretas (según el juego de instrucciones de cada máquina). Por tanto, se hacía necesario un lenguaje que permitiese al programador abstraerse de la capa hardware y conseguir una mayor portabilidad del código, algo que se realizó en B (basándose en el BCPL de Martin Richard de 1967).

Siempre, en todos los textos que traten acerca del lenguaje C, encuentro que hacen referencias al lenguaje ensamblador, y de que el lenguaje ensamblador depende de la máquina. ¿Por qué depende de la máquina?...Además que el lenguaje C es portable. ¿Alguien que explique un poco más esto?
#56
Hola a todos, he estado buscando en internet que para generar el archivo ejecutable de un proyecto en Visual Basic es a través del menú Archivo/Generar Archivo.exe
Luego de eso, el programa genera un único fichero con extensión .exe Hasta allí todo bién, el programa me funciona muy bien (en mi computadora, aún no lo pruebo en otra PC). Pero he estado leyendo que este único archivo no es suficiente para que funcione en otras computadoras (que tengan windows), que es necesario otros archivos con extensión DLL, OCX, etc etc. En mi caso, mi programa a aparte del ejecutable, hago uso de una carpeta de donde se van jalando varias imágenes, además estoy usando algunas funciones que encontré en internet como por ejemplo, para lograr que un formulario aparezca transparente, algo así como:

Código (vb) [Seleccionar]

Private Sub Form_Load()
   SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, WL_EXSTYLE) Or WS_EX_LAYERED
   SetLayeredWindowAttributes hWnd, 0, 0, LWA_ALPHA
End Sub


Creo que a ese código de arriba forma parte de la API de windows. Mi duda es si es que mi programa para funcionar en cualquier computadora necesita archivos adicionales o solo basta con el único archivo ejecutable generado?
#57
Hola a todos,  :rolleyes: , ya estoy a punto de terminar mi programa y necesito un ícono para mi ejecutable, en internet he encontrado varios pero lo malo es que cuando lo pongo en vista en miniatura el ícono se pixelea o no se ve muy bien. He leído que hay íconos de 32x32 , 64 x 64 , etc, y quisiera saber a cuál tipo pertenecen esos íconos por ejemplo de microsoft word o de los programas conocidos que son bien claritos y aún en vista en miniatura no se deforman sino que conservan su calidad. Y de paso otra pregunta ¿Puedo diseñar íconos en Corel Draw? ¿Qué programa me recomiendan para hacer íconos? ¿Alguna web para descargar íconos ya diseñados?
#58
No recuerdo dónde, por más que lo intento había leído que se podía hacer un programa en dónde únicamente permita abrirlo una sola vez de manera que no permita que se abran varios a la vez, sé que lo leí pero ahora no lo encuentro, ¿Alguien sabe si es posible hacer esto en VB6? Lo necesito para un programa, gracias.  ;)
#59
Hola a todos, leí en internet que se les llama onironautas a aquellas personas que adquieren lucidez en sus sueños y por lo tanto pueden controlarlo y realizar cosas maravillosas. En mi caso no puedo controlar mis sueños con voluntad propia, pero si me ha pasado que a veces me doy cuenta que estoy soñando y me pongo a volar, este es una de mis actividades favoritas. Quisiera que algunos de ustedes me compartan sus experiencias, y cuáles serían las actividades que les gustaría hacer si lograran esa lucidez.  ;D
#60
Mi programa para hacer el test de preguntas ya está armado. Ahora necesitaría la idea de todos para terminar mi programa. La preguntas del test algunas incluyen imágenes y otras no. Las que incluyen imágenes son aquellas preguntas que piden por ejemplo reconocer qué nombre tiene. Para eso hay tres alternativas y se contesta con las teclas 1, 2, 3. Cuando se pasa a la siguiente pregunta (en otra pantalla completa) la imagen desaparece porque la pregunta ya fue contestada. Y se pasa a la siguiente pregunta con su correspondiente imagen. (Si es que la pregunta que sigue es una pregunta que no necesita imagen, entonces, la imagen no se muestra)

Lo que hice fue crear un arreglo de Bytes que almacene 1 cuando la pregunta es con imagen y 0 cuando la pregunta es sin imagen. Para las imágenes estoy usando el control Picture. A parte cree otro arreglo de String en donde almaceno la dirección de la imagen en la computadora.


(Mi problema viene a partir de este punto)
Luego en el código, cada vez que paso a la siguiente pregunta, verifique si la pregunta tiene imagen (1) o no lo tiene (0)

Si es que lo tiene, hago algo parecido como:

Picture1.Picture = LoadPicture("Dirección de la imagen")

Pero más adelante pienso copiar este programa a un CD y pasárselo a mis amigos, pero en ese caso, la dirección de las imágenes cambiaría y no se podría cargarlas. Lo que pensé fue guardar todas las imágenes en una carpeta que vaya junto con el programa en el CD, y jalar las imágenes de esa carpeta. Pero dependiendo de la computadora, algunas tienen la unidad del CDROM en "D : \" otros en "E : \" y allí habría un problema. ¿Alguien tiene alguna otra idea?
#61
Hola a todos, estoy aprendiendo a usar la función Rnd y Randomize, y quise llenar un arreglo con números desde el número 1 hasta el 40 en forma desordenada, es decir, generar dichos números mediante la función pero que no se repitan ni uno solo. Mi código es el siguiente, pero no sé porqué me genera números aleatorios repetidos, creo que algo está mal pero no lo encuentro:


Dim N, M, Al As Integer
      Dim Repite As Boolean
      Repite = False
      Randomize
         If Azar = "Sí" Then
            Aleatorios(1) = Int(40 * Rnd + 1)
            For N = 2 To 40
               Do
                  Al = Int(40 * Rnd + 1)
                  For M = 1 To N - 1
                     If Al = Aleatorios(M) Then
                        Repite = True
                     Else
                        Repite = False
                     End If
                  Next
                Loop While Not (Repite = False)
                Aleatorios(N) = Al
                MsgBox Al
            Next
         Else
            For N = 1 To 40
               Aleatorios(N) = N
            Next
         End If
#62
Hace poco he estado pensando en hacer un programa en Visual Basic 6.0 en el que vaya mostrando en pantalla completa una pregunta con sus tres alternativas. El usuario solo puede contestar usando las teclas 0, 1, 2, 3. La tecla 0 sirve para pasar a la siguiente pregunta y dejar la pregunta actual para contestarla después.

La idea que tuve fue crear un arreglo de Strings en el que almacene las preguntas. Otro arreglo de varias filas y tres columnas de String que almacena las 3 alternativas correspondiente a cada pregunta. También un Arreglo de Enteros que almacene la respuesta correcta correspondiente a cada pregunta.

Mi problema surge a partir de ahora. En el formulario en el que van a ir apareciendo las preguntas he insertado etiquetas, y pensé que mediante la propiedad Caption iba a ir mostrando las preguntas correspondientes a cada pregunta. También mi programa tenía un cuadrito picture box que se ponía rojo si la pregunta era mala y verde si la pregunta era contestada correctamente.

Ahora, he usado una estructura repetitiva for de la siguiente manera:

Código (vb) [Seleccionar]
For i = 1 To 40

Pregunta.Caption = i         '// Numero de pregunta
Enunciado.Caption = Preg1(i)     '// El enunciado de la pregunta
Alter1.Caption = Resp1(i, 1)       '// La alternativa 1, 2, 3
Alter2.Caption = Resp1(i, 2)
Alter3.Caption = Resp1(i, 3)

If Not (KeyCode >= 48 And KeyCode <= 51) Then   '// solo debe reconocer 0, 1, 2, 3
    KeyCode = 0
Else
    Respuesta = KeyCode - 48
    If Respuesta = R1(i) Then
        Picture2(i).BackColor = vbGreen
    Else
        Picture2(i).BackColor = vbRed
    End If
End If



Mi duda es que no sé en qué evento poner dicho código, pues lo intenté en Keypress y vi que no aparecieron las preguntas una por una sino todas al porrazo y me mandó directamente la pregunta 40. Lo que quisiera es que el programa por cada pregunta vaya esperando a que presione una tecla y luego recien comparar con la respuesta y pintar el cuadrito según sea correcto o incorrecto. Lo de pintar el cuadrito no es problema, solo quiero saber en qué evento debo poner el código.
#63
He leído que se programaba con unos y ceros y que ese lenguaje se llama Código Máquina. Pero, no lo entiendo. Al leer eso me imagino una computadora en donde hay un teclado con dos botones, el cero y el uno. Luego el programador va ingresando el cero y el uno. Y de forma mágica surge el programa deseado. ¿Alguien me aclara esta idea?
#65
Foro Libre / ¿Megaupload volverá a funcionar?
22 Febrero 2012, 04:05 AM
Si se acaba la Ley Sopa, ¿Megaupload volverá a funcionar?. ¿Los archivos fueron eliminados totalmente o hay alguna posibilidad que permanezcan guardados? ¿Alguien tiene alguna idea al respecto?
#66
Hola a todos. Tenía entendido que en el Lenguaje C los archivos de cabecera que son incluidos en las directivas del pre-procesador de C terminaban en .h por ejemplo:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>


También, he visto que en C++ ya no deben de terminar en .h . Por ejemplo, cuando programo usando el IDE Dev c++ o Code::Blocks, incluyo para utilizar los objetos cin y cout, a la cabecera <iostream> sin la h. Y cuando necesito utilizar funciones de la biblioteca estándar de C pero en C++, incluyo sus respectivos archivos de cabecera pero con una "c" al inicio. Ejem:
#include<cstdio>
#include<cstdlib>
..

Ahora, mi duda surge en que he visto algunos textos de C++ en internet en el que las cabeceras siguen terminando en .h. Por ejemplo en Borland C++ incluyen la cabecera <iostream.h>.

Quería saber entonces ¿Cuál es la forma correcta? Muchas Gracias!!
#67
Hola a todos, estuve navegando por internet y encontré un video en youtube en el que dicen que Anonymus en realidad es una creación de la CÍA para usarlos como excusa para así crear las distintas leyes con el objetivo de censurar la internet. No sé que opinen ustedes respecto a esto. Les dejo el enlace:

http://www.youtube.com/watch?v=jc-TEvKk1Mc&feature=related
#68
Últimamente he visto que en varios códigos en vez de simplemente hacer:

int main(){
  return 0;
}


hacen:
Citarint main(int argc, char *argv[]) {

Quisiera saber el motivo!! Muchas gracias
#69
PRIMERA PREGUNTA:
Estaba practicando en Dev-C++ 4.9.9.2 y se me ocurrió implementar un mismo programa en diferentes lenguajes: C y C++. El programa consiste en calcular el factorial de un conjunto de números desde 0 hasta n, donde n lo da el usuario.

El código fuente en C++ para el programa lo guardé en un archivo con extensión .cpp y es el siguiente:



#include <iostream>

using namespace std;

int main(){
   int n;
   long F;
   do{
      cin>>n;
      if(n<0) cout<<"El numero es incorrecto!"<<endl;
   }while(n<0);
   for(int j=0; j<=n; ++j){
      F=1;
      if(j>1){
         for(int i=1;i<=j;++i){
            F*=i;
         }
      }
      cout<<j<<"! = "<<F<<endl;
   }
   return 0;
}



El código fuente en C para el mismo programa lo guardé en un archivo con extensión .c y es el siguiente:



#include <stdio.h>

int main(){
   int n, i, j;
   long F;
   do{
      scanf("%i", &n);
      fflush(stdin);
      if(n<0) printf("El numero es incorrecto!\n");
   }while(n<0);
   for(j=0; j<=n; ++j){
      F=1;
      if(j>1){
         for(i=1; i<=j; ++i){
            F=F*i;
         }
      }
      printf("%d! = %ld\n", j, F);
   }
   return 0;
}



Lo compilé y si me funcionó. Luego lo que hice fue revisar cuánto pesaba cada uno de los archivos ejecutables generados luego de compilarlos y me dio los siguientes resultados:

El primer ejecutable (del programa hecho en C++) pesaba 464 KB y el segundo ejecutable (del programa hecho en C) pesaba  15.4 KB. Me pregunto entonces:  ¿Tanto es la diferencia de 448.6 KB? ¿Alguien sabrá como explicar esto?

SEGUNDA PREGUNTA:

Quise averiguar el tamaño de los tipos de datos con los que trabajaba en mi compilador. Así que primero en un archivo .cpp escribí el código siguiente:


#include <iostream>

using namespace std;

int main(){
  cout<<sizeof(short)<<endl;
  cout<<sizeof(int)<<endl;
  cout<<sizeof(long)<<endl;
  cout<<sizeof(long long)<<endl;
  return 0;
}


Y me arrojó de salida lo siguiente:

Citar
2
4
4
8

Si es que el tipo int y el tipo long ocupan el mismo tamaño en la memoria, entonces ¿de qué me sirve el long si me basta el int?

Algo similar hice pero en un archivo .c


#include <stdio.h>

int main(){
  printf("%hd\n", sizeof(short));
  printf("%d\n", sizeof(int));
  printf("%ld\n", sizeof(long));
  printf("%ld\n", sizeof(long long));
  return 0;
}



Y me arrojó de salida lo siguiente:

Citar
2
4
4
8

Entonces mi pregunta aquí es la misma: ¿de qué me sirve el long si me basta el int?

Y otra: ¿No sabía que el tipo long long existía en C?

Espero sus comentarios, sus respuestas y sus críticas.
#70
Hola a todos. Estaba practicando un problema que tomaron en la competencia de programación de la ACM. El examen pertenece a la fase regional en América del Sur. La dirección es la siguiente: http://livearchive.onlinejudge.org/external/23/2389.pdf

Básicamente el problema consiste en ingresar numero n. (0<n<50000) No es necesario validar. Y el programa debe de determinar si dicho número es palíndromo (capicúa) en alguna base b (la base  2<=b<=16). El programa finaliza si el número n ingresado es 0
.

EJEMPLO DE ENTRADA:
17
19
0

EJEMPLO DE SALIDA:
Number 17 is palindrom in basis 2 4 16
Number 19 is not palindrom

Ahora les va mi código. La verdad que no le encuentro ningún error pero cuando lo mando para que me lo revisen a la página de la ACM. Me lo rechazan diciendo que es incorrecto:


# include <iostream>

using namespace std;

int main()
{
   int n;
   int aux, r, b, N, P;
   int inv;
   int ac[15];
   
   while(1)
   {
       cin>>n;
       
       if(n == 0) break;

     
       int cont = 0;

       for(b=2; b<=16; b++)
       {
           aux = n;
           N = 0;
           P = 1;
           do{
               r = aux % b;
               aux = aux / b;
               N = N + r * P;
               P = P * 10;
           }while(aux != 0);

           inv = 0;
           aux = N;
           do{
              r = aux % 10;
              inv = inv * 10 + r;
              aux = aux / 10;
           }while(aux !=0 );
           
           if(inv == N)
           {
               cont++;
               ac[cont] = b;
           }
       }
       if(cont>0)
       {
          cout<<"Number "<<n<<" is palindrom in basis";
          for(int i=1; i<=cont; i++)
          {
               cout<<" "<<ac[i];
          }
          cout<<"\n";
       }
       else
       {
           cout<<"Number "<<n<<" is not palindrom\n";
       }
   }
}



#71
Deseo descargar el instalador del compilador, o ide, o como se llame para practicar el lenguaje Pascal, pero para llevarlo a otra computadora que no tiene internet y allí poder instalarlo. Quisiera saber en qué sitio web lo encuentro. Muchas gracias
#72
¿Cuál es el alto y ancho de una ventana maximizada?.
Necesito saberlo porque desde un inicio necesito trabajar en una ventana maximizada.
#73
Por más que leo miles de libros, tutoriales, videos en internet, no puedo entender del todo los modos de aperturas de archivos en C. Siempre llego a contradicciones o círculos viciosos. Aquí les pongo mis conclusiones al respecto, espero que me corrijan si estoy equivocado en algo.


Lo que quiero hacer es específicamente lo siguiente. Necesito hacer un programa que me permita almacenar en un archivo binario (trabajarlo siempre en modo secuencial), una lista de alumnos. Pero no una sola vez. Sino cada vez que abra el programa me permita, como simular la matrícula de uno, dos, tres, n..., alumnos (según lo que se necesite) de tal forma, que cada alumno tiene un código único. Si es que intento matricular un alumno con un código que ya ha sido registrado o matriculado anteriormente (osea que ya está guardado en el archivo). entonces el programa no me lo permita.

Bueno para eso, razono más o menos así. Primero, ingreso el código del nuevo alumno a matricular y lo almaceno en una variable auxiliar. Seguidamente abro el archivo en modo lectura  "rb" y empiezo a recorrer el archivo desde el principio hasta el final while!(feof(arch))  y ver si es que ya existe un código similar al q quiero agregar. SI es que no lo hay, cierro el archivo y lo vuelvo a abrir en el modo añadidura  "ab" para escribir añadir ese nuevo alumno al final de mi archivo.

Bueno, utilizando ambos modos, creo que me fue bien. Pero mi profesor utiliza el modo "a+b" para hacerlo sin necesidad de usar los dos modos anteriores que yo usé.

Según la teoría dice lo siguiente respecto al modo "a+b": " Abre el archivo para modificar (escribir/leer) al final. Si no existe el archivo, funciona igual que w+"
Duda: ¿Si es que me sitúa al final. Qué sentido tiene leer al final?, si al final no hay nada¿¿¿??..para leer tengo que estar al inicio??? Si tiene sentido escribir al final, pero leer al final???

Bueno, lo que hice fue intentar con este modo "a+b" y como arte de magia me funciona sin necesidad de usar "rb" y "wb". Pero , usando este modo, como que me mareo y no entiendo lo que ocurre con el archivo. Osea, funciona, pero no entiendo como funciona. Porque pareciera que con este modo "a+b", cuando leo, la lectura lo hace desde el el inicio al final y cuando escribio, la escritura lo hace al final sin sobreescribir datos almacenados en el archivo, como que funciona inteligentemente. Estoy en una gran duda. Ayudaaaaaaaaaaaaaa :o


Ojo, no pido que me resuelvan el programa, sino que me orienten sobre como funciona el modo de apertura "a+b" bajo cualquier circunstancia. Existe archivo, no existe, tiene elementos, no tiene. Porque la teoría que encontré en todas mis búsquedas no explican ampliamente estos modos.

Y para que vean que es verdad lo que les digo, que si he buscado información la respecto, aquí mis conclusiones sobre los modos que si he llegado a entender:

* MODO rb

Con este modo permite leer todos los elementos del archivo porque al abrirse siempre se va a

situar en el primer elemento. Si no existiera el archivo me devuelve NULL y el archivo ni se crea ni

se abre.

* MODO wb

CHANCAR, ESCRIBIR DESDE EL INICIO. Con este modo me permite escribir datos en el archivo,

mediante fwrite. Cada fwrite escribe en una posicion consecutiva a la anterior. Si ya había

anteriormente un archivo, estos son sobreescritos. Sino existe el archivo, este es creado y dejado

abierto listo para llenarlo.

* Modo ab

AÑADIR AL FINAL, NO LEER. Si no existe el archivo, entocnes lo crea y lo abre y permite escribir

datos desde el comienzo. Si es que ya existe el archivo y tiene elementos, Permite escribir datos

a partir del final, es decir, permite añadir. CONCLUSIÓN: Siempre que quiero añadir datos en un

archivo, exista o no este sin temor a perder datos si ya existiese, se usa ab. Siempre añadirá

datos la final  y si no hubiera datos, los añade desde el principio. (IDÓNEO PARA AÑADIR AL

FINAL, no leer)

* Utilizando rb y ab

Con rb, recorro el archivo (DE INICIO A FIN) para ver si algún elemento del archivo tiene el mismo

codigo que el nunevo elemento qeu quiero guardar. Si es que ya existe una rchivo con el mismo

elemento, entonces no lo añado y me salgo con "return".

Si luego de recorrer todo el archivo, veo que no hay repeticion entre un elemento guardado y el

nuevo que quieor añadir, entonces cierro el archivo dle modo lectura y lo abro en el modo ab

para añadir el nuevo dato al final y así esté guardado consecutivamente al anterior.



Y para el modo "a+b" también me hice una conclusión, pero no estoy seguro sí es la correcta, porque me funciona de una manera que como que no encaja con la teoría...Aquí mi conclusión (espero cualquier correción al respecto)

* Modo a+b

La teoría dice:
"Si el archivo no existe, permite crearlo. EL cabezal de lectura/escritura se sitúa al final de

fichero".
"Abre el archivo para modificar. (Escribir y leer) al final. Si no existe el archivo, funciona con w+"
Pero según lo que He practicado. Funciona como una mezcla de rb y ab. Osea que me permite

leer el archivo desde un principio y permite añadir datos al final (o desde un inicio si está vacío).

Idóneo para llenar una archivo con elementos únicos, por ejemplo, que cada elemento tenga un código o un número que lo identifique único como número de identificación, etc.




#74
Hola a todos. Necesito saber si es que en Paint o en algún otro programa puedo guardar una imagen pero con las dimensiones exactas 215 x 147. Gracias
#75
Foro Libre / ¿Pregunta personal a los usuarios?
8 Diciembre 2011, 19:16 PM
Bueno primero que nada, no encuentro donde están las reglas del foro. Y en segundo lugar (espero no infringir ninguna norma), quería saber cuál es la edad idónea para empezar a usar la computadora. y una última duda, ¿Cuál es la edad promedio de los usuarios en este foro?
#76
Tengo unas cuántas dudas en cuanto a la apertura y cerradura de archivos. Bueno Comienzo. Primero planteo el siguiente código:


# include <stdio.h>
# include <iostream.h>

int main()
{
  FILE * arch;

  arch = fopen("Luis.txt","r");     // intentando abrir

  if(arch == NULL)
  {
     cout<<"El archivo no existe";
  }
  else
  {
     cout<<"El archivo si existe";
  }
  getchar();
  return 0;
}



Bueno, en este primero código estoy tratando de abrir un archivo. Para eso hago uso de la función fopen(...). Cuando no existe el archivo devolverá NULL y me mostrará el mensaje correspondiente. Pero que sucede si el archivo existiera. Qué valor devuelve la función fopen ¿?. Ya sé que me mostrará el mensaje "El archivo si existe" pero mi primera duda sería que si no devuelve NULL entonces ¿qué devuelve?

Sigo entonces. Con este siguiente código. Hago uso de la función fopen para abrir el archivo en el modo lectura. Si no existe entonces me pregunta si deseo crearlo, para eso hago uso de fopen en el modo "w". La teoría dice que si el archivo no existe, entonces la función lo crea. Muy bien hasta aquí. Pero, la función ¿Solo lo crea pero no lo abre o a parte de crearlo también lo abre?. Porque si solo lo crea pero no lo abre, entonces no tendría que usar fclose. Pero en caso contrario, sería necesario que lo cierre con fclose.


# include <stdio.h>
# include <iostream.h>

int main()
{
  FILE * arch;
  char resp;

  arch = fopen("Luis.txt","r");     // intentando abrir

  if(arch == NULL)
  {
     cout<<"El archivo no existe\n\n\n";
     do{

        cout<<"Desea crear el archivo???";
        cin>>resp;
     }while(!(resp=='S' || resp=='N'));

     if(resp=='S')
     {
        arch = fopen("Luis.txt","w");
        fclose(arch);
     }
  }
  else
  {
     cout<<"El archivo si existe";
  }

  getchar();
  return 0;
}



Muchas gracias.
#77
Tengo una duda sencilla, quiero saber cómo puedo hacer para que en Visual Basic haga lo siguiente, tengo una una ventana o formulario inicial (solo que contenga etiquetas, ningún otro objeto) y que al presionar la tecla enter que me muestre el siguiente formulario, solo presionando la tecla enter, con otra tecla no hace nada
#78
¿Diferencia entre Sentencia, Instrucción y Estructura de Control?...Además leí en este mismo foro que en C , son funciones: printf y scanf, pero en C++ son objetos: cin y cout...  Que acaso estas no eran sentencias?? o instrucciones???... ::)
#79
Es una pequeña duda acerca delas variables. Algunos textos dicen que una variable es una posición de memoria, en otros que es un dato cuyo contenido cambia. En otro que no es un dato, sin que almacena datos...total...me confunde un poco??...alguien que me dé su punto de vista.. :)
#80
Mi duda es la siguiente: ¿Los términos: sentencia, instrucción y estructura de control son los mismos?.. Porque he leido diferentes textos en donde dicen: "La sentencia if", en otros: "La instrucción if", pero pienso que lo correcto sería : "La estructura selectiva if".. Me parece que algunos autores toman como sinónimos las palabras: instrucción y sentencia, ¿Es correcto eso?..Gracias
#81
Hola a todos, tengo una duda, he leído que en Visual Basic se puede hacer uso de archivos y base de datos. Tengo unos textos como por ejemplo: El Bucharely...me parece bueno. Estoy aprendiendo lo´básico en Visual Basic y veo que estoy avanzando bien en esto, lo que deseo es que me den algunas ideas, solo ideas ya que quiero realizar un programa que realice un test de preguntas. Osea, quiero que se trate de 40 preguntas con tres alternativas cada pregunta y que solo se conteste con las teclas 1, 2 y 3. Cada pregunta es en una pantalla completa, de manera que cada vez que se contesta, aparece la siguiente y la anterior ya no. Que no haya necesidad de usar el mouse hasta que termine el test.

La parte que necesito ideas es en lo que respecta a las pregutas del test, lo que he pensado es tener todas las preguntas en un archivo .txt y de allí ir jalando pregunta a pregunta. Quisiera saber si es que es posible hacer eso, o si tienen mejores ideas, sería mucho mejor....  ;-)
#82
El problema es el siguiente: Se pide ingresar n números e identificar al segundo menor número ingresado....Ejemplo:

Se ingresan: 1   2   3   4    6     8     10    10 
El segundo menor es: 2

Se ingresan:    1     1     1      1     1
El segundo menor no existe

No permiten usar arreglos..solo con datos simples y con estructuras condicionales y repetitivas... ¿Cómo hacerlo?
#83
Mi duda es si hay alguna forma en lenguaje C o C++ para validar el ingreso de datos, de tal manera que frente a aluna lista de oociones en pantalla (switch), solo permite ingresar la opción correcta, y si escribo algún número o presiono enter o escape o alguna tecla que no corresponda,el programa envía un pitido y no realiza ninguna accion hasta que haga lo correcto??..se trabaja acaso con el codigo ASCII de las teclas?
#84
Respecto al modo de apertura de archivos en C tengo la siguiente duda:

Cuando abro un archivo con la instruccion: fopen("Empleados.txt","a+"), e leido que el modo de lectura a+ permite la lectura/escritura/añadidura.... Osea que si realizo la lectura, se realiza desde el inicio...y si seguidameente realizo la escritura lo hace al final??..osea ¿que el puntero del archivo se mueve del inicio y hace un salto al final??...y si vuelvo a leer...el puntero regresa al inicio??...o lee desde donde se quedo, osea desde el final???... :s  :( :( >:( Esto me marea...porfas alguien que me ayude...


Necesito aclarar esta duda urgente porque tengo un trabajo en donde necesito crear y llenar un archivo con un conjunto de numeros de tal manera que no se repita ninguno de ellos...por eso cada vez que ingreso un numero...debo leer el archivo desde el inicio al final y ver que el numero actual no coincida con ningun numero ingresado anteriormente...y si el numero no concide...recien puedo escribirlo en el archivo...para eso deberia abrir el archivo en modo lectura escritura que me permita añadir nuevos numero que no se repitan...el profe me dijo que lo hago en opcion a+...pero...no me funciona...el codigo es el siguiente...haber si me ayudan...


# include <iostream.h>
# include <conio.h>
# include <stdio.h>
# include <stdlib.h>

struct trabajador
{
   int cod;
};

int main()
{
   FILE *ftrabajador;
   struct trabajador f1;
   int codigo;
   char resp;


   do{
      clrscr();
      ftrabajador=fopen("Emplados.DAT","a+b");
      if(ftrabajador==NULL)
      {
         gotoxy(5,7); cout<<"Archivo no existe, sera creado";
         ftrabajador=fopen("Empleados.DAT","a+b");
      }

      gotoxy(5,5); cout<<"CODIGOS ";
      gotoxy(5,8); cout<<"Codi:"; cin>>codigo;
      fread(&f1,sizeof(f1),1,ftrabajador);
      while(!feof(ftrabajador))
      {
         if(codigo==f1.cod)
         {
            gotoxy(5,9); textcolor(LIGHTRED); cprintf("Ya esta registrado"); getche();
            return 0;
         }
         fread(&f1,sizeof(f1),1,ftrabajador);
      }
      f1.cod=codigo;
      fwrite(&f1,sizeof(f1),1,ftrabajador);
      fclose(ftrabajador);
      gotoxy(5,20); cout<<"Otra bez? "; cin>>resp;

   }while(resp=='s' || resp=='S');

   return 0;
}


Compilador: Borland C++ 5.02
#85
Programación C/C++ / Ayuda con archivos!!!
28 Junio 2011, 14:45 PM
Tengo el programa hecho pero creo que hay algún error. El problema es el siguiente: Debo crear un archivo en el compilador Borland C++ 5.02. El archivo está compuesto por registros con los siguientes campos: codigo, apellidos, nombres y edad. El ingreso debe ser de tal manera que no se repitan los códigos ingresados...el código es el siguiente:

# include <stdio.h>
# include <iostream.h>
# include <conio.h>
# include <stdlib.h>

# define lon 80

struct trabajador
{
   int codigo;
   char apellidos[lon+1];
   char nombres[lon+1];
   int edad;
};


int main()
{
   FILE *ftrabajador;
   struct trabajador f1;
   char resp='s';
   int cod_al;
   do{
      clrscr();
      system("color 1e");
      system("title CREACION DE ARCHIVO");
      gotoxy(25,4); cout<<"INGRESO DE DATOS DEL ALUMNO";
      gotoxy(25,5); cout<<"---------------------------";

      ftrabajador=fopen("Empleados.txt","r");
      if(NULL==ftrabajador)
      {
         gotoxy(5,6);
         textcolor(LIGHTRED);
         textbackground(LIGHTBLUE);
         cprintf("No existe ARCHIVO!...CREARE ARCHIVO");
         getchar();
         ftrabajador=fopen("Empleados.txt","a+");
      }
      gotoxy(5,8); cout<<"Codigo: "; cin>>cod_al;
      fread(&f1,sizeof(f1),1,ftrabajador);
      while(!feof(ftrabajador))
      {
         if(f1.codigo==cod_al)
         {
            gotoxy(5,9); textcolor(LIGHTRED); textbackground(LIGHTBLUE); cprintf("Alumno ya esta registrado!!!"); getchar();
            fclose(ftrabajador);
            return 0;
         }
         fread(&f1,sizeof(f1),1,ftrabajador);
      }
      fclose(ftrabajador);
      ftrabajador=fopen("Empleados.txt","a+");
      f1.codigo=cod_al;
      gotoxy(5,9); cout<<"Apellidos: "; gets(f1.apellidos);
      gotoxy(5,10); cout<<"Nombres: "; gets(f1.nombres);
      gotoxy(5,11); cout<<"Edad: "; cin>>f1.edad;
      fwrite(&f1,sizeof(f1),1,ftrabajador);    // Al haberlo abierto en modo a+, permite escribir desde un inicio o continuando si ya habia anteriormente
      fclose(ftrabajador);
      gotoxy(5,13); cout<<"EMPLEADO REGISTRADO";
      gotoxy(5,18); cout<<"Desea ingresar Nuevo Registro..? (S/N)==>"; cin>>resp;
   }while(resp=='s' || resp=='S');

   return  0;
}

!!! EL problema es que me permite ingresar datos y deja que se repitan códigos y eso no debería pasar...espero sus comentarios...Muchas gracias  :)
#86
Hola a todos, me alegro de haber encontrado este sitio web...veo que acá podemos compartir información..recien estoy aprendiendo a usar el C++, en particular uso el compilador Borland C++ 5.02 y tengo el siguiente problema:

Cuando realizo un programa en donde me permita ingresar solo números enteros desde 1 hasta el 100 utilizo las funciones gotoxy y clreol juntas para poder lograr con mi cometido de tal forma que si ingreso algun numero que no se encuentre en el intervalo [ 1 ; 100 ] el programe se estanque hasta que ingrese un valor válido. El código es el siguiente:

# include <string.h>
# include <conio.h>
# include <iostream.h>
# include <stdio.h>
# include <stdlib.h>
# define l 100

// ********************************************************************
int main()
{
char resp;
system("color 1e");
short int n;
gotoxy(15,5); cout<<"DATOS DE ALUMNOS";
gotoxy(15,6); cout<<"----------------";
gotoxy(5,8); cout<<"_______________________________________________";
do{
gotoxy(10,10); cout<<"Ingrese numero de alumnos a ingresar: ";
clreol(); system("color 1e"); cin>>n;
}while(100<n || n<1);
getche();
}

// ********************************************************************

El problema :-[ está cuando ingreso texto, parece que ocurre un bucle infinito y no sé cuál es la razón y como poder arreglarlo, yo sé que sería ilógico ingresar texto cuando el programa me solicita el ingreso de un número, pero quiero hacer un programa eficiente que cuando ingrese algo que no me pidan o cuando por error presione alguna tecla que no corresponda, el programa responda de la forma adecuada indicando que estoy ingresando mal los datos y que ingrese correctamente....Espero respuestas....Muchas gracias

Aaaa.. >:D..además me pregunto si es posible realizar lo anterior, pero sin usar gotoxy ni clreol pero usando las funciones de la librería estándar  :rolleyes:-
#87
Hola a todos, me alegro de haber encontrado este sitio web...veo que acá podemos compartir información..recien estoy aprendiendo a usar el C++, en particular uso el compilador Borland C++ 5.02 y tengo el siguiente problema:

Cuando realizo un programa en donde me permita ingresar solo números enteros desde 1 hasta el 100 utilizo las funciones gotoxy y clreol juntas para poder lograr con mi cometido de tal forma que si ingreso algun numero que no se encuentre en el intervalo [ 1 ; 100 ] el programe se estanque hasta que ingrese un valor válido. El código es el siguiente:

# include <string.h>
# include <conio.h>
# include <iostream.h>
# include <stdio.h>
# include <stdlib.h>
# define l 100

// ********************************************************************
int main()
{
char resp;
system("color 1e");
short int n;
gotoxy(15,5); cout<<"DATOS DE ALUMNOS";
gotoxy(15,6); cout<<"----------------";
gotoxy(5,8); cout<<"_______________________________________________";
do{
gotoxy(10,10); cout<<"Ingrese numero de alumnos a ingresar: ";
clreol(); system("color 1e"); cin>>n;
}while(100<n || n<1);
getche();
}

// ********************************************************************

El problema :-[ está cuando ingreso texto, parece que ocurre un bucle infinito y no sé cuál es la razón y como poder arreglarlo, yo sé que sería ilógico ingresar texto cuando el programa me solicita el ingreso de un número, pero quiero hacer un programa eficiente que cuando ingrese algo que no me pidan o cuando por error presione alguna tecla que no corresponda, el programa responda de la forma adecuada indicando que estoy ingresando mal los datos y que ingrese correctamente....Espero respuestas....Muchas gracias

Aaaa.. >:D..además me pregunto si es posible realizar lo anterior, pero sin usar gotoxy ni clreol pero usando las funciones de la librería estándar  :rolleyes:-