19 de febrero de 2010

Proyecto I continuación segundo algoritmo

Bueno como les comente aqui voy a seguir hablando del proyecto I con el problema 2.

Problema 2: Colocar un grupo de libros en un librero en orden alfabetico segun el titulo.
Diagrama de flujo
Bueno como vemos en la imagen anterior primero checamos si tienes libros en el librero, despues vemos lo que en programacion se llama switch en el que viene escrito cual es el orden que tienes, que escoges o escogiste y te pide seleccionar un caso de 3 posibles.
El primer caso es acomodar los libros por título, te pide tomar un libro, buscar la inicial del título, después buscar el lugar deonde va esa inicial en el librero, despues si existen muchos libros con esa inicial busca cada letra del titulo para encontrarle un lugar, despues colócalo alli.
El segundo caso es por autor, toma un libro y busca el nombre del autor, despues en el librero busca el lugar donde va ese autor, si existen muchos libros, busca algun número o el nombre del libro, despues busca el lugar correcto en orden alfabetico y finalmente colocalo alli.
El tercer y ultimo caso es acomodar los libros por editorial, toma un libro y busca la inicial del nombre de la editorial, busca el lugar donde va esa editorial, si hay uno o mas libros en el librero acomodalo segun el titulo y eso va a hacer que te regreses al punto 2 que es acomodar por titulo.
Si tienes mas libros por acomodar vas a tener que regresar al punto 1, y si no, haz terminado.

El programa y el codigo en C:

#include
#include
int opcion;
int main()
{
printf("Acerca los libros que quieres acomodar en el librero\n");
do{
printf("\nTienes libros en el librero?\n1.-Si\n2.-No\n");
scanf("%d",&opcion);
}while(opcion!=1
opcion!=2);
do{
do{
printf("\nQue orden tienes, escoges o escogiste?\n1.-Titulo\n2.-Autor\n3.-Editorial\n");
scanf("%d",&opcion);
}while(opcion<1
opcion>3);
clrscr();
do
switch(opcion)
{
case 1: {
printf("\nPOR TITULO\n");
getch();
printf("Toma un libro\n");
getch();
printf("BUsca la inicial del titulo\n");
getch();
printf("En el librero busca el lugar donde va esa inicial\n");
getch();
printf("Si existen muchos libros alli, busca cada letra\ndel titulo del libro para encontrarle un lugar\n");
getch();
opcion=0;
break;
}
case 2: {
printf("\nPOR AUTOR\n");
printf("Toma un libro busca el nombre del autor\n");
printf("En el librero busca el lugar donde va ese autor");
printf("\n\nSi existen muchos libros alli, busca algun numero o el nombre del titulo\n");
printf("Busca el lugar correcto de acuerdo al numero o a la inicial del titulo, en orden alfabetico\n");
opcion=0;
break;

}
case 3: {
printf("\nPOR EDITORIAL\n");
printf("\ntoma un libro, busca la inical del nombre de la editorial\n");
printf("\nEn el librero busca el lugar donde va esa editorial\n");
printf("\nHay uno o mas libros\n1.-Si\n2.-No\n");
scanf("%d",&opcion);
if(opcion==2)
break;
else{
opcion=2;
break;
}
}
}
}while(opcion==2);
printf("\nColocala alli\n");
clrscr();
printf("\nTienes mas libros para acomodar\n1.-Si\n2.-No\n");
scanf("%d",&opcion);
}while(opcion==1);
printf("\nHaz Terminado\n");
}

2 ejemplos de ejecucion paso a paso:
Ejemplo 1:
Voy a inventar nombres
Tenemos el libro "Serpiente" de Jesus Ruiz de la editorial Corona
Lo acomodaremos por título, buscas la inicial del titulo que es la "S", buscas en el librero donde va esa inicial, despues si existen muchos libros con esa inicial busca cada letra del titulo para encontrarle un lugar, despues colocalo allí.
Ejemplo 2: 
Tenemos el libro "Tigre" de Gonzalo Solis de la editorial Corona
Lo acomodaremos por autor, busca el nombre del autor, despues en el librero busca el lugar donde va ese autor, si existen muchos libros con ese autor, puedes acomodarlo por titulo o editorial tambien, despues buscael lugar correcto en orden alfabetico y finalmente colocalo allí.

Bueno estas dos entradas son el Proyecto I

1 comentario:

Elisa dijo...

Ustedes sí sabian subir su diagrama grande al blog :)