Bloc notas
Página 1 de 1. • Compartir •
Bloc notas
Buenas a todos, nesecito ayuda
.
La cosa es así : no me sale un programa en c++ que maneje archivos, la idea de este programa es que se pueda escribir un texto, con espacios, tabulaciones y "enters", el programa va a ser parte de un sistema operativo que cuando este terminado se los posteo
.
Me pueden ayudar??
no importa que no se eligan los directorios paraguardar ni nada pero si el nombre del archivo para poder abrirlo despues, como se hacia con ms-dos pero sin directorio
----
----
La cosa es así : no me sale un programa en c++ que maneje archivos, la idea de este programa es que se pueda escribir un texto, con espacios, tabulaciones y "enters", el programa va a ser parte de un sistema operativo que cuando este terminado se los posteo
Me pueden ayudar??
no importa que no se eligan los directorios paraguardar ni nada pero si el nombre del archivo para poder abrirlo despues, como se hacia con ms-dos pero sin directorio
----
gaston- Mensajes: 16
Fecha de inscripción: 23/11/2009
Re: Bloc notas
hola gaston, para trabajar como si fuera un bloc de notas, debes trabajar todo dentro de un while, la idea que se me ocurre es que utilices un getch para tomar cada presion sobre el teclado. cada letra,espacio,enter, etc; tiene su codigo denominado Codigo Ascii. Te dejo adjunto el codigo de cada letra:


Ahi tenes los Codigo Ascii, como trabajarlos? Mi opinion seria utilizar una variable numerica y almacenar cada presion de tecla, de esta forma:
int Teclado;
teclado=getch();
en teclado vas a tener el numero de la letra (Codigo Ascii), por ejemplo:
if (teclado==13)
printf("Presiono la tecla Enter");
else
printf("No presiono la tecla Enter");
es un ejemplo para saber si el usuario toco el enter. Para guardarlo en un archivo, tenes q abrir el archivo primero, luego utiliza la funcion fprintf busca en los libros como se utiliza, es igual al printf solo q lo escribe dentro del archivo.


Ahi tenes los Codigo Ascii, como trabajarlos? Mi opinion seria utilizar una variable numerica y almacenar cada presion de tecla, de esta forma:
int Teclado;
teclado=getch();
en teclado vas a tener el numero de la letra (Codigo Ascii), por ejemplo:
if (teclado==13)
printf("Presiono la tecla Enter");
else
printf("No presiono la tecla Enter");
es un ejemplo para saber si el usuario toco el enter. Para guardarlo en un archivo, tenes q abrir el archivo primero, luego utiliza la funcion fprintf busca en los libros como se utiliza, es igual al printf solo q lo escribe dentro del archivo.
Fabian- Admin
- Mensajes: 20
Fecha de inscripción: 10/11/2009
Edad: 19

¡sos! urgente
Definitivamente nesecito ayuda, lo unico que logro es una matriz con los codigos de lo que ingrese:
1_¿Como guardo la matriz en un archivo?
2_¿Como hago que la imprecion decodifique el codigo y vuelvan a ser las letras que ingresé?
Gracias
----
----
1_¿Como guardo la matriz en un archivo?
2_¿Como hago que la imprecion decodifique el codigo y vuelvan a ser las letras que ingresé?
Gracias
----
gaston- Mensajes: 16
Fecha de inscripción: 23/11/2009
Re: Bloc notas
Hola gaston, bueno mira cuando trabajas con caracteres, es decir letras en c, ella no entiende las letras, solo entiende numeros con especificacion de q esas son letras. Por ejemplo:
char a[10];
gets(a);
printf("%s",a);
cuando escribis %s en el printf le tas dando una especificacion que los numeros que vienen son letras, por ejemplo vamos a pensar que en la a guarde mi nombre "fabian", entonces lo que tiene la variable a no es fabian sino tiene:
a[0]=70 (Codigo Ascii F)
a[1]=65 (Codigo Ascii A)
a[2]=66 (Codigo Ascii B)
a[3]=73 (Codigo Ascii I)
a[4]=65 (Codigo Ascii A)
a[5]=78 (Codigo Ascii N)
a[6]=0 (Codigo Ascii Null)
cuando le das las especificaciones %s, le estas diciendo q escriba en la pantalla la secuencia de numeros en formato letra, entonces busca en la lista de codigos ascii que letra es cada numero.
Como guardo la matriz en un archivo?
Abris el archivo con fopen, utilizas un for que de vuelta en la matriz y escriba con fprintf la letra en esa posicion.
Como hago que la impresion decodifique el codigo y vuelva a ser las letras que ingrese?
Como te explique mas arriba, si keres escribir en pantalla lo q escribiste con un %s te resuelve todo
.
Un abrazo
Saludos
char a[10];
gets(a);
printf("%s",a);
cuando escribis %s en el printf le tas dando una especificacion que los numeros que vienen son letras, por ejemplo vamos a pensar que en la a guarde mi nombre "fabian", entonces lo que tiene la variable a no es fabian sino tiene:
a[0]=70 (Codigo Ascii F)
a[1]=65 (Codigo Ascii A)
a[2]=66 (Codigo Ascii B)
a[3]=73 (Codigo Ascii I)
a[4]=65 (Codigo Ascii A)
a[5]=78 (Codigo Ascii N)
a[6]=0 (Codigo Ascii Null)
cuando le das las especificaciones %s, le estas diciendo q escriba en la pantalla la secuencia de numeros en formato letra, entonces busca en la lista de codigos ascii que letra es cada numero.
Como guardo la matriz en un archivo?
Abris el archivo con fopen, utilizas un for que de vuelta en la matriz y escriba con fprintf la letra en esa posicion.
Como hago que la impresion decodifique el codigo y vuelva a ser las letras que ingrese?
Como te explique mas arriba, si keres escribir en pantalla lo q escribiste con un %s te resuelve todo
Un abrazo
Saludos
Fabian- Admin
- Mensajes: 20
Fecha de inscripción: 10/11/2009
Edad: 19

Re: Bloc notas
Mila gracias favian!
mira con %c tambien funca, un programita de ej:
#include;
#include;
#include;
#define max 100;
int main()
{
clrscr();
int a, txt[4];
for(a=0; a<4; a++)
{
txt[a]=getch();
}
for(a=0; a<4; a++)
{
printf("%c", txt[a]);
}
getch();
return 0;
}
imprime cuatro letras que ayas ingresado, mas tarde publico completo el SO
----
---- 
mira con %c tambien funca, un programita de ej:
#include
#include
#include
#define max 100;
int main()
{
clrscr();
int a, txt[4];
for(a=0; a<4; a++)
{
txt[a]=getch();
}
for(a=0; a<4; a++)
{
printf("%c", txt[a]);
}
getch();
return 0;
}
imprime cuatro letras que ayas ingresado, mas tarde publico completo el SO
----
gaston- Mensajes: 16
Fecha de inscripción: 23/11/2009
Re: Bloc notas
De yapa uno que muestra todo el codigo ascii jaa
#include
#include
#include
int main()
{
int i;
int cont=0;
cout<<"RESULTADO: CODIGO ASCII"<<"\n";
for (i=33;i<=255;i++)
{
printf("%c= %d\t",i,i);
cont++;
}
getch();
}
#include
#include
#include
int main()
{
int i;
int cont=0;
cout<<"RESULTADO: CODIGO ASCII"<<"\n";
for (i=33;i<=255;i++)
{
printf("%c= %d\t",i,i);
cont++;
}
getch();
}
gaston- Mensajes: 16
Fecha de inscripción: 23/11/2009
Re: Bloc notas
Je si funciona con %c porque es un solo caracter, no me habia dado cuenta, un saludo
Fabian- Admin
- Mensajes: 20
Fecha de inscripción: 10/11/2009
Edad: 19

Permiso de este foro:
No puedes responder a temas en este foro.
Índice


