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 - zonahurbana

#161
Sí, es cierto todo lo que dicen.
Y así como dices que ya empezaste con lo básico de C++, continúalo, yo actualmente también estoy aprendiendo ese mismo.
La idea es entender la lógica de cómo funciona todo esto, porque será lo mismo en los demás lenguajes; ya verás que las diferencias son ligeras y que rápido nos adaptaremos luego  :silbar: .
#162
Programación General / Re: nuevo programador
20 Noviembre 2012, 21:48 PM
Es cierto, información hay muchísima. Lo malo que tengo yo es que aún no domino muy bien el inglés y me resulta dificultoso "leer de corrido".

¿Hasta qué temas has llegado a abordar?
#163
#define TAM2 6
#define TAM (TAM2*TAM2)
#define MINA TAM2*2

Sobre estas líneas, ¿se llaman macros?
Voy a referirme a la primera expresión que le sigue a #define como "abreviatura" y a lo que le sigue como "lo abreviado".
Me parece que cada vez que defines una abreviatura para cierta expresión, cuando uses de allí en adelante la abreviatura, es como si en el código se pegara "lo abreviado" como más código, justo antes de que el compilador convierta a lenguaje máquina las instrucciones.
Es como un comando más que una instrucción, de modo que cada vez que has usado MINA se ha realizado una multiplicación, y lo mismo con TAM.
Quizás en este caso no importe mucho, pero creo que podrías haber usado:
cons int TAM2=6;
cons int TAM = TAM2*TAM2;
const int MINA = TAM2*2;
#164
Recuerdo haber leído que WinAPI32 guarda más relación con C, y wxWidgets con C++, ¿es correcto?

Por otro lado, llevo tiempo tratando de ingresar a c.conclase.net por las tantas veces en que lo han sugerido, pero jamás puedo visualizar el contenido . . .
#165
Links rotos :\
#166
Cita de: Antonio9411 en 19 Noviembre 2012, 20:07 PM
    srand(time(NULL));
    v[0]=10+rand()%(1000-10)+1;
    v[1]=10+rand()%(1000-10)+1;
    v[2]=10+rand()%(1000-10)+1;
    v[3]=10+rand()%(1000-10)+1;
    v[4]=10+rand()%(1000-10)+1;
    v[5]=10+rand()%(1000-10)+1;
    v[6]=10+rand()%(1000-10)+1;
    v[7]=10+rand()%(1000-10)+1;
    v[8]=10+rand()%(1000-10)+1;
    v[9]=10+rand()%(1000-10)+1;
   
     cout<<v[0]<<endl<<v[1]<<endl<<v[2]<<endl<<v[3]<<endl<<v[4]<<endl<<v[5]<<endl;
     cout<<v[6]<<endl<<v[7]<<endl<<v[8]<<endl<<v[9]<<endl;
Y recuerda que para generar N números aleatorios (de un mismo intervalo) puedes usar también un FOR:
for(int x=0; x<N; x++) v[x]=10+rand()%(1000-10)+1;
// En tu caso reemplazarías N por 10.


Lo mismo para mostrar valores N contenidos en un arreglo:
for(int x=0; x<N; x++) cout<<v[x]<<endl;
#167
Scripting / Re: [Batch] Virulator 1.0c
15 Noviembre 2012, 04:09 AM
Gracias por todo este codigazo.
Tengo unas pocas preguntas ( ahora que me he animado por revisar un poco sobre esto  :silbar: )

¿.bat es la extensión de los programas escritos en Batch?

¿Por qué no se considera a Batch como un lenguaje de programación?
Es decir, ¿por qué está en la zona Scripting?

¿Este lenguaje no hace distinción entre mayúsculas y minúsculas en sus funciones verdad?

Gracias nuevamente . . .
#168
Cita de: 0xDani en  9 Octubre 2012, 15:54 PM
Yo ahora le estoy echando un vistazo wxWidgets, es mas sencilla que Qt y GTK y tambien esta bastante bien. Un ejemplo de programa hecho con wxWidgets que muchos de vosotros conocereis es Code::Blocks.

Saludos.
¿Code::Blocks fue hecho con wxWidgets?

Bueno, hay algo que no me queda bien claro.
Cuando pregunté por cómo agregar un entorno gráfico a mis pequeños programas, me respondieron que revisara algunos temas de WinApi. Y pues, la verdad es que yo no me esperaba tener que escribir tanto código sólo para generar una ventana con los botones de maximizar, minimizar y cerrar (en Windows).
¿Hay alguna forma de hacer gráficos mis programas hechos en C++ sin la necesidad de reescribirlo y tratar con códigos de más de mil líneas?
#169
Iba a crear un tema nuevo. Pero la duda es exactamente la misma.

Tengo entendido que al ingresar datos y presionar Enter, éste último es tomado como entrada (también). Y por ello es necesario limpiar el buffer.

Sin embargo, no comprendo muy bien cómo es que funciona getchar();
Es decir, no sólo quisiera saber la finalidad por la que se usado getchar, sino más bien, qué es lo que hace exactamente. Es decir, toma un caracter del buffer, pero si éste está vacío, le solicita al usuario que ingrese uno, ¿es más o menos así?

Dispongo de dos códigos para limpiar el buffer.

char ch;
while (cin.get(ch) && ch != '\n')
;


while (getchar() != '\n');

Duda #1. Quisiera saber cómo es el mecanismo interno (minucioso) de todo el proceso que ejecutan cada una de esas instrucciones (aunque no las hay, porque yo sólo veo un while, ¿será que getchar() y cin.get tienen la capacidad de suprimir caracteres?).

Duda #2. ¿En qué casos es necesario limpiar el buffer? ¿Por qué?

Duda #3. ¿Es lo mismo buffer que stream? ¿Y qué es un flujo?

Una duda un poco más alejada del tema:
Duda #4. Cuando declaro variables de un tipo y el usuario ingresa datos de otro tipo, en muchas ocasiones se entra en un bucle infinito, lo que normalmente no ocurriría si el usuario ingresara lo que se le solicita. O también ocurre esto cuando el usuario ingresa más contenido del permitido. ¿Cómo podría yo asegurar la entrada correcta de datos? Por ejemplo, usar isalpha o isdigit no tiene sentido en este caso, ya que esa comprobación sólo la podría hacer yo luego de que ya se ha ejecutado el cin>> (¿O sí es posible usarlos sobre el valor que se está tratando de ingresar justamente antes de almacenarlo?).

PD: Siempre veo que recomiendan enlaces de conclase, y yo nunca he podido ingresar (de ninguno de mis navegadores). ¿Sólo yo no lo puedo ver?

Muchas gracias de antemano. Espero puedan responderme!
#170
Notepad++, o en su defecto, notepad.