Autor
|
Tema: AYUDA LENGUAJE C (Leído 6,531 veces)
|
LeoJ24
Desconectado
Mensajes: 31
|
BUENASS.. ESTOY ADENTRANDOME EN ESTO DEL HACKER Y DECIDI EMPEZAR POR BATCH Y LENGUAJE C. BATCH YA LO APRENDI Y AHORA ESTOY INTENTANDO APRENDER LENGUAJE C PERO ME QUEDE ESTANCADO EN LA FUNCION GETCH Y GETCHE. QUIERO USAR GETCHE PARA QUE CUANDO INTRODUZCA UN NUMERO EN EL PROGRAMA YA COMPILADO APAREZCA EL NUMERO EN EL SIGUIENTE REGLON SIN NECESIDAD DE APRETAR NADA MAS QUE EL NUMERO. LO QUE YO PONGO EN EL COMPILADOR ES:
#include <stdio.h> int main () { int num; printf ("ESCRIBI UN NUMERO\n"); scanf ("%i", &num); num = getche (); printf ("EL NUMERO ESCRITO ES: %i\n", num); system ("PAUSE"); return 0; }
DESPUES LO COMPILO Y LO EJECUTO, PERO AL EJECUTAR INGRESO EL NUMERO Y NO PASA NADA. APRETO ENTER, Y EL PUNTERO SE UBICA EN EL REGLON DE ABAJO DANDOME COMO UNICA OPCION TECLEAR ALGO. CUANDO ESCRIBO EL SEGUNDO NUMERO, APARECE LA ORACION "EL NUMERO ESCRITO ES: xx" PERO EL NUMERO NO ES IGUAL A NINGUNO DE LOS ANTERIORES. EN RESUMEN, LA FUNCION GETCHE FUNCIONA, PERO NO ES IGUAL A NINGUNO DE LOS DOS NUMEROS QUE INTRUDUJE. ALGUIEN SABE A QUE SE DEBE??? SALUDOS
|
|
|
En línea
|
|
|
|
durasno
Desconectado
Mensajes: 373
|
Hola! la verdad no entendi bien que es lo que queres; algunas aclaraciones: - las funciones getch y getche no son estandar por lo tanto no se recomienda usarlo si recien empezas(para eso tenes getchar()), ademas estas funciones son para el ingreso de caracteres, no para enteros. - para imprimir dos valores necesitas dos variables - LO QUE YO PONGO EN EL COMPILADOR ES: lo pones en un archivo fuente, no en el compilador - LA FUNCION GETCHE FUNCIONA, PERO NO ES IGUAL A NINGUNO DE LOS DOS NUMEROS QUE INTRUDUJE. ALGUIEN SABE A QUE SE DEBE??? como te decia antes getche es para caracteres. Si vos ingresas algo a travez de getche() lo que se almacena en la variable num, es el ASCII de una letra. PAra que se entienda ejecuta: #include <stdio.h> #include <conio.h> int main () { int num; printf ("ESCRIBI UN NUMERO\n"); num = getche (); /* <--- ingresa el 5 */ printf ("EL NUMERO ESCRITO ES: %i\n", num ); /* vas a ver que te imprime el numero 53 */ return 0; }
Tabla ASCII: http://www.asciitable.com/Cualquier duda segui preguntando. Saludos PD: no me parece muy bueno de donde estas aprendiendo, yo lo cambiaria
|
|
|
En línea
|
Ahorrate una pregunta, lee el man
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Opinión personal: No importa de donde aprendas o como aprendas, lo importante es que entiendas el lenguaje, te recomiendo esta pagina: http://www.cplusplus.com/reference/ Esta en ingles pero no hay tanta necesidad de leer (mas que en algunas ocasiones) ya que las personas aprendemos mas al principio viendo (ejecuta los códigos de ejemplo que te brindan), cuando más o menos agarres la onda lee como estructurar un programa, consejos, que no hacer que si hacer, etc. Algo mas ligero y en español: http://c.conclase.net/curso/ aun que hay códigos que te brindan que están mal (cuando vayas a la estructura avl la función "balance" necesita unos ajustes ya que no funciona bien en algunos casos, aun así esta buena para aprender.) En lugar %i usa %c. Al querer imprimir un carácter almacenado en una variable de tipo int debes hacer (recomendable) usar una mascara (0xff) para que solo tome el valor 1 byte (el mas insignificante) en lugar de todos los demás. Todo lo que esta dentro de la biblioteca conio.h NO SON ESTÁNDARES (no es portable entre plataformas Sistemas Operativos) pero claro que las puedes usar, de hecho todo lo que esta en esta biblioteca las puedes reemplazar. #include <stdio.h> #include <conio.h> int main () { int num; printf ("ESCRIBI UN NUMERO\n"); num = getche (); // usa mejor getchar(); printf ("EL NUMERO ESCRITO ES: %c\n", (0xff & num ) ); system ("PAUSE"); // puedes usar getchar(); return 0; }
Sin usar conio.h #define PAUSE char __c__; while ((__c__ = getchar()) != '\n' && __c__ != EOF); puts("Pulsa la tecla ENTER para continuar."); getchar(); #include <stdio.h> int main () { char res = 0x0; printf ("Escribe una letra\n"); printf ("La letra escrita es: %c\n", res ); PAUSE //No usar en la macro ; return EXIT_SUCCESS; }
Dulces Lunas!¡.
|
|
« Última modificación: 8 Enero 2013, 08:17 am por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
zonahurbana
Desconectado
Mensajes: 178
RS, JC.
|
Lo mismo en C++: #include <iostream> #include <conio.h> using std::cout; int main() { int num; cout<<"Escribe un numero: "; num = getche(); cout<<"\nEl nro escrito es "<<num-'0'; return 0; }
Ya que recién vas empezando es bueno que conozcas de su existencia
|
|
|
En línea
|
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...
|
|
|
LeoJ24
Desconectado
Mensajes: 31
|
GRACIAS A TODOS POR LAS RESPUESTAS, YA ENTENDI ESTO DEL GETCH Y GETCHE GRACIAS A USTEDES.. MI PROXIMO PASO SON LAS SENTENCIAS DE CONDICION Y E SALTO (if, switch, goto, break). SALU2
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
BUENASS..
Vamos, resumiendo y sin parafernalias:#include <stdio.h> #include <conio.h> int main (){ int num; printf ("ESCRIBI UN NUMERO\n"); num = getche (); puts("\n"); printf ("EL NUMERO ESCRITO ES: %c es decir %d o sea %d\n", num,num-48,num-'0') ; system ("PAUSE"); return 0; }
Saluditos!.
|
|
|
En línea
|
|
|
|
Kherom
Desconectado
Mensajes: 40
|
No grites, por favor.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
No grites, por favor.
Creo que se refiere a ti LeoJ24, por el hecho de que escribir en mayúsculas se entiende equivale a gritar. ¿O me equivoco?. Saluditos!.
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
GRACIAS A TODOS POR LAS RESPUESTAS, YA ENTENDI ESTO DEL GETCH Y GETCHE GRACIAS A USTEDES.. MI PROXIMO PASO SON LAS SENTENCIAS DE CONDICION Y E SALTO (if, switch, goto, break). SALU2 En lugar de usar goto mejor usa: Biblioteca: setjmp.h jmp_buf; setjmp(); longjmp(): /* longjmp example */ #include <stdio.h> #include <stdlib.h> #include <setjmp.h> main() { jmp_buf env; int val; return 0; }
Más info: http://www.cplusplus.com/reference/csetjmp/longjmp/Te recomiendo tirar a la basura conio.h Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
zonahurbana
Desconectado
Mensajes: 178
RS, JC.
|
Tengo entendido que no existe problema que no pueda resolverse sin usar goto (se puede prescindir de él en el 99% de los casos), que con los bucles basta, o que existen otros métodos más eficientes: Sin embargo, esperemos más respuestas; quizás alguna nos ilustra con ejemplos jeje
|
|
|
En línea
|
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con lenguaje c
Ejercicios
|
jgilberto
|
0
|
3,222
|
1 Agosto 2009, 04:02 am
por jgilberto
|
|
|
Ayuda con lenguaje
Programación General
|
Fuen
|
4
|
2,731
|
3 Febrero 2011, 23:36 pm
por Stoya
|
|
|
Ayuda Con Asp.net lenguaje C#
.NET (C#, VB.NET, ASP)
|
Algotrix
|
2
|
3,736
|
2 Marzo 2011, 19:20 pm
por Algotrix
|
|
|
AYUDA CON LENGUAJE ENSAMBLADOR
ASM
|
nuru_chan
|
1
|
3,217
|
12 Diciembre 2012, 18:12 pm
por Eternal Idol
|
|
|
ayuda con lenguaje c por favor!
Programación C/C++
|
mariaorlando0922
|
2
|
2,090
|
11 Febrero 2013, 14:36 pm
por mariaorlando0922
|
|