Pascal/Turbo Pascal - AYUDA URGENTE 1 hora para entregar!!!

 
Vista:

AYUDA URGENTE 1 hora para entregar!!!

Publicado por Carlos (12 intervenciones) el 28/01/2013 19:02:54
AYUDA PORFAVOR ES URGENTE!!! debo entregar este programa
dentro de 1 horas! PORFAVOR!!!

Tengo que hacer un programa con un menu que me permita
cargar a un archivo BINARIO , la cantidad de numeros que yo quiera
luego despues de que termine de cargar archivos, me pregunte si quiero
meter mas numeros, despues en el menu debe haber otra opcion que me permita
leer el archivo que cree con los numeros que meti, asi mismo, deben ser 2 archivos
binarios, el cual DEBo pedir el nombre con que quiero guardar
cada archivo, por ejemplo, el primer archivo binario, lo pongo como a.dat
el segundo como b.dat y me lo tiene que guardar en C:\

y la ultima opcion, del menu, debe permitir COMBINAR estos 2 archivos
y que genere uno nuevo con la combinacion de los 2, es decir con los numeros
de ambos, si me devuelvo al menu, y quiero leer, el archivo c.dat que es el que
se genero como resultado de la combinacion, y ue me muestre la
combinacion de los numeros de a.dat y b.dat es todo! porfavor
AYUDA! tengo solamente 1 hora para hacerlo y enviarselo al profesor!
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

AYUDA URGENTE 1 hora para entregar!!!

Publicado por Carlos (12 intervenciones) el 28/01/2013 19:52:10
Esto es lo que tengo hecho

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
program arch_binario_crear;
uses crt,dos,sysutils;
 
type
    ts20 = string[20];
 
    treg = record
               numero:ts20;
               ver:ts20;
           end;
 
    tarch = file of treg;
 
var
arch,arch2:tarch;
reg:treg;
flag:boolean;
nomarchivo,nomarchivo2:string;
opc : char;
bool : boolean;
 
