Sei sulla pagina 1di 8

Proyecto final Programacin VIII:

JAVA
1.
2.
3.
4.
5.

Introduccin
Programa
Explicacin del programa
Programa Corriendo
Conclusin

Introduccin
El lenguaje de programacin Java fue originalmente desarrollado por James
Gosling de Sun Microsystems (la cual fue adquirida por la compaa Oracle) y publicado
en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems.
Su sintaxis deriva mucho de C y C++, pero tiene menos facilidades de bajo nivel que
cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a by
tecode (clase Java) que puede ejecutarse en cualquier mquina virtual Java (JVM) sin
importar la arquitectura de la computadora subyacente.

OBJETIVO
Para demostrar el uso de Java se cre un programa que tiene por objetivo organizar CD"s
y DVD"s con los siguientes datos:
Orden numrico Titulo Detalle Contenido Genero

Programa
import java.io.*;
class PPP
{
public static class disco
{
String Titulo;
String Contenido;
String Detalle;
String Genero;
int num;
}
static int ta=0;
public static void main(String []arg)throws IOException
{ disco x=new disco();
disco [] vector;
int opcion=0;
BufferedReader w= new BufferedReader(new InputStreamReader(System.in));
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA
do{
System.out.println("--------------------------------------------------------");
System.out.println("CD/DVD\n 1:Registrar\n 2:Listado\n 3:Ordenar por titulo\n 4:Ordenar por
Numero\n 5:Borrar todo\n 6:Buscar por titulo\n 7:Buscar por numero\n 8:Salir");
System.out.println("--------------------------------------------------------");
opcion=Integer.parseInt(w.readLine());
switch(opcion){
case 1:
try{
System.out.println("Escriba el titulo ");
x.Titulo=w.readLine();
System.out.println("Escriba el contenido ");
x.Contenido=w.readLine();
System.out.println("Escriba algun detalle");
x.Detalle=w.readLine();
System.out.println("Escriba el genero ");
x.Genero=w.readLine();
System.out.println("Escriba el numero ");
x.num=Integer.parseInt(w.readLine());
archivar(x);
}
catch(NumberFormatException ex){
System.out.println("Error!! nota es entero!!"); }
break;
case 2: lista_todo();
break;
case 3: vector=copia_archivo_a_vector();
vector=ordena(vector);
borrar_todo();
copia_del_vector_al_archivo(vector);
lista_todo();
break;
case 4: vector=copia_archivo_a_vector();
vector=ordenanum(vector);
borrar_todo();
copia_del_vector_al_archivo(vector);
lista_todo();
break;
case 5: Borrar();
break;
case 6:vector=copia_archivo_a_vector();
vector=buscartit(vector);
break;
case 7:vector=copia_archivo_a_vector();
vector=buscarnum(vector);
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA
break;
}
}while(opcion!=8);
System.out.println("GRACIAS\nPROGRAMA DESARROLLADO POR MAURICIO JIMENEZ");
}
//-------------------------------------public static void archivar(disco z)throws IOException
{
FileOutputStream archivo_logico = new FileOutputStream("PPP.TXT",true);
DataOutputStream data=new DataOutputStream(archivo_logico);
data.writeUTF(z.Titulo);
data.writeUTF(z.Contenido);
data.writeUTF(z.Detalle);
data.writeUTF(z.Genero);
data.writeInt(z.num);
archivo_logico.close();
}
//----------------------------------------------------------------public static void lista_todo(){
disco z=new disco();
try
{
FileInputStream fi=new FileInputStream("PPP.TXT");
System.out.println("LISTADO DEL ARCHIVO");
DataInputStream data=new DataInputStream(fi);
System.out.println("\t\tNUMERO\t\tTITULO\t\tDETALLE\t\tGENERO\t\tCONTENIDO");
while(true)
{
z.Titulo=data.readUTF();
z.Contenido=data.readUTF();
z.Detalle=data.readUTF();
z.Genero=data.readUTF();
z.num=data.readInt();
System.out.println("\t\t"+z.num+"\t\t"+z.Titulo+"\t\t"+z.Detalle+"\t\t"+z.Genero+"\t\t"+z.Contenido);
}
} catch (FileNotFoundException e) {
System.out.println("+++ El archivo no existe!!!!!");
}
catch (EOFException e)
{
System.out.println("termino la lectura");
} catch (IOException e) {
System.out.println("error en ioexception");
}
}
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA
//-----------------------------------------------------public static void borrar_todo()throws IOException
{ FileOutputStream archivo_logico;
archivo_logico = new FileOutputStream("PPP.TXT");
archivo_logico.close();
}
//-------------------------------------------------------public static disco [] copia_archivo_a_vector(){
disco []z=new disco [20];
ta=0;
try
{
FileInputStream fi=new FileInputStream("PPP.TXT");
DataInputStream data=new DataInputStream(fi);
while(true)
{ z[ta]=new disco();
z[ta].Titulo=data.readUTF();
z[ta].Contenido=data.readUTF();
z[ta].Detalle=data.readUTF();
z[ta].Genero=data.readUTF();
z[ta].num=data.readInt();
ta++;
}
} catch (FileNotFoundException e) {
System.out.println("+++ El archivo no existe!!!!!");
}
catch (EOFException e)
{
} catch (IOException e) {
System.out.println("error en ioexception");
}
return (z);
}
//-------------------------------------------------------public static void copia_del_vector_al_archivo(disco z[])throws IOException
{
FileOutputStream archivo_logico = new FileOutputStream("PPP.TXT",true);
DataOutputStream data=new DataOutputStream(archivo_logico);
for(int i=0;i<<em>ta;i++){
data.writeUTF(z[i].Titulo);
data.writeUTF(z[i].Contenido);
data.writeUTF(z[i].Detalle);
data.writeUTF(z[i].Genero);
data.writeInt(z[i].num);
}
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA
archivo_logico.close();
}
//--------------------------------------------------------public static disco [] ordena(disco z[])
{
disco aux=new disco();
for(int i=0;i<<em>ta;i++){
for(int j=i;j<<em>ta;j++){
if(z[i].Titulo.compareTo(z[j].Titulo)>0){
aux=z[i];
z[i]=z[j];
z[j]=aux;
}
}
}
return (z);
}
public static disco [] buscarnum(disco z[])throws IOException
{
disco aux=new disco();
int b;
BufferedReader w= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Que numero desea buscar?");
b=Integer.parseInt(w.readLine());
for(int i=0;i<<em>ta;i++){
if(z[i].num==b){
System.out.println("\t\t"+z[i].num+"\t\t"+z[i].Titulo+"\t\t"+z[i].Detalle+"\t\t"+z[i].Genero+"\t\t"+z[i].Conte
nido);
}
}
return (z);
}
public static disco [] buscartit(disco z[])throws IOException
{
disco aux=new disco();
String b;
BufferedReader w= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Que titulo desea buscar?");
b=w.readLine();
for(int i=0;i<<em>ta;i++){
if(z[i].Titulo.compareTo("b")==0){
System.out.println("\t\t"+z[i].num+"\t\t"+z[i].Titulo+"\t\t"+z[i].Detalle+"\t\t"+z[i].Genero+"\t\t"+z[i].Conte
nido);
}
}
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA
return (z);
}
public static disco [] ordenanum(disco z[])
{
disco aux=new disco();
for(int i=0;i<<em>ta;i++){
for(int j=i;j<<em>ta;j++){
if(z[i].num>z[j].num){
aux=z[i];
z[i]=z[j];
z[j]=aux;
}
}
}
return (z);
}
public static void Borrar()throws IOException
{ FileOutputStream archivo_logico;
archivo_logico = new FileOutputStream("PPP.TXT");
archivo_logico.close();
}
//---------------------------------------------------------

