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.