[ Foro de Pascal ]

Mis clases de PASCAL ????????

15-Jan-2023 15:04
Invitado (Maria Nu?ez)
0 Respuestas


Tengo el siguiente código que me compila en el celular pero no en otros compiladores.
program UNEFATEL;

uses
 crt;


type
 nino = record
   dia_semana: Integer;
   minutos: Integer;
   x, x1, x2, x3, total_a_pagar, impuesto, total_sin_impuesto: real;
   horario: Integer;
 end;


var
 i, j, num_factura: Integer;
 Ist: array of nino;
 nombre, apellido: String;
 cedula: real;


begin
 Clrscr;
 Writeln('=======================');
 Writeln('_______BIENVENIDO______');
 Writeln('=======================');
 writeln('---Datos del Cliente---');
 write('Nombre: ');
 Readln(nombre);
 write('Apellido: ');
 Readln(apellido);
 Write('Cedula: ');
 Readln(cedula);
 writeln('Número de Servicios a Registrar?:');
 ReadLn(num_factura);
 SetLength(Ist, num_factura);
 clrscr;
 for i := 0 to num_factura - 1 do
   begin
     writeln;
     Writeln('==Servicio N° ', i + 1, '==');
     writeln('Seleccione el día de la semana');
     writeln('1. Lunes.');
     writeln('2. Martes.');
     writeln('3. Miércoles.');
     writeln('4. Jueves.');
     writeln('5. Viernes.');
     writeln('6. Sábado.');
     writeln('7. Domingo.');
     Readln(Ist[i].dia_semana);
     write('Minutos de duración de la llamada:  ');
     Readln(Ist[i].minutos);
     case Ist[i].minutos of
       1..5:
       begin
         Ist[i].total_sin_impuesto := Ist[i].minutos * 100;
       end;
       1..8:
       begin
         Ist[i].x := (Ist[i].minutos - 5);
         Ist[i].x1 := (Ist[i].minutos - Ist[i].x) * 100;
         Ist[i].total_sin_impuesto := (Ist[i].x * 80) + Ist[i].x1;
       end;
       1..10:
       begin
         Ist[i].x := 5 * 100;
         Ist[i].x1 := 3 * 80;
         Ist[i].x2 := (Ist[i].minutos - 8) * 70;
         Ist[i].total_sin_impuesto := Ist[i].x + Ist[i].x1 + Ist[i].x2;
       end
       else if (Ist[i].minutos > 10) then
         begin
           Ist[i].x := 5 * 100;
           Ist[i].x1 := 3 * 80;
           Ist[i].x2 := 2 * 70;
           Ist[i].x3 := (Ist[i].minutos - 10) * 50;
           Ist[i].total_sin_impuesto := Ist[i].x + Ist[i].x1 + Ist[i].x2 + Ist[i].x3;
         end ;
     end;
     if (Ist[i].dia_semana = 7) then
       begin
         Ist[i].impuesto := Ist[i].total_sin_impuesto * 0.03;
         Ist[i].total_a_pagar := Ist[i].total_sin_impuesto + Ist[i].impuesto;
       end
     else
       begin
         writeln('Horario de atención? seleccione! ');
         writeln('1.Matutino |7:00 am - 2:00 pm| ');
         writeln('2.Vespertino |2:00 pm - 8:00 pm| ');
         Readln(Ist[i].horario);
         if (Ist[i].horario = 1) then
           begin
             Ist[i].impuesto := Ist[i].total_sin_impuesto * 0.15;
             Ist[i].total_a_pagar := Ist[i].impuesto + Ist[i].total_sin_impuesto;
           end
         else
           begin
             Ist[i].impuesto := Ist[i].total_sin_impuesto * 0.10;
             Ist[i].total_a_pagar := Ist[i].total_sin_impuesto + Ist[i].impuesto;
           end;
       end;
   end;
 Clrscr;
 writeln('---Datos del Cliente---');
 writeln(' Nombre: ', nombre);
 writeln(' Apellido: ', apellido);
 writeln(' Cédula: ', cedula: 3: 0);
 writeln;
 for j := 0 to num_factura - 1 do
   begin
     Writeln('==== Servicio N° ', j + 1, ' ====');
     writeln(' Duración de la llamada: ', Ist[j].minutos, ' minutos. ');
     writeln(' Total a pagar: ', Ist[j].total_a_pagar, ' Bs.');
     writeln;
   end;
 ReadLn;
end.




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...