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

#11
Buenas a todos,

Tengo una duda con la siguiente función... la saqué de un libro de texto. Y es una solución para limpiar buffer de entrada de teclado (sin usar el vaciado de fflush() ) en C, antes de leer un string. Solo que cuando la utilizo en la consola, tengo que oprimir dos veces  salto de linea, una vez cuando ingreso el dato y otra vez mas para que salte de linea.  A diferencia de ingresar el dato y oprimir salto de linea "enter", y que se guarde el dato de inmediato.

Alguien sabe una alternativa a esta función ?

Saludos



void limpiarBuffer()
{
   char c;

   do
   {
       c = getchar();
   }while( c != '\n' );

}

#12
Si vas a ver sistemas operativos te conviene hacer una buena repasadita a C  :rolleyes:
#13
Tal vez puedes manejarte con los bytes del archivo ? pararte al principio del archivo con rewind() o fseek() y luego moverte tantos bytes (bytes de la estructura) hacia abajo, leer. Y así.
#14
Suele ser mejor utilizar el retorno de la función fread() para leer hasta el fin del archivo...
Prueba con esto


while(  fread(&X,sizeof(X),1,FP) > 0 )
{

   printf("\n\n %5d %15s %35s %20s %8d %10d ",X.ART , X.COD , X.DESC , X.FAB , X.STOCK , X.POS);
   
}


pregunta, en el nombre del archivo no deberías colocar la extensión ? ya sea .bin,  .dat
#15
Aquí es cuando investigas en un manual de C/C++. Te planteas bien tu problema (qué es lo que tienes que hacer) y buscas una solución inteligente.

Tal como te dice MAFUS un arreglo de variables, un bucle y una variable acumuladora es lo que tienes que usar.

NUNCA repites lineas iguales de codigo, utilizas de forma inteligente las herramientas del lenguaje (las que te mencioné arriba). 

#16
Cita de: taimito en 26 Septiembre 2021, 12:01 PM
se ve k soy d letras.

:xD :xD Te falta mucha lectura para ser de letras, o sos muy vago al escribir. Es deshonorable para los que realmente son de letras.
#17
Hola!
No me convence mucho la condicion del while... si quieres hacer que el usuario salga del bucle ,segun lo que planteaste, puedes hacer

Código (cpp) [Seleccionar]

while( !(GetAsyncKeyState('S') )
{
    //y el resto
}


No entiendo la segunda condicion que planteas en el while... ( el "& 1") ? Puede que ahi te esté tirando el error.

Aunque yo no agregaria toda la ENORME libreria de windows para solo esa funcion de la tecla. Puedes conseguir el mismo resultado con una variable char y el metodo cin.get(), y seria una forma mas eficiente y rapida, para conseguir los mismos resultados. Siempre buscamos la eficiencia del codigo. Soluciones simples son mejores.

Código (cpp) [Seleccionar]

//donde declaraste las demas variables
char controlUsuario;

// luego si colocar la S o la N va en gusto del programador, entiendo más clara cuando es
//negativa la condicion, osea cuando oprime n. Fijate que se tiene en cuenta n minuscula Y
//N mayuscula.
while( controlUsuario != 'n' && controlUsuario != 'N' )
{

//operaciones

cout << "Continuar ? (s/n)";

cin.get(controlUsuario);

}




Luego, en la asignacion, no es necesario los parentesis.

Código (cpp) [Seleccionar]


d = b + c
// recuerda poner nombres DESCRIPTIVOS para tus variables, hace más legible el código
// lo anterior podria ser, por ejemplo.

suma = num + otroNum;

//recuerda que mientras mas CLARO y EVIDENTE a la vista el codigo mejor.



Por ultimo, en la linea donde imprimir por pantalla el resultado de la suma, puedes colocar directamente esto:

Código (cpp) [Seleccionar]

cout << "\nLa suma es: " << b + c << endl;


Como ves, no es necesario ni bajarlo a una variable

Saludos

#18
Las simulaciones computarizadas de la vida real sirven para recolectar datos y predecir resultados, e incluso entrenar en ciertas areas. Por ejemplo, la fuerza áerea de un país utiliza sistemas de simulación de vuelo. Otro ejemplo, un grupo de ingenieros mecánicos puede simular cómo una pieza va a reaccionar dados ciertas fuerzas en un sistema.
#19
Cita de: GonzoRey en 11 Septiembre 2021, 01:29 AM

Claro, en principio me refería a algo más general, ya que al fin y al cabo un hacker tiene que saber de todo, no? Al menos es lo que yo entiendo como hacker jajajaja entonces quería alguien que me explicara un poco en qué orden aprender las cosas, si es preferible empezar por una buena base en redes, estudiar sistemas, un lenguaje de programación o qué exactamente jajajaja.


Mm bueno mira, depende de tus objetivos. La ciencia de la computacion es muy basta y tiene muchas ramas. No lei tu post porque es muy largo jaja, y no sé qué tanto sabes pero...

Los programadores tratamos la complejidad con la abstraccion: al ser el mundo tan complejo, a la hora de "plasmarlo" en un programa nos concentramos en un pedazo de mundo u objeto e ignoramos el resto. De manera que creamos unidades que son funcionales en sus limites existentes.
Te recomendaria que apliques eso, si de verdad te interesa esto. Empieza paso a paso, de a poco e ignora el resto. Si no te va a comer la complejidad. Mas vale 1 pajaro en mano que 100 volando.

Mi recomendacion es que aprendes algun lenguaje de programacion (como C o C++) con un manualcito. Usualmente vienen planteados de manera jerarquica. Uno muy bueno es el manual de Deitel & Deitel.

Para un paneo general te puedes leer "Fundamentos de programacion" de Luis Joyanes Aguilar. Pero este enfoque es mas teorico...

Como te digo al fin y al cabo esto es cuestion de si te gusta o no, en base a eso querrás aprender más y seguir con lo demas. Pero no es facil.

#20
Coincido con Randomize, la programación particularmente es una técnica y como tal se aprende esencialmente practicándola, apoyandose de la teoria. Los libros serán tus mejores amigos en eso...
Siempre tienes la opción de pagar un tutor, para guiarte o sacarte dudas, pero no te van a enseñar a pensar.