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

#191
Amigo, muchas gracias por enviarme a ese post, lo que ocurre es que tengo un largo puente que cruzar para acercarme a tus conocimientos, lo estuve leyendo y nota que son muchas cosas nuevas que por el momento no lograría ni continuar con lo mío ni interpetrar lo tuyo. -
Luego si sigo trabado, les consulto.-

Un abrazo.
#192
Hola, Alberto.
Citar...pero si te pidieron manejar conversiones de cadena a número....
:laugh: :laugh: :laugh: evidentemente, no leíste mi perfil, tengo 64 años y soy autodidacta (de esta manera nos conocemos un poco más). -
Todo comenzo con este post http://foro.elhacker.net/programacion_cc/array_de_punteros_a_funcion_fltmin_fltmax_c-t452042.0.html  y como llegue a la conclusión que no podía validar que el ingreso sea correcto y al no poder ingresar una cantidad respetable de dígitos, (la que estoy haciendo acepta 100 dígitos) me puse a programar una calculadora, estoy un tanto trabado pero seguramente lo voy a lograr, cuento con vuestra ayuda. -

Saludos.
#193
Hola, Deeke.
Muy bien, tienes razón, lo que muestra es coherente:
48 0 0 0 0
Igual me queda una duda, lo que estoy haciendo es una calculadora y necesito cada elemento con cero (no con el final de cadena), hice una práctica de esta forma y el resultado es correcto.
a[2] = 5;
y me muestra:
48 0 5 0 0
Bueno esa es la duda, ¿en todos los casos el resultado será correcto? o tendré de todas maneras que igualar todos los elementos a 0. -   

Un abrazo.
#194
Hola.
Muchas gracias a los tres.
Geeke, lo tuyo no me funciona, ya lo había probado y cuando quiero hacer un bucle para demostrar que los 5 elementos contienen ceros, me muestra un solo cero. -
AlbertoBSD , que puedo decirte, gracias por el aporte. -   
En definitiva, como dijo MAFUS, con memset me funciona perfecto. -

#include <stdio.h>
#include <string.h>

int main( void ){
char a[5];
memset(a, '0', 5);
size_t i;

for( i=0; i<5; i++ ){
printf( "%c ", a[i] );
}

return 0;
}



Saludos.
#195
Hola, gente.
Después de declarar una cadena de caracteres en C ¿se puede inicializar todos los elementos a cero, sin tener que realizarlo a través de un bucle?. -

Saludos.
#196
Hola, gente.
debo reconocer que de la manera que intentaba hacer la validación es inviable, por lo tanto, lo estoy intentando con la librería atof y el máximo número que soporta es lo que muestro a continuación:

#include<stdio.h>

int main( void ){
double a = 9.00;
size_t i;

for( i = 1; i < 24; i++ ){
printf( "\n[%2u] ==> %f", i, a );
a *= 10.00;
}

return 0;
}


/*#include<stdio.h>
#include<stdlib.h>

int main( void ){
double a;
char buffer [256];
printf ( "\n Ingrese un numero.....: " );
gets (buffer);
a = atof (buffer);
printf ( "a = %f " , a);

return 0;
}*/


Solo necesitaría saber si en sus máquinas les da el mismo resultado.



Saludos.
#197
Hola.
Que te resulta raro, ¿no la entiendes o te parece que no puede funcionar? . -
Es lo que utilizo para validar que el ingreso no supere el mínimo y el máximo permitido por el tipo en cuestión.-

Saludos.
#198
Hola, gente.
Tengo un inconveniente en la validación para que no se supere el máximo y el mínimo que soporta el tipo float, en internet no encuentro nada relacionado y modifique el código muchas veces y nada, solo me deja ingresar números negativos.

#include <stdio.h>
#include <float.h>

float suma( const float o1, const float o2 );
float resta( const float o1, const float o2 );
float division( const float o1, const float o2 );
float multiplicacion( const float o1, const float o2 );


int main( void ){
float (*ptrf[]) ( float, float ) = {suma, resta, division, multiplicacion};
int ok, ch, opc;
float opeUno, opeDos, result;

printf( "\n ========== Calculadora ==========\n\n" );

do{
printf("\n Introduzca el primer operando....:");
ok = scanf("%g", &opeUno) == 1 && opeUno <= FLT_MIN && opeUno <= FLT_MAX;
while ((ch = getchar()) != EOF && ch != '\n');
}while(!ok);

do{
printf("\n Introduzca el segundo operando...:");
ok = scanf("%g", &opeDos) == 1 && opeDos <= FLT_MIN && opeDos <= FLT_MAX;
while ((ch = getchar()) != EOF && ch != '\n');
}while(!ok);

printf( "\n 1 - Suma \n 2 - Resta \n 3 - Divide \n 4 - Multiplica" );
do{
printf( "\n\n Ingrese una opcion...:" );
ok = scanf("%d", &opc) == 1 && opc >= 1 && opc <= 4;
while ((ch = getchar()) != EOF && ch != '\n');
}while(!ok);

result = ( ptrf[opc-1] ) ( opeUno, opeDos );

printf( "\n El resultado es %g", result );

return 0;
}


float suma( const float o1, const float o2 ){
return o1 + o2;
}

float resta( const float o1, const float o2 ){
return o1 - o2;
}

float division( const float o1, const float o2 ){
return o1 / o2;
}

float multiplicacion( const float o1, const float o2 ){
return o1 * o2;
}


Saludos a todos y espero puedan ayudarme a encontrar la solución.-
#199
Hola.
Te faltó llamar a la función imprimir() dentro de la función principal (main)

Saludos.
#200
Hola.

CitarAun.que creo que la pregunta era mas orientada a alguien que apenas esta aprendiendo a user apuntadores.

Si bien esto es totalmente correcto, me parece interesante el debate porque a este post es probable que lo lean
gente que sepan mucho pero no tanto como vos, Eternal, MAFUS,  class_OpenGL, ivancea96, etc. -
Igual para mi todo esto es chino basico, algo seguramente voy a rescatar. -

Adelane y un abrazo.