• Sábado 20 de Abril de 2024, 06:12

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - tomas_sauron

Páginas: 1 [2] 3
26
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Lunes 23 de Mayo de 2011, 03:17 »
hola creo q lo q esta mal es la part recursiva o sea al programa vos le pones
if (n>1){
 condiciones
}
deberia ir un else {
condiciones
}
ya q nada le impid al programa q c siga llamando hasta q n valga lo k sea
x ejemplo corrri tu programa en eclipse con el debug
y m dic q n x lo menos llega a valer -280

un ejemplo d recursividad es el factorial
si n =0 entonces n!=1
sino si n>=1 entonces n!=(n-1)!.n

y creo  es mejor si trabajas con vectores
pasarle la primera posicion y la ultima
y preguntar las condiciones en base a esas posiciones
bah yo lo hacia asi m andaba  :D
noc si m expliq bien sino pregunta d vuelta !!!
saludos!! :hola:  

PD: usas eclipse ?? o en bloc de notas ???

27
JSP/Servlets / Re: duda con administrar permisos usuarios
« en: Lunes 16 de Mayo de 2011, 20:54 »
si  entiendo gracias !!

28
JSP/Servlets / Re: duda con administrar permisos usuarios
« en: Lunes 16 de Mayo de 2011, 20:11 »
sisi eso es lo q llevo hecho hasta ahora pero qeria sabr si hay una manera
noc un poco mas eficaz o si algun libro q hable d este tema  del correcto uso si
hay muchos administradores noc si m explico ?? igual gracias !!!

29
JSP/Servlets / duda con administrar permisos usuarios
« en: Lunes 16 de Mayo de 2011, 05:33 »
hola gnt !! estoy leyendo sobre java web la part d srvlts y jsp, y m surge una duda com administrar prmisos de ususari o
yo tngo hecha una pagina hecha q muestra datos de un club y los modifica da d alta a nuevos socios y da bajas tmb  y qeriia poner
restricciones a los usuarios normales para q solo vean sus datos personales y no podr modificarlos y las modificaciones las hagan los administradores del club
pnc  en  darles contrasenia a los administradores para q se registren d esa manera para q en el posterior logueo un metodo consult en la base d datos en una tabla
d id d administradores para asignarle el permiso correspondiente mi duda es si hay alquien sab si hay una manera mas eficas y si estoy bien encaminado
dsd ya muchas gracias !!!

30
Java / Re: Obtener datos mostrados en un jsp a traves una clase
« en: Sábado 14 de Mayo de 2011, 04:39 »
hola noc si resolvist tu duda (supongo q si x la fecha del mensaje jeje pero igual ) si qeres mostrar un List<> en un jsp dbs simplemente pasarle
una lista y recorrerlo con un forEach en el jsp   y dntro dl forEach acs lista.nombre por ejemplo dond nombre s el atributo d tu clase dominio
espero no sea tarde y t sirva saludos!!

31
Java / problema mostrar datos en un jsp
« en: Martes 10 de Mayo de 2011, 02:37 »
alguien sabe como mostrar en un jsp una lista de datos tomados de una base de datos y almacenados en un arraylist ????
la cosa seria guardar los datos de socios en un array list
 
Código: Java
  1. package GimnasioWeb;
  2.  
  3. import java.util.*;
  4.  
  5.  
  6. public class Socio {
  7.    
  8.    
  9.    
  10.  
  11.     private int Id;
  12.     private String Nombre;
  13.     private String Apellido;
  14.     private double Cuota;
  15.     private double Saldo;
  16.     private Membrecia unaMembrecia;
  17.     private List<Actividad>Actividades;
  18.     private int ActAnotado;
  19.     private boolean seAgrego=false;
  20.  
  21.  
        donde Membrecia es un objeto de tipo membrecia ,y actividaddes tambien el probloema se me presenta en sacar los datos d membrecia y actividades q estan dntro d socio
Código: Text
  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  2.     pageEncoding="ISO-8859-1"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11.        <table border="2">
  12.          <c:forEach var ="current" items="${lista}">
  13.          <tr>
  14.              <td>
  15.                  <b>
  16.                     <c:out value="${current.nombre }"/><c:out value="      "/><c:out  value="${current.apellido }"/><c:out value="                   "/><c:out value="${current.cuota }"/><c:out value="             "/><c:out value="${current.saldo }"/><c:out value="        "/><c:out value="${current.id }"/>
  17.                   </b>
  18.                  
  19.              </td>
  20.              
  21.          </tr>
  22.          
  23.         </c:forEach>
  24.                    
  25.        </table>            
  26. </body>
  27. </html>
  28.  

este es el jsp
graciaas d antemano !!!!!!!

32
Java / Re: [UNA MANO PORFAVOR]Mini Agenda
« en: Lunes 9 de Mayo de 2011, 04:59 »
ahhhhhhhh  si yo tmb soi est udiant pero todavia
no m dan java (lo toi leyendo x mi cuenta)rec en en 3 bue yo ic una agenda en java  
asi media basica pero anda usa archivos si qeres  te la paso
y t fijas ahi noc si t servira  por ejemplo un boton q tngo es asi
Código: Java
  1.  private void BtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {                                          
  2.  
  3.             Ciudad = txtCiudad.getText();
  4.             nom = txtnom.getText();
  5.             ape = txtape.getText();
  6.             tel = txttel.getText();
  7.             cel = txtcel.getText();
  8.             mail = txtmail.getText();
  9.             dir = txtdir.getText();
  10.  
  11.          try {
  12.             crearArch(nom);
  13.             guardarArch(nom, ape, mail, dir,tel,cel,Ciudad);
  14.         } catch (IOException ex) {
  15.             Logger.getLogger(pruebClass.class.getName()).log(Level.SEVERE, null, ex);
  16.         }
  17.  
  18.          
  19.             txtnom.setText("");
  20.             txtape.setText("");
  21.             txttel.setText("");
  22.             txtcel.setText("");
  23.             txtmail.setText("");
  24.             txtdir.setText("");
  25.             txtCiudad.setText("");
  26.             this.dispose();
  27.  
  28.  
  29.  
  30.     }            
  31.  

33
Java / Re: [UNA MANO PORFAVOR]Mini Agenda
« en: Lunes 9 de Mayo de 2011, 04:36 »
cual es el problema ?? y xq no lo acs con netbeans ??

34
Java / Re: COMPILACION DE CODIGO / reached end of file while parsing
« en: Jueves 28 de Abril de 2011, 06:40 »
Disculpa    Matias la verdad te contest rapido y solo vi que faltaba una llave pero tenias dos errores uno era la falta de la llave y
el otro es hacer  un archivo .java con dos clases publicas lo q tenes q hacer es o bien crear una clase publica y la otra no o lo mejor
es hacer un .java con una sola clase.
 por ejemplo si hablamos de venta de ropas ,podes hacer un archivo Shirt.java  ,Pant.java ,Pullover.java donde cada archivo posee un public class Shirt ,public class Pant ,public class Pullover respectivamente

con sus metodos correspondientes  y ademas vas a tener un archivo VentaTest.java que es el que va a contener el main
acordate que cuando hablas de objetos se trata de individualizar las cosas o sea tenes una camisa un pantalon y un pullover
por eso es conveniente hacer clases separadas que representen cada objeto que a vos t sea importante en el problema q trates de resolver,
otra cosa cuando el compilador te tira reached end of file        while parsing      }
 t seniala la llave !!,despues si le colocas la llave q falta t dice class Shirt is public ,should be declared in a file named Shirt.java
te dice q declares la clase Shirt en otro .java

en cuanto  a los otros tres errores estas declarando un objeto y luego lo inicializas con el tipo de dato dl objeto tiene razon el amigo Shadow
pero eso en el primer archivo q publicast no estaba tendrias q separar  repito el PRIMER  archivo q publicaste (donde estan las dos clases juntas ),en Shirt.java y ShirtTest.java y añadir la llave en Shirt.java y ya esta
bueno espero avrt sido d ayuda y claro!!, sino segui preguntando  
SUERTE y SALUDOS!!!!

35
Java / Re: ¿Como guardar un tipo vector en un archivo?
« en: Miércoles 27 de Abril de 2011, 17:43 »
ni idea jaja parece q no ai posibilidad d retractarse jaja

36
Java / Re: ¿Como guardar un tipo vector en un archivo?
« en: Miércoles 27 de Abril de 2011, 14:55 »
esta perdonado senior jaja

37
Java / Re: COMPILACION DE CODIGO / reached end of file while parsing
« en: Miércoles 27 de Abril de 2011, 14:48 »
una pavada error claasico t falta una llave suert !!

38
Java / llamar 1 frame deesd otro frame
« en: Sábado 23 de Abril de 2011, 00:57 »
Hola gente alguien sab como hacer para al clickear 1 boton en 1 frame q llame a otro frame ??
osea para x ejemplo en una agenda al pinchar sobre un contacto y clickear el boton q muestre en otro frame los datos del contacto
si contstan muchas gracias !!!!!

39
Java / Re: ¿Como guardar un tipo vector en un archivo?
« en: Domingo 17 de Abril de 2011, 01:45 »
hola yo soy medio novato noc si t servira mi respuesta.....pero estuv probando y estoy
usando ArrayList para guardar en un archivo (q es parecido a un vector) asi q  proba d usar la serializacion q t dja guardar objetos en un archivo
suerte!!

40
Java / Error con archivos y ArrayList
« en: Miércoles 13 de Abril de 2011, 07:06 »
hola gente!!! estoy empezando en java hace un mes y algo mas y leyendo un poco logre llegar  hasta archivos en mi entendimiento pero m falta mucho todavia.Bueno la cosa es esta , tengo problemas con este codigo estoy intentando a hacer una especie d agenda pero lo unico q m importa ees ver el funcionamiento de archivos y ArrayList y su relacion el programa esta hecho en netbeans 6.9
y el problema salta cuando quiero leer el archivo paara mostrar los datos al guardar no hay problema el error qu tira es en tiempo d ejecucion y es est
[color=#FF0000Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException]
aqui el codigo del boton q abre los datos
Código: Java
  1.  private void btnSavePerson1ActionPerformed(java.awt.event.ActionEvent evt) {
  2.  
  3.       try{
  4.           ObjectInputStream fileIn=new ObjectInputStream(new FileInputStream("agenda.dat"));
  5.             try {
  6.                 book = (ArrayList) fileIn.readObject();
  7.             } catch (ClassNotFoundException ex) {
  8.                 Logger.getLogger(Formulario.class.getName()).log(Level.SEVERE, null, ex);
  9.             }
  10.           fileIn.close();
  11.          Datos agenda=book.get(i-1);
  12.          nom=agenda.getNombre();
  13.          ape=agenda.getApellido();
  14.          dir=agenda.getDireccion();
  15.          mail=agenda.getEmail();
  16.          tel=agenda.getTelefono();
  17.          txtName1.setText(nom);
  18.          txtApe1.setText(ape);
  19.          txtDire1.setText(dir);
  20.          txtmail1.setText(mail);
  21.          txtTel1.setText(""+tel);
  22.       }catch(FileNotFoundException ex){
  23.           JOptionPane.showMessageDialog(this,"Error!! No se encuentra archivo");
  24.  
  25.       }catch(IOException ex){
  26.           JOptionPane.showMessageDialog(this,"Error!!");
  27.  
  28.       }
  29.  
  30.  
  31.     }
  32.  
  33.  
y el boton qu guarda es este
Código: Java
  1.  private void btnSavePersonActionPerformed(java.awt.event.ActionEvent evt) {
  2.  
  3.            ape=txtApe.getText();
  4.            nom=txtName.getText();
  5.            dir=txtDire.getText();
  6.            mail=txtmail.getText();
  7.            tel=Integer.parseInt(txtTel.getText());
  8.            Datos agenda = new Datos(nom,ape,mail,dir,tel);
  9.            book.add(i,agenda);
  10.            i++;
  11.            txtApe.setText("");
  12.            txtName.setText("");
  13.            txtDire.setText("");
  14.            txtmail.setText("");
  15.            txtTel.setText("");
  16.  
  17.            try{
  18.                ObjectOutputStream fileOut=new ObjectOutputStream(new FileOutputStream("agenda.dat"));
  19.                fileOut.writeObject(agenda);
  20.                fileOut.close();
  21.            }catch(FileNotFoundException ex){
  22.                JOptionPane.showMessageDialog(this,"Error!! No se encuentra archivo");
  23.            }catch(IOException ex){
  24.               JOptionPane.showMessageDialog(this,"Error!!");
  25.  
  26.  
  27.            }
  28.  
  29.  
  30.     }
  31.  
PD: hay una cclase Datos q possee todos los geters y seters con los atributos nombre apellido direccion email y telefono si alguien m puede contestar se lo agradecere mucho !!!!!!!!!!!!


[/color]

41
Java / Re: numero primo(pasaje por referencia)
« en: Martes 8 de Marzo de 2011, 15:01 »
bueno gracias querido por la ayuda!!...igualmente por lo poco q se y lei mas de una clase no puede ser public,ademas static debe ser el metodo q posea algo dentro d si,ojo! esto es lo q me arrojo el compilador (los errores),lo q si es cierto un constructor no devuelve valor alguno entonces a ver si me ayudas con esta duda como hago para comunicarme entre clases de manera statica ???..muchas gracioas amigo!!

42
Java / numero primo(pasaje por referencia)
« en: Martes 8 de Marzo de 2011, 05:31 »
hola gente de java soy muy nuevo en java es mas empece anoche leyendo un manual q encontre en la web,bueno lo q mas me importa es si me pueden ayudar a entender
el pasaje por referencia de java ya q yo conozco el de pascal y no son iguales,intente implementar el pase de parametros por referencia con un clasico como el de
los numeros primos pero no quedo bien al compilar sale primos_ppal.java:27:cannot find symbol
smbol:constructor
es el error de estar mal hecha la referencia supongo bueno si alguien me puede ayudar se agradece de antemano !!
Código: Java
  1. class primos {
  2.        boolean esPrimo;
  3.        public  boolean primos(int n){
  4.           int k=2;
  5.           esPrimo=true;
  6.           while((k<=n-1) && (esPrimo)){
  7.              if((n%k)==0)
  8.                 esPrimo=false;
  9.              else
  10.                 esPrimo=true;
  11.              
  12.               k++;
  13.           }
  14.          
  15.           return(esPrimo);
  16.  
  17.  
  18.         }
  19.  
  20.  
  21. }
  22.  
  23. class primos_ppal {
  24.  
  25.         public static void main(String args[]) {
  26.            primos var;
  27.            var=new primos(3);
  28.            System.out.println(var);
  29.                  
  30.         }
  31.  
  32.        
  33.  
  34. }  
  35.  
pd:una funcion q devuelve un booleano puede ser static????

43
Pascal / soy tan tonto q no me sale este ej con archivos
« en: Domingo 13 de Febrero de 2011, 01:41 »
gente necesito ayuda con este programa de pascal...se trata de una aplicacion para solicitudes de autos este es el enunciado estoy practicando para mi final de programacion 1 si alguien me pued ayudar muchas gracias de antemano.....hice casi todo el programa pero no logro q ejecute despues de los ingresos de los datos y ya noc q mas hacer
.- Desarrollar un algoritmo que permita la actualización de un archivo de solicitudes de planes de ahorro para compra de automóviles.

Se cuenta con un archivo secuencial ordenado en forma ascendente por el campo NRO-SOLICITUD donde están registradas todas las solicitudes vigentes. Los registros de este archivo tienen la siguiente estructura:

           REGISTRO-SOLICITUD
NRO-SOLICITUD       entero
TITULAR                     cadena de 40 caracteres
MARCA                       entero (1 a 4)
MODELO                     entero (1 a 3)
COLOR              entero (1 a 8)

 
Y un archivo también secuencial que informa las altas a procesar. Este archivo tiene la misma estructura de registros que el archivo de solicitudes  y también está ordenado en forma ascendente por el campo NRO-SOLICITUD

Se quiere generar un nuevo archivo de solicitudes resultado de efectuar las altas correspondientes. (Este archivo tendrá la misma estructura que el archivo de solicitudes.)
Se podrán rechazar altas  por nro. de solicitud ya existente o por valor inválido en marca, modelo o color. Se listará cada alta rechazada indicando la razón del rechazo.

Al final del proceso se emitirá un informe indicando para cada marca, la cantidad de solicitudes existentes por modelo y color.
También al final del proceso se indicará la cantidad de registros leídos en cada uno de los archivos de entrada, la cantidad de registros grabados en el archivo actualizado, la cantidad de altas  rechazadas.
Código: Pascal
  1. program autos;
  2. uses crt;
  3. type
  4.     tnum=integer;
  5.     tregAlta=record
  6.                  nro:tnum;
  7.                  titular:string[40];
  8.                  marca:tnum;
  9.                  modelo:tnum;
  10.                  color:tnum
  11.             end;
  12.      tregRech=record
  13.                  nro:tnum;
  14.                  titular:string[40];
  15.                  motivo:string[20]
  16.             end;
  17.      tregMarca=record
  18.                     mod1M1,mod2M1,mod3M1:tnum;
  19.                     mod1M2,mod2M2,mod3M2:tnum;
  20.                     mod1M3,mod2M3,mod3M3:tnum;
  21.                     mod1M4,mod2M4,mod3M4:tnum;
  22.                     color1M1,color2M1,color3M1,color4M1,color5M1,color6M1,color7M1,color8M1:tnum;
  23.                     color1M2,color2M2,color3M2,color4M2,color5M2,color6M2,color7M2,color8M2:tnum;
  24.                     color1M3,color2M3,color3M3,color4M3,color5M3,color6M3,color7M3,color8M3:tnum;
  25.                     color1M4,color2M4,color3M4,color4M4,color5M4,color6M4,color7M4,color8M4:tnum;
  26.                 end;
  27.       arAlta=file of tregAlta;
  28.       arRech=file  of tregRech;
  29.       arMarca=file of tregMarca;
  30.  
  31. var
  32.    alta,solic,solic_n:arAlta;
  33.    marca:arMarca;regSol,regAlta:tregAlta;motivo:arRech;
  34.    regMarca:tregMarca;finSol,finAlta,finMarca,finmotivo:boolean;
  35.  
  36.  
  37. procedure ingAlta(var alta:arAlta;var regAlta:tregAlta);
  38. var
  39.    tecla:char;
  40. begin
  41.       assign(alta,'c:userstomasarch_pascalalta.dat');
  42.       rewrite(alta);
  43.       writeln('ingresa datos de altas');
  44.       readln(tecla);
  45.       while(tecla='s')do
  46.          begin
  47.                writeln('ingrese nro de solicitud');readln(regAlta.nro);
  48.               writeln('ingrese titular');readln(regAlta.titular);
  49.               writeln('ingrese marca');readln(regAlta.marca);
  50.               writeln('ingrese modelo');readln(regAlta.modelo);
  51.               writeln('ingrese color');readln(regAlta.color);
  52.               write(alta,regAlta);
  53.               writeln('ingresa mas datos(s/n)');readln(tecla)
  54.          end;
  55.  
  56.        close(alta)
  57. end;
  58. procedure ingSol(var solic:arAlta;var regSol:tregAlta);
  59. var
  60.    tecla:char;
  61. begin
  62.      assign(solic,'c:userstomasarch_pascalsolic.dat');
  63.      rewrite(solic);
  64.      writeln('ingresa datos de solicitud');readln(tecla);
  65.      while(tecla='s')do
  66.        begin
  67.               writeln('ingrese nro de solicitud');readln(regsol.nro);
  68.               writeln('ingrese titular');readln(regSol.titular);
  69.               writeln('ingrese marca');readln(regSol.marca);
  70.               writeln('ingrese modelo');readln(regSol.modelo);
  71.               writeln('ingrese color');readln(regSol.color);
  72.               write(solic,regSol);
  73.               writeln('ingresa mas datos(s/n)');readln(tecla)
  74.          end;
  75.  
  76.        close(solic)
  77. end;
  78. procedure leer_alta(var F:arAlta;var reg:tregAlta;var fin_alta:boolean);
  79.  
  80. begin
  81.      fin_alta:=eof(F);
  82.      if not(fin_alta)then
  83.        read(F,reg)
  84.      else fin_alta:=true
  85. end;
  86. procedure leer_sol(var F:arAlta;var reg:tregAlta;var fin_sol:boolean);
  87.  
  88. begin
  89.      fin_sol:=eof(F);
  90.      if not(fin_sol)then
  91.        read(F,reg)
  92.      else fin_sol:=true
  93. end;
  94. procedure actualizar(var alta,solic,solic_n:arAlta);
  95. var
  96.    regAlta,regSol:tregAlta;
  97. begin
  98.         assign(alta,'c:userstomasarch_pascalalta.dat');
  99.         assign(solic,'c:userstomasarch_pascalsolic.dat');
  100.         assign(solic,'c:userstomasarch_pascalsolic_n.dat');
  101.         reset(alta);reset(solic);rewrite(solic_n);
  102.         leer_sol(solic,regSol,finsol);leer_alta(alta,regAlta,finAlta);
  103.         while(not(finSol))and(not(finAlta))do
  104.            begin
  105.                 if(regSol.nro=regAlta.nro)or(regAlta.marca>4)or(regalta.modelo>3)or(regAlta.color>8)then
  106.                   begin
  107.                        leer_sol(solic,regSol,finsol);
  108.                        leer_alta(alta,regAlta,finalta)
  109.                   end
  110.                 else
  111.                     if(regSol.nro<regAlta.nro)then
  112.                        begin
  113.                             write(solic_n,regSol);
  114.                             leer_sol(solic,regSol,finsol)
  115.                        end
  116.                     else
  117.                        if(regAlta.nro<regSol.nro)and(regAlta.marca<=4)and(regAlta.modelo<=3)and(regAlta.color<=8)then
  118.                           begin
  119.                                write(solic_n,regAlta);
  120.                                leer_alta(alta,regAlta,finalta)
  121.                           end
  122.  
  123.             end;
  124.           close(solic);close(alta);close(solic_n)
  125.  
  126. end;
  127.  
  128. procedure motivo_x_rech(var solic,alta:arAlta;var motivo:arrech);
  129. var
  130.    regAlta,regSol:tregalta;
  131.    regrech:tregrech;
  132. begin
  133.         assign(alta,'c:userstomasarch_pascalalta.dat');
  134.         assign(solic,'c:userstomasarch_pascalsolic.dat');
  135.         assign(motivo,'c:userstomasarch_pascalmotivo.dat');
  136.         reset(alta);reset(solic);rewrite(motivo);
  137.         leer_sol(solic,regSol,finsol);leer_alta(alta,regAlta,finalta);
  138.         while(not(finsol))and(not(finalta))do
  139.           begin
  140.                if(regSol.nro=regAlta.nro)then
  141.                   begin
  142.                        regrech.nro:=regAlta.nro;
  143.                        regrech.titular:=regAlta.titular;
  144.                        regrech.motivo:='solicitud existente';
  145.                        write(motivo,regrech);
  146.                        leer_sol(solic,regsol,finsol);leer_alta(alta,regAlta,finalta)
  147.                   end
  148.                else
  149.                    if(regAlta.marca>4)then
  150.                       begin
  151.                            regrech.nro:=regAlta.nro;
  152.                            regrech.titular:=regAlta.titular;
  153.                            regrech.motivo:='marca invalida';
  154.                            write(motivo,regrech);
  155.                            leer_alta(alta,regAlta,finalta)
  156.                       end
  157.                    else
  158.                        if(regAlta.modelo>3)then
  159.                           begin
  160.                                regrech.nro:=regAlta.nro;
  161.                                regrech.titular:=regAlta.titular;
  162.                                regrech.motivo:='modelo invalida';
  163.                                write(motivo,regrech);
  164.                                leer_alta(alta,regAlta,finalta)
  165.                            end
  166.                        else
  167.                            if(regAlta.color>8)then
  168.                               begin
  169.                                    regrech.nro:=regAlta.nro;
  170.                                    regrech.titular:=regAlta.titular;
  171.                                    regrech.motivo:='color invalido';
  172.                                    write(motivo,regrech);
  173.                                    leer_alta(alta,regAlta,finalta)
  174.                                end
  175.  
  176.                end;
  177.  
  178.              close(solic);close(alta);close(motivo)
  179.  
  180. end;
  181.  
  182. procedure armar_solic(var marca:arMarca;var solic_n:arAlta);
  183. var
  184.     regSol:tregAlta;
  185.     regMarca:tregMarca;
  186. begin
  187.      assign(solic_n,'c:userstomasarchivos_pascalsolic_n.dat');
  188.      assign(marca,'c:userstomasarchivos_pascalmarca.dat');
  189.      reset(solic_n);rewrite(marca);
  190.      with(regMarca)do
  191.         begin
  192.              mod1M1:=0;mod2M2:=0;mod3M3:=0;color1M1:=0;color2M1:=0;
  193.              color3M1:=0;color4M1:=0;color5M1:=0;color6M1:=0;color7M1:=0;
  194.              color8M1:=0;mod1M2:=0;mod2M2:=0;mod3M2:=0;color1M2:=0;color2M2:=0;color3M2:=0;color4M2:=0;
  195.              color5M2:=0;color6M2:=0;color7M2:=0;color8M2:=0;mod1M3:=0;mod2M3:=0;mod3M3:=0;color1M3:=0;
  196.              color2M3:=0;color3M3:=0;color4M3:=0;color5M3:=0;color6M3:=0;color7M3:=0;color8M3:=0;
  197.              mod1M4:=0;mod2M4:=0;mod3M4:=0;color1M4:=0;color2M4:=0;color3M4:=0;color4M4:=0;color5M4:=0;
  198.              color6M4:=0;color7M4:=0;color8M4:=0
  199.         end;
  200.      leer_sol(solic_n,regSol,finSol);
  201.      while(not finSol)do
  202.        begin
  203.         with(regMarca)do
  204.           begin
  205.              if(regSol.marca=1)then
  206.                 begin
  207.                      case(regSol.modelo)of
  208.                         1:inc(mod1M1);
  209.                         2:inc(mod2M1);
  210.                         3:inc(mod3M1)
  211.                      end;
  212.                      case(regSol.color)of
  213.                         1:inc(color1M1);
  214.                         2:inc(color2M1);
  215.                         3:inc(color3M1);
  216.                         4:inc(color4M1);
  217.                         5:inc(color5M1);
  218.                         6:inc(color6M1);
  219.                         7:inc(color7M1);
  220.                         8:inc(color8M1)
  221.                      end;
  222.                      write(marca,regMarca);
  223.                      leer_sol(solic,regSol,finsol)
  224.                   end
  225.              else
  226.                  if(regSol.marca=2)then
  227.                     begin
  228.                          case(regSol.modelo)of
  229.                             1:inc(mod1M2);
  230.                             2:inc(mod2M2);
  231.                             3:inc(mod3M2)
  232.                          end;
  233.                          case(regSol.color)of
  234.                             1:inc(color1M2);
  235.                             2:inc(color2M2);
  236.                             3:inc(color3M2);
  237.                             4:inc(color4M2);
  238.                             5:inc(color5M2);
  239.                             6:inc(color6M2);
  240.                             7:inc(color7M2);
  241.                             8:inc(color8M2)
  242.                          end;
  243.                          write(marca,regMarca);
  244.                          leer_sol(solic_n,regSol,finsol)
  245.                      end
  246.                   else
  247.                       if(regSol.marca=3)then
  248.                          begin
  249.                              case(regSol.modelo)of
  250.                                 1:inc(mod1M3);
  251.                                 2:inc(mod2M3);
  252.                                 3:inc(mod3M3)
  253.                              end;
  254.                              case(regSol.color)of
  255.                                 1:inc(color1M3);
  256.                                 2:inc(color2M3);
  257.                                 3:inc(color3M3);
  258.                                 4:inc(color4M3);
  259.                                 5:inc(color5M3);
  260.                                 6:inc(color6M3);
  261.                                 7:inc(color7M3);
  262.                                 8:inc(color8M3)
  263.                              end;
  264.                              write(marca,regMarca);
  265.                              leer_sol(solic_n,regSol,finsol)
  266.                           end
  267.                         else
  268.                             if(regSol.marca=4)then
  269.                                begin
  270.                                    case(regSol.modelo)of
  271.                                       1:inc(mod1M4);
  272.                                       2:inc(mod2M4);
  273.                                       3:inc(mod3M4)
  274.                                    end;
  275.                                    case(regSol.color)of
  276.                                       1:inc(color1M4);
  277.                                       2:inc(color2M4);
  278.                                       3:inc(color3M4);
  279.                                       4:inc(color4M4);
  280.                                       5:inc(color5M4);
  281.                                       6:inc(color6M4);
  282.                                       7:inc(color7M4);
  283.                                       8:inc(color8M4)
  284.                                    end;
  285.                                    write(marca,regMarca);
  286.                                    leer_sol(solic_n,regSol,finsol)
  287.                                 end
  288.  
  289.  
  290.  
  291.  
  292.           end
  293.  
  294.  
  295.        end;
  296.  
  297.  
  298.      close(solic_n);
  299.      close(marca)
  300.  
  301. end;
  302.  
  303. procedure leer_marca(var marca:arMarca;regMarca:tregMarca;fin:boolean);
  304.  
  305. begin
  306.      fin:=eof(marca);
  307.      if(not(fin))then
  308.        read(marca,regMarca)
  309.      else
  310.         fin:=true
  311. end;
  312. procedure leer_motivo(var motivo:arrech;regrech:tregrech;fin:boolean);
  313.  
  314. begin
  315.      fin:=eof(motivo);
  316.      if(not(fin))then
  317.         read(motivo,regrech)
  318.      else
  319.         fin:=true
  320. end;
  321.  
  322. procedure mostrar_motivo(var motivo:arrech);
  323. var
  324.    regrech:tregrech;
  325. begin
  326.      assign(motivo,'c:userstomasarchivos_pascalmotivo.dat');
  327.      reset(motivo);
  328.      leer_motivo(motivo,regrech,finmotivo);
  329.      while(not(finmotivo))do
  330.         begin
  331.              writeln(regrech.nro:10,regrech.titular:10,regrech.motivo:10);
  332.              leer_motivo(motivo,regrech,finmotivo)
  333.         end;
  334.      close(motivo)
  335. end;
  336.  
  337. procedure mostrar_sol(var marca:arMarca);
  338. var
  339.    regMarca:tregMarca;
  340. begin
  341.      assign(marca,'c:userstomasarchivos_pascalmarca.dat');
  342.      reset(marca);
  343.      leer_marca(marca,regMarca,finMarca);
  344.      while(not(finMarca))do
  345.          begin
  346.               with(regMarca)do
  347.                  begin
  348.                       writeln('marca 1',mod1M1:10,mod2M1:10,mod3M1:10,'':19,color1M1:10,color2M1:10,color3M1:10,color4M1:10,color5M1:10,color6M1:10,color7M1:10,color8M1:10);
  349.                       writeln('marca 2',mod1M2:10,mod2M2:10,mod3M2:10,'':19,color1M2:10,color2M2:10,color3M2:10,color4M2:10,color5M2:10,color6M2:10,color7M2:10,color8M2:10);
  350.                       writeln('marca 3',mod1M3:10,mod2M3:10,mod3M3:10,'':19,color1M3:10,color2M3:10,color3M3:10,color4M3:10,color5M3:10,color6M3:10,color7M3:10,color8M3:10);
  351.                       writeln('marca 4',mod1M4:10,mod2M4:10,mod3M4:10,'':19,color1M4:10,color2M4:10,color3M4:10,color4M4:10,color5M4:10,color6M4:10,color7M4:10,color8M4:10);
  352.                  end;
  353.               leer_marca(marca,regMarca,finMarca)
  354.          end;
  355.  
  356. end;
  357.  
  358. begin
  359.      ingAlta(alta,regAlta);
  360.      ingSol(solic,regSol);
  361.      actualizar(alta,solic,solic_n);
  362.      motivo_x_rech(solic,alta,motivo);
  363.      armar_solic(marca,solic_n);
  364.      mostrar_motivo(motivo);
  365.      mostrar_sol(marca);
  366.      readkey
  367. end.
  368.  
  369.  
  370.  

44
Pascal / Re: archivos se come el ultimo registro
« en: Sábado 5 de Febrero de 2011, 18:15 »
?????????????

45
Pascal / Re: archivos se come el ultimo registro
« en: Viernes 4 de Febrero de 2011, 14:13 »
mmmmmmm gracias por tu ayuda pero por alguna razon yo lo habia probado asi pero se pierde el registro del medio.....igualmente lo pude resolver creando un procedimiento
q asigne a una variable el fin de archivo es algo asi

Código: Pascal
  1. procedure leersoc(var socio:tsocio;var rsoc:reg1;var finsoc:boolean);
  2.  
  3. begin
  4.      finsoc:=eof(socio);
  5.      if not(finsoc)then
  6.        read(socio,rsoc)
  7.      else
  8.         finsoc:=true;
  9. end;
  10.  
  11.  

PD:igual MUCHAS GRACIAS !!!!!saludos !!

46
Pascal / Re: archivos se come el ultimo registro
« en: Jueves 3 de Febrero de 2011, 22:32 »
a ver si interprete bien dcis q debo crear un subprograma q asigne a una variable booleana si es fin de archivo ?????...ah otra cosa esta bie lee ants del bucle (ciclo)????
disculpa si mis preguuntas son medio pero ac poco empece a programar algo d un mes gracias x la respuesta!!!
PD:si leo luego de preg el fin de archivo(o sea dentro del while) se pierd el registro del medio

47
Pascal / archivos se come el ultimo registro
« en: Jueves 3 de Febrero de 2011, 18:40 »
hola gente del foro necesito ayuda con este programa  se trata de actuakizar un archivo de socios de un club con sus respectivos pagos,esta hecho el programa
el unico problema es en el procedure actualizar actualiza bien pero se come el ultimo registro si alguien sabe y m pued ayudar muchas gracias !!!!!

AQUI EL CODIGO

program ing_archivo;
uses crt;

type
     tmes=1..12;
     tdeuda=array[tmes]of real;
     reg1=record
                cod:integer;
                nomape:string;
                dir:string;
                deuda:tdeuda
           end;
      reg2=record
                 cod:integer;
                 mes:tmes;
                 monto:real
           end;


      tsocio=file of reg1;
      tpago=file of reg2;


var

    socio:tsocio;rsoc:reg1;
    pago:tpago;rpago:reg2;
    socion:tsocio;tecla:string;

procedure ingrsoc(var socio:tsocio;var rsoc:reg1);
var
   tecla:char;
   i:tmes;


   begin
      assign(socio,'c:userstomassocio.dat');
      rewrite(socio);
      writeln('ingresa datos al archivo socios(s/n)' );
      readln(tecla);
      while(tecla='s')do
        begin
             writeln('ingrese cod soc');readln(rsoc.cod);
             writeln('ingrese nom apell');readln(rsoc.nomape);
             writeln('ingrese dir');readln(rsoc.dir);
             for i :=1 to 12do
               begin
                   writeln('ingrese deuda mes',i);
                   readln(rsoc.deuda)
               end;
             write(socio,rsoc);
             writeln('ingresa mas datos  (s/n)' );
             readln(tecla)
        end;
       close(socio)
end;

procedure ingpago(var pago:tpago;var rpago:reg2);

var
    tecla:char;
begin
     assign(pago,'c:userstomaspago.dat');
     rewrite(pago);
     writeln('ingresa datos al archivo pagos(s/n)');
     readln(tecla);
     while(tecla='s')do
       begin
            writeln('ingrese cod soc');readln(rpago.cod);
            writeln('ingrese mes abonado');readln(rpago.mes);
            writeln('ingrese monto');readln(rpago.monto);
            write(pago,rpago);
            writeln('ingresa mas datos (s/n)');readln(tecla)
       end;
      close(pago)
end;

procedure actualizar(var socio:tsocio;var pago:tpago;var socion:tsocio);
var
    rsoc,rnew:reg1;
    rpago:reg2;cuenta:word;
begin
     clrscr;cuenta:=0;
     assign(socio,'c:userstomassocio.dat');assign(pago,'c:userstomaspago.dat');assign(socion,'c:userstomassocion.dat');
     reset(socio);reset(pago);rewrite(socion);
      read(socio,rsoc);read(pago,rpago);
     while(not(eof(socio)))and(not(eof(pago)))do
        begin

             if rsoc.cod=rpago.cod then
                begin
                     rnew:=rsoc;
                     rnew.deuda[rpago.mes]:=0;
                     write(socion,rnew);inc(cuenta);
                     read(socio,rsoc);
                     read(pago,rpago)
                end

      end;
      writeln('se ingresaron',cuenta,'registros');
      close(socio);
      close(pago);
      close(socion)

end;
function suma(vector:tdeuda):real;
var
   i:tmes;
   aux:real;
begin
     aux:=0;
     for i:=1to 12do
       aux:=aux+vector;
     suma:=aux
end;
procedure leer_socion(var socion:tsocio);

var
   rsoc:reg1;i:tmes;cuenta:word;
begin
      cuenta:=0;
      writeln('codigo socio':10,'   nombre apellido,':10,'direccion':10);
      assign(socion,'c:userstomassocion.dat');  reset(socion);

      while(not eof(socion))do
        begin
             read(socion,rsoc);
             writeln(  rsoc.cod:10,'    ',rsoc.nomape:10,'    ',rsoc.dir:10);
             writeln('deuda');
             for i:=1 to 12do
                writeln('mes  ',i,rsoc.deuda:10:2);
             inc(cuenta)
        end;
      close(socion);write('leeyeron',cuenta);
      writeln()
end;
procedure mostrar_deuda(var socion:tsocio);

var
   rsoc:reg1;i:tmes;cuenta:word;
begin
      writeln('socios que poseem deuda:');
      assign(socion,'c:userstomassocion.dat');  reset(socion);
      cuenta:=0;
      while(not eof(socion))do
        begin
            read(socion,rsoc);
            if suma(rsoc.deuda)<>0 then
               writeln(rsoc.cod:10,rsoc.nomape:10,suma(rsoc.deuda):10:2);
            inc(cuenta)
        end;
      close(socion);writeln('se leyeron',cuenta,'registros');
      writeln()
end;
procedure opcion(var tecla:string);

begin
     writeln('desea ingresar actualizar o leer');
     writeln('si quiere ingresar presione ing,si quiere actualizar act o si quiere leer presione leer');
     read(tecla);
     if tecla='ing'then
       begin
            ingrsoc(socio,rsoc);
            ingpago(pago,rpago)
       end
     else
         if tecla='act'then
            actualizar(socio,pago,socion)
         else
             if tecla='leer'then
               begin
                   leer_socion(socion) ;
                   mostrar_deuda(socion)
               end

end;

begin
     clrscr;
     opcion(tecla);
     readkey
end.

48
Pascal / Re: ej con archivos
« en: Domingo 30 de Enero de 2011, 20:31 »
gracias che!!!...pero no ya lo habia probado ants d subir mi inquietud al foro pero no paso nada sigue = ....
gracias =!!

49
Pascal / ej con archivos
« en: Viernes 28 de Enero de 2011, 20:57 »
HOLA GENTE DEL FORO ESTOY PRACTICANDO EJERCICIOS CON ARCHIVOS Y SOY NUEVO EN ESTO PERO DENTRO DE TODO VOY BIEN HASTA AHORA NECESITO SI ME PUEDEN AYUDAR
EL PROBLEMA ES UN CLUB POSEE DOS ARCHIVOS SECUENCIALES SOCIOS.DAT Y OTRO PAGOS .DAT HAY Q ACTUALIZAR EL DE SOCIOS.DAT CON LOS DATOS DE PAGOS.DAT
HICE EL PROGRAMA PERO TNGO UN PROBLEMA POR LO Q VI EN EL     PROCEDURE ACT() ES HAY Q AL EJECUTARLO QEDA TILDADO EL PROGRAMA
BUSQE D MIL MANERAS PERO NO LOGRO VER EL PROBLEMA SI ME AYUDAN LO AGRADECERE MUCHO!!!!



AQUI EL CODIGO


program archivos;

uses crt;


     
type
     tmes=1..12;
     tdeuda=array[tmes]of real;
     reg1=record
                cod:integer;
                nomape:string;
                dir:string;
                deuda:tdeuda
           end;
      reg2=record
                 cod:integer;
                 mes:tmes;
                 monto:real
           end;
      reg3=record
                 cod:integer;
                 nomape:string;
                 totdeuda:real
           end;
      tsocio=file of reg1;
      tpago=file of reg2;
      tmoroso=file of reg3;

var

    socio:tsocio;rsoc:reg1;
    pago:tpago;rpago:reg2;
    moroso:tmoroso;rmoroso:reg3;
    socion:tsocio;

procedure ingrsoc(var socio:tsocio;var rsoc:reg1);
var
   tecla:char;
   i:tmes;

begin
      assign(socio,'c:archivospascalsocio.dat');
      rewrite(socio);
      writeln('ingresa datos al archivo socios(s/n)' );
      readln(tecla);
      while(tecla='s')do
        begin
             writeln('ingrese cod soc');readln(rsoc.cod);
             writeln('ingrese nom apell');readln(rsoc.nomape);
             writeln('ingrese dir');readln(rsoc.dir);
             for i :=1 to 12do
               begin
                   writeln('ingrese deuda mes',i);
                   readln(rsoc.deuda)
               end;
             write(socio,rsoc);
             writeln('ingresa mas datos  (s/n)' );
             readln(tecla)
        end;
       close(socio)
end;

procedure ingpago(var pago:tpago;var rpago:reg2);

var
    tecla:char;
begin
     assign(pago,'c:archivospascalpago.dat');
     rewrite(pago);
     writeln('ingresa datos al archivo pagos(s/n)');
     readln(tecla);
     while(tecla='s')do
       begin
            writeln('ingrese cod soc');readln(rpago.cod);
            writeln('ingrese mes abonado');readln(rpago.mes);
            writeln('ingrese monto');readln(rpago.monto);
            write(pago,rpago);
            writeln('ingresa mas datos (s/n)');readln(tecla)
       end;
      close(pago)
end;

procedure act(var socio:tsocio;var pago:tpago;var socion:tsocio);

var
   rsoc:reg1;
   rpago:reg2;

begin
     assign(socio,'c:archivospascalsocio.dat');
     assign(pago,'c:archivospascalpago.dat');
     assign(socion,'c:archivospascalsocion.dat');
     reset(socio);
     reset(pago);
     rewrite(socion);
     read(socio,rsoc);
     read(pago,rpago);
     while(not eof(socio))or(not eof(pago))do

          begin

                if rsoc.cod=rpago.cod then
                   begin
                        rsoc.deuda[rpago.mes]:=0;
                        write(socion,rsoc);
                        read(socio,rsoc);
                        read(pago,rpago)
                    end
                 else

                     if rsoc.cod<rpago.cod then
                        read(socio,rsoc)

                      else
                           read(pago,rpago)



          end;

      close(socio);
      close(pago);
      close(socion)


end;
function suma(vector:tdeuda):real;

var
   i:tmes;
   aux:real;

begin
     suma:=0;
     for i :=1 to 12 do
        aux:=vector+aux;

     suma:=aux

end;

procedure  morosos(var socion:tsocio;var moroso:tmoroso);

var
    rsoc:reg1;
    rmoroso:reg3;



begin
       assign(socion,'c:archivospascalsocion.dat');
       assign(moroso,'c:archivospascalmoroso.dat');
       reset(socion);
       rewrite(moroso);
       read(socion,rsoc);
       while(rsoc.cod<=clave_max)do

            begin
                 rmoroso.cod:=rsoc.cod;
                 rmoroso.nomape:=rsoc.nomape;
                 rmoroso.totdeuda:=suma(rsoc.deuda);
                 write(moroso,rmoroso);
                 read(socion,rsoc)

             end;

        close(socion);
        close(moroso)

end;
procedure mostrar_moroso(var moroso:tmoroso);

var
    rmorso:reg3;
begin
     assign(moroso,'c:archivospascalmoroso.dat');
     reset(moroso);
     read(moroso,rmoroso);
     while(not(eof(moroso)))do
        begin
             if rmoroso.totdeuda<>0 then
               writeln(rmoroso.cod:5,rmoroso.nomape:5,rmoroso.totdeuda:10:2);
             read(moroso,rmoroso)
        end;
     close(moroso)
end;

begin//bloqe ppal.//
     clrscr;
     ingrsoc( socio, rsoc);
     ingpago(pago,rpago);
     act(socio,pago,socion);
     morosos(socion,moroso);
     mostrar_moroso(moroso);
     readkey
end.

50
Pascal / ej con archivos
« en: Miércoles 26 de Enero de 2011, 00:30 »
buenas gent espero m ayudn estoy practicando sigo bah...estoy con el tema de archivos todo va bien hasta q el progrrama llega a ejecutar el procedure actual() hay qda muerto el programa..ah! el programa es una aplicacion para llevar 1 registro de entrega de medicacion y en algun momento se debe actualizar el archivo el problema esta maas q nada en  la part de actualizacion adjunto el programa
si alguien m pued ayudar lo agradecere

Páginas: 1 [2] 3