begin
     writeln('Presione 1 para crear el archivo');
     writeln('Presione 2 para leer archivo creado');
     writeln('Presione 3 para combinar');
     readln(opc);
     if opc = '1' then begin
     writeln('Dame el nombre del archivo: ');
     readln(nomarchivo);
     assign(arch,'C:\FPC\' + nomarchivo);
     rewrite(arch);
 
     write('ingrese un numero: ');
     readln(reg.numero);
 
     write(arch,reg);
 
     flag:=true;
 
     while ( flag ) do begin
           write('Volver a ingresar otro numero? [ Y / N ] ');
           readln(reg.ver);
           if ( reg.ver <> 'N' ) then begin
                 write('ingrese un numero: ');
                 readln(reg.numero);
                 write(arch,reg)
           end else
                flag:=false;
     end;
     close(arch);
     clrscr;
     write('se ha completado la carga exitosamente...');
     end;


SOLO ME FALTA LEER Y COMBINAR MAS NADA! porfavor ayudenme! se me acaba el tiempo
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

AYUDA URGENTE 1 hora para entregar!!!

Publicado por Carlos (12 intervenciones) el 28/01/2013 20:28:22
PORFAVOR AYUDENME! ME QUEDAN SOLAMENTE 20 MINUTOS! sino hago esto, pierdo todo

SOLO LO HE HECHO PARA 01 ARCHIVO NADA MAS, NO SE COMO HACERLO PARA 02 ARCHIVOS NI SE COMO HACER PARA QUE MUESTRE LOS NUMEROS EN PANTALLA


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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
program arch_binario_crear;
uses crt,dos,sysutils;
 
type
    ts20 = string[20];
 
    treg = record
               numero:ts20;
               ver:ts20;
           end;
 
    tarch = file of treg;
 
var
arch,arch2:tarch;
reg:treg;
flag:boolean;
nomarchivo,nomarchivo2:string;
opc : char;
bool : boolean;
 
procedure leer( var arch:tarch; var reg:treg; var bool:boolean );
begin
     if ( not eof(arch) ) then begin
          read(arch,reg);
          bool:=false;
     end else begin
          bool:=true;
     end;
end;
 
begin
     writeln('Presione 1 para crear el archivo');
     writeln('Presione 2 para leer archivo creado');
     writeln('Presione 3 para combinar');
     readln(opc);
     if opc = '1' then begin
     writeln('Dame el nombre del archivo: ');
     readln(nomarchivo);
     assign(arch,'C:\FPC\' + nomarchivo);
     rewrite(arch);
 
     write('ingrese un numero: ');
     readln(reg.numero);
 
     write(arch,reg);
 
     flag:=true;
 
     while ( flag ) do begin
           write('Volver a ingresar otro numero? [ Y / N ] ');
           readln(reg.ver);
           if ( reg.ver <> 'N' ) then begin
                 write('ingrese un numero: ');
                 readln(reg.numero);
                 write(arch,reg)
           end else
                flag:=false;
     end;
     close(arch);
     clrscr;
     write('se ha completado la carga exitosamente...');
     end;
 
     if opc = '3' then begin
         writeln('Introduce el nombre del primer archivo creado ');
         readln(nomarchivo);
         assign(arch,'C:\FPC\' + nomarchivo);
         reset(arch);
         writeln('Introduce el nombre del archivo combinado ');
         readln(nomarchivo);
         assign(arch2,'C:\FPC\' + nomarchivo);
         rewrite(arch2);
         leer(arch,reg,bool);
         while ( not bool ) do begin
           write(arch2,reg);
           leer(arch,reg,bool);
         end;
 
         close(arch);
         close(arch2);
 
 
 
 
 
     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

AYUDA URGENTE 1 hora para entregar!!!

Publicado por ramon (2158 intervenciones) el 28/01/2013 22:29:17
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{Espero que no sea tarde a ver mira esto}
 
 program archivos;
   uses
      crt;
   type
    ts20 = string[20];
    treg = record
               numero:ts20;
               ver:ts20;
           end;
    tarch = file of treg;
  var
    arch,arch2:tarch;
    reg : treg;
    flag : boolean;
    nomarchivo, nomarchivo2, nomarchivo3 : string;
    opc : char;
    bool : boolean;
 
 procedure entradatos(arh : string);
 var
   tx : char;
 begin
   repeat
    clrscr;
    write('Entre Numero : ');
    readln(reg.numero);
    assign(arch,arh);
 {$I-} reset(arch); {$I+}
 if ioresult <> 0 then
 begin
     rewrite(arch);
     seek(arch,0);
     write(arch,reg);
     close(arch);
  end
 else
    begin
       seek(arch,filesize(arch));
       write(arch,reg);
       close(arch);
    end;
    writeln('Desea entrar Mas Numeros [S/N]');
    repeat
    tx := upcase(readkey);
    until tx in['S','N'];
    until tx = 'N';
 end;
 
  procedure combinar_archivos(arh1, arh2, arh3 : string);
  var
    nuevo : tarch;
    n, i : word;
  begin
    assign(arch,arh1);
  {$I-} reset(arch); {$I+}
  if ioresult <> 0 then
  begin
      writeln('Error De Archivo No Encontrado Pulse [Enter]');
      readln;
      exit;
  end
 else
    begin
        assign(arch2,arh2);
     {$I-} reset(arch2); {$I+}
     if ioresult <> 0 then
     begin
        writeln('Error De Archivo No Encontrado Pulse [Enter]');
        readln;
        exit;
     end
   else
       begin
          assign(nuevo,arh3);
          rewrite(nuevo);
          seek(nuevo,0);
          for i := 0 to filesize(arch) - 1 do
          begin
             seek(arch,i);
             read(arch,reg);
             seek(nuevo,i);
             write(nuevo,reg);
          end;
          close(arch);
          n := i + 1;
          for i := 0 to filesize(arch2) - 1 do
          begin
             seek(arch2,i);
             read(arch2,reg);
             seek(nuevo,n + i);
             write(nuevo,reg);
          end;
          close(arch2);
          close(nuevo);
       end;
    end;
  end;
 
  procedure presenta_archivo(nu : string);
  var
    i : word;
  begin
      assign(arch,nu);
   {$I-} reset(arch); {$I+}
   if ioresult <> 0 then
   begin
      writeln('Error De Archivo No Encontrado Pulse [Enter]');
      readln;
      exit;
   end
 else
    begin
       for i := 0 to filesize(arch) - 1 do
       begin
          seek(arch,i);
          read(arch,reg);
          writeln('El Numero Es = ',reg.numero);
       end;
        close(arch);
    end;
  end;
 
  procedure menu;
  var
    tec : char;
    sal : boolean;
  begin
     sal := false;
   repeat
      clrscr;
      writeln('**** Menu General ****');
      writeln;
      writeln('  1 = Entrada De Datos');
      writeln('  2 = Combinado De Archivos');
      writeln('  3 = Presenta Archivo');
      writeln('  4 = Salir');
      writeln;
      writeln('<<<< Elija Opcion >>>>>');
      tec := readkey;
      if tec in[#49..#52] then
      begin
   case tec of
   #49 : begin
         clrscr;
         write('Entre Nombre Del Archivo y Extension : ');
         readln(nomarchivo);
         entradatos(nomarchivo);
         end;
   #50 : begin
         clrscr;
         write('Entre Nombre y Extension Del Archivo Num. 1 : ');
         readln(nomarchivo);
         write('Entre Nombre y Extension Del Archivo Num. 2 : ');
         readln(nomarchivo2);
         write('Entre Nombre y Extension Del Archivo Combinado : ');
         readln(nomarchivo3);
         combinar_archivos(nomarchivo,nomarchivo2,nomarchivo3);
         writeln;
         writeln('Archivos Combinados Pulse [Enter]');
         readln;
         end;
   #51 : begin
           write('Entre Nombre y Extension De Archivo : ');
           readln(nomarchivo);
           presenta_archivo(nomarchivo);
           writeln;
           writeln('Pulse [Enter]');
           readln;
         end;
   #52 : sal := true;
      end;
    end;
   until sal = true;
  end;
 
  begin
      clrscr;
      menu;
  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