| Autor | Mensaje |
|---|
| Asunto: como programo esto? Publicado: 14 Nov, 2009 - 07:36 |
|
Nuevo en el Foro

Registrado: 10 Oct, 2009
Mensajes: 26
|
| Hola
Estmos empezando con C++, el profesor nos ha pedido que escribamos un programa que pida un caracter, lo muestre en pantalla y tambien que muestre su equivalente en Ascii o decimal..
Se como escribir que me pida y muestre un caracter pero lo que no se es como escribir para que muestre su equivalente en ASCII o en decimal.
Tengo echo esto:
#include <conio.h>
#include <stdio.h>
main()
{
char caracter;
printf("\nIntroduce un caracter --> ");
scanf("%c",&caracter);
printf("\n\nEl caracter que has puesto es --> %c",caracter);
getch();
} | |
| |
| |
|
|
 |
| Asunto: Publicado: 15 Nov, 2009 - 02:26 |
|
Habitual

Registrado: 11 May, 2006
Mensajes: 108
Ubicación: España
|
| Pues es practicamente lo que tenias hecho. Mostrar el contenido
decimal de la variable "caracter" es el numero ASCII asociado a
ese caracter.
Algo asi podria quedar.
#include <stdio.h>
#include <conio.h>
void main(void){
char caracter;
printf("\nIntroduce un caracter --> ");
scanf("%c",&caracter);
printf("\n\n\nConversion del caracter %c",caracter);
printf("\n\nASCII: %d",caracter);
printf("\nHEX: %x",caracter);
printf("\nOCTAL: %o",caracter);
printf("\nCaracter: %c",caracter);
getch();
} | |
| |
| |
|
|
 |
| Asunto: Publicado: 15 Nov, 2009 - 03:53 |
|
Nuevo en el Foro

Registrado: 10 Oct, 2009
Mensajes: 26
|
| Muchas gracias por responder
El profesor no nos dijo nada de como se podia hacer, tan solo que buscasemos en internet y claro lo que me faltaba era conocer la instruccion pero ahora sabiendola es facil.
Y como seria su equivalente en binario ?
S2 | |
| |
| |
|
|
 |
| Asunto: Publicado: 15 Nov, 2009 - 01:49 |
|
Habitual

Registrado: 11 May, 2006
Mensajes: 108
Ubicación: España
|
| Pues pasar de decimal a binario no es directo. Hay te he puesto algunas de las muchas
soluciones aunque si estas empezando no las entenderas. Se trata de ir rotando los bits
y detectar si es "1" o "0".
#include <stdio.h>
#include <conio.h>
void main(void){
char caracter=0;
int bits = sizeof(caracter)*8,i;
char binario[sizeof(caracter)*8];
printf("\nIntroduce un caracter --> ");
scanf("%c",&caracter);
printf("\n\n\nConversion del caracter \"%c\"",caracter);
printf("\n\nASCII: %d",caracter);
printf("\nHEX: %x",caracter);
printf("\nOCTAL: %o",caracter);
printf("\nCaracter: %c",caracter);
//Dos formas de convertir a binario.Una deja guardado en
//la cadena "binario" el resultado y la otra no.
printf("\nBinario: ");
for(i=0;i<bits;++i){
(((caracter>>(bits-i-1))&1)==1) ? printf("1"):printf("0");
}
for(i=0;i<bits;++i){
binario[i] = ((caracter>>(bits-i-1))&1) ? '1':'0';
}
binario[i]='\0';
printf("\nBinario: %s",binario);
getch();
} | |
| |
| |
|
|
 |
| Asunto: Publicado: 15 Nov, 2009 - 06:22 |
|
Nuevo en el Foro

Registrado: 10 Oct, 2009
Mensajes: 26
|
| Pues si lo veo complicado para pasar a binario de todos modos gracias.
Tengo otro ejercicio:
Pide un numero entero, otro real y un carácter. Imprime la suma de los dos
números (n1 + n2 = resultado) en una línea y el carácter leído en otra. Procura centrarlo lo
máximo que puedas en la pantalla.
Aqui tengo un par de problemas.
1ºSi pido el caracter primero todo bien, pero si lo pido desdpues de los dos numeros ya me salen cosas raras.
2º Como sumo un numero entero y otro real?
Tengo hecho esto:
main()
{
char caracter;
int num_entero;
float num_real;
float suma;
printf("\n Introduce un caracter --> ");
scanf("%c",&caracter);
printf("\n Introduce el numero entero --> ");
scanf("%d",&num_entero);
printf("\n Introduce el numero real --> ");
scanf("%f",&num_real);
suma= (num_entero + num_real)
printf("\n La suma de los dos numeros es --> %f",suma);
printf("\n\n El caracter que has puesto es --> %c",caracter);
getch();
}
S2 | |
| |
| |
|
|
 |
| Asunto: Publicado: 22 Nov, 2009 - 12:58 |
|
Nuevo en el Foro

Registrado: 10 Oct, 2009
Mensajes: 26
|
| Hola
Para pasar a binario un numerio decimal el profesor nos ha dicho que tambien se puede poner %0b pero el dev ++ no lo coge.
S2 | |
| |
| |
|
|
 |
|