Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2010, 14:08
nestor1991ag
 
Fecha de Ingreso: abril-2010
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
C Crear un libro

Hola, estoy haciendo un ejercicio, he estado unas tres horas, pero ahora llevo buscando un buen rato la solución pero no puedo. Este es el enunciado y este es el codigo:

Ejercicio 21: (Trabajar en casa) Diseña un programa que permita a un usuario almacenar texto simulando un libro. Supón que el libro contiene como máximo 5 páginas, que cada página puede contener hasta 15 renglones y que cada renglón solo puede contener 10 caracteres. El usuario podrá añadir renglones a una página cuyo número indicará. El programa detectará el primer renglón libre de la página en la que se van a añadir renglones. El salto de un renglón será indicado por el usuario pulsando Intro (ASCII=13). El final de introducción de renglones de texto se producirá cuando se llene la página o cuando el usuario teclee $. El usuario podrá consultar el texto contenido en un renglón determinado del libro o en una página determinada.


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

void main()
{
char libro[10][15][5];
char letra;
int i, j, k, paginas, opcion, pagina, fila;

printf("¿Cuantas paginas vas a utilizar?\n");
scanf ("%d", &paginas);

printf ("Pulsa una tecla para comenzar\n");
getch();
system ("cls");

i=0;
j=0;
k=0;

while (k<=paginas-1)
{
while (i<=9)
{
while (j<=14)
{
letra=getche();

if (j==14)
{
printf("\n");
}

if (letra==13)
{
i=0;
j=0;
printf ("\n");
}

if (letra=='$')
{
i=100;
j=100;
k=100;
}

j++;
}
i++;
}
k++;
}

opcion=0;

while (opcion!=2)
{
printf ("\n\n¿Que quieres hacer ahora:?\n");
printf ("\tPulse 1 para ver lo que has introducido en un reglon de una pagina\n");
printf ("\tPulse 2 para salir\n");

scanf("%d", &opcion);

system("cls");

if (opcion==1)
{
printf ("Digame el reglon (fila)de la pagina que quiera mirar\n");
printf ("\tFila: ");
scanf ("%d", &fila);
printf ("\n\tPagina: ");
scanf ("%d", &pagina);

i=fila;
k=pagina;

for (j=0; j<=14; j++)
{
printf ("%c", libro[i][j][k]);
}
}
}

getch();
}


Me estan saliendo raices con el ejercicio este, no me funciona exactamente porque cuando introduzco 10 caracteres ya no puedo intnroducir mas.

Y cuando quiero ver la linea que he introducido me pone caracteres raros.

Eso es todo. Gracias por vuestro tiempo.