Explicacin del programa


El programa est hecho a base de Archivos, es decir que todo lo guarda en la memoria del disco
duro y cada vez que se vuelva a abrir el programa los datos estarn guardados sin la necesidad de
un base de datos.
El programa principal desplega un men que es el siguiente:
System.out.println("--------------------------------------------------------");
System.out.println("CD/DVD\n 1:Registrar\n 2:Listado\n 3:Ordenar por titulo\n 4:Ordenar por
Numero\n 5:Borrar todo\n 6:Buscar por titulo\n 7:Buscar por numero\n 8:Salir");
System.out.println("--------------------------------------------------------");
opcion=Integer.parseInt(w.readLine());
switch(opcion)
Pide al usuario una accin que ser realizada por el programa, cada opcin se encuentra en
una funcin diferente
Para archivar el programa se usara la siguiente funcin
public static void archivar(disco z)throws IOException
{
FileOutputStream archivo_logico = new FileOutputStream("PPP.TXT",true);
DataOutputStream data=new DataOutputStream(archivo_logico);
data.writeUTF(z.Titulo);
data.writeUTF(z.Contenido);
data.writeUTF(z.Detalle);
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA
data.writeUTF(z.Genero);
data.writeInt(z.num);
archivo_logico.close();
}
Para desplegar un listado usaremos esta funcin
public static void lista_todo(){
disco z=new disco();
try
{
FileInputStream fi=new FileInputStream("PPP.TXT");
System.out.println("LISTADO DEL ARCHIVO");
DataInputStream data=new DataInputStream(fi);
System.out.println("\t\tNUMERO\t\tTITULO\t\tDETALLE\t\tGENERO\t\tCONTENIDO");
while(true)
{
z.Titulo=data.readUTF();
z.Contenido=data.readUTF();
z.Detalle=data.readUTF();
z.Genero=data.readUTF();
z.num=data.readInt();
System.out.println("\t\t"+z.num+"\t\t"+z.Titulo+"\t\t"+z.Detalle+"\t\t"+z.Genero+"\t\t"+z.Contenido);
}
} catch (FileNotFoundException e) {
System.out.println("+++ El archivo no existe!!!!!");
}
catch (EOFException e)
{
System.out.println("termino la lectura");
} catch (IOException e) {
System.out.println("error en ioexception");
}
}
Ya para el resto de las opciones las funciones son mas pequeas y fciles de entender

Programa Corriendo
A continuacin veremos capturas de pantalla para demostrar el funcionamiento del programa

Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Proyecto final Programacin VIII:


JAVA

En este listado podemos observar un pequeo error debido a la doble tabulacin que existe,
cuando un String es muy largo la doble tabulacin se alarga ms de lo debido.

Conclusin
Este programa demuestra todo lo aprendido en la materia de programacin I y como se puede
llegar a usar los diferentes temas como ser, funciones, matrices, vectores, vector de objetos y
archivos en un solo programa, cabe destacar que no se usaron base de datos todos los archivos
fueron guardados en un documento de texto creado desde el mismo programa.

Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII
Autor:
Alberto Cruz
DOCENTE: ING IRMA PRADO
PARALELO: V SEMESTRE: VIII-2012
PROYECTO FINAL
PROGRAMACION VIII

Potrebbero piacerti anche