Pascal/Turbo Pascal - archivo edad

 
Vista:
sin imagen de perfil

archivo edad

Publicado por marios (58 intervenciones) el 05/04/2014 00:15:14
hola ramon, como puedo hacer este ajercicio es que estoy por entrar al tema de archivos y un compañero que ya la vio me dio los examenes del semestre pasado y quiero ir preparandome, gracias pr tu ayuda y atencion.
realice un programa pascal que dado un archivo de texto llamado edades.txt ::

edades.txt :

JUAN PEREZ
28
PEDRO JIMENEZ<eoln>
45
MARIA GARCIA<eoln>
61
ANA LOPEZ<eoln>
36


permita decidir dada una edad ingresada por teclado, si todos los valores almacenados en las lineas pares del archivo son estrictamente mayores, en caso contrario o el archivo este vacio devolver un false
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

archivo edad

Publicado por ramon (2158 intervenciones) el 07/04/2014 00:23:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{A ver si esto te ayuda}
 
 program edades;
 uses
   crt;
 const
    archivo = 'edades.txt';
 
  var
    f : text;
    nombre : string[80];
    edad   : integer;
    tec, ch : char;
 
 
 
   procedure entradatos;
   begin
       clrscr;
       writeln('  Entrada De Datos ');
       writeln;
       write('  Nombre  : ');
       readln(nombre);
       write('  Edad    : ');
       readln(edad);
       assign(f,archivo);
   {$I-} reset(f); {$I+}
       if ioresult <> 0 then
       begin
          rewrite(f);
          write(f,nombre,#10 + #13);
          write(f,edad,#10 + #13);
          close(f);
       end
    else
      begin
         append(f);
         write(f,nombre, #10 + #13);
         write(f,edad, #10 + #13);
         close(f);
      end;
   end;
 
 
   begin
     repeat
      entradatos;
      writeln;
      writeln('  Desea Entrar Mas Datos [S/N]');
      tec := upcase(readkey);
    until tec = 'N';
      clrscr;
      Assign(f,archivo);
      Reset(f);
        while not Eof(f) do
        begin
           Read(f, Ch);
           Write(Ch);
        end;
        readkey;
   end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

archivo edad

Publicado por marios (58 intervenciones) el 07/04/2014 12:10:01
Hola ramon, buen dia y muchisimas gracias por estar aqui.
Ramon una cuestion al respecto de este ejercicio, en tu solucion donde se esta resolviendo la parte que tiene que ver con:
..
permita decidir dada una edad ingresada por teclado, si todos los valores almacenados en las lineas pares del archivo son estrictamente mayores, en caso contrario o el archivo este vacio devolver un false ???

mil gracias por tu aclaracion y por si no esta resuelta me indique segun lo que hiciste como podria ser , mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

archivo edad

Publicado por ramon (2158 intervenciones) el 09/04/2014 00:49:56
Me puedes esplicar que significa si todos los valores almacenados en las lineas pares del archivo son estrictamente mayores
de que.
la lectura la tienes en char tendrías que pararlo a ch := string[80] y leer como readln(f,ch); en vez de la que te pusela segunda seria el numero pero ten en cuenta que son caracteres no numero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

archivo edad

Publicado por marios (58 intervenciones) el 09/04/2014 16:10:05
ok ramon mira, se trata de lo siguiente, como ves el archivo
edades.txt :

JUAN PEREZ
28
PEDRO JIMENEZ<eoln>
45
MARIA GARCIA<eoln>
61
ANA LOPEZ<eoln>
36

en realidad en cada fila para estan las edades de cada persona, asi que lo que deseo es saber como puedo saber si la suma de estas edades es mayor estrictamente a un valor entero ingreso por teclado, porejemplo supongamos que se entra el valor 100, entonces como veras la suma de las edades de nuestro archivo es:

28+45+61+36=170 por lo tanto debe devolverse un mensaje indicativo, y ademas se pide crear un nuevo archivo en el que se muestren ahora por cada edad la diferencia entre el valor entero ingresado y cada edad, asi el nuevo archivo seria:

diferenciaValorEdades.txt

JUAN PEREZ
100 - 28 =72
PEDRO JIMENEZ<eoln>
100 -45= 55
MARIA GARCIA<eoln>
100 - 61= 39
ANA LOPEZ<eoln>
100 - 36 =64

ojala me indiques como hacerlo pues es un trabajo por entregar mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

archivo edad

Publicado por marios (58 intervenciones) el 10/04/2014 17:35:14
hola ramon , no se si pasaste por alto este link, quiza sin darte cuenta y queria recrdartelo, y mil gracias por toda la ayuda que puedas prestarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

archivo edad

Publicado por marios (58 intervenciones) el 16/04/2014 12:20:38
ok ramon mira, se trata de lo siguiente, como ves el archivo
edades.txt :

JUAN PEREZ
28
PEDRO JIMENEZ<eoln>
45
MARIA GARCIA<eoln>
61
ANA LOPEZ<eoln>
36

en realidad en cada fila para estan las edades de cada persona, asi que lo que deseo es saber como puedo saber si la suma de estas edades es mayor estrictamente a un valor entero ingreso por teclado, porejemplo supongamos que se entra el valor 100, entonces como veras la suma de las edades de nuestro archivo es:

28+45+61+36=170 por lo tanto debe devolverse un mensaje indicativo, y ademas se pide crear un nuevo archivo en el que se muestren ahora por cada edad la diferencia entre el valor entero ingresado y cada edad, asi el nuevo archivo seria:

diferenciaValorEdades.txt

JUAN PEREZ
100 - 28 =72
PEDRO JIMENEZ<eoln>
100 -45= 55
MARIA GARCIA<eoln>
100 - 61= 39
ANA LOPEZ<eoln>
100 - 36 =64

ojala me indiques como hacerlo pues es un trabajo por entregar mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar