Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Agenda MultiFunction v.1.0 - Agenda Multifunction v.1.0.pas

Agenda Multifunction v.1.0.pas

Caricato da:
Scarica il programma completo

  1. Program Agenda_Multi;
  2. uses crt, graph;
  3.  Type
  4.   Persona = Record
  5.   Nome: String[10];
  6.   Cognome: String[15];
  7.   Telefono: String[15];
  8.   End;
  9. Const             {dichiaro le costanti che verranno utilizzate}
  10. Dim_Int = 16;
  11.  
  12. Var               {dichiaro le variabili generali}
  13. Rp: char;
  14.  c: Array [1..100] of Persona;
  15.   num, nume, Lunghezza_Agenda: integer;
  16.  voto: array[1..10] of integer;
  17.  
  18. Procedure Visualizza_Binario (vet: integer);
  19. type
  20. Binario = 0..1;
  21. var
  22. i, g: integer;
  23. a: array[1..Dim_Int] Of Binario;
  24. begin
  25. if vet = 0 then
  26. writeln(vet)
  27. else begin
  28. i := 1;
  29. while vet <> 0 do begin
  30. a[i] := vet mod 2;
  31. vet := vet div 2;
  32. i := i+1;
  33. end;
  34. for g := i+1 downto 1 do
  35. write(a[g]);
  36. end;
  37. end;
  38.  
  39. Procedure binario;
  40. begin
  41. ClrScr;
  42. Rp := 's';
  43. while Rp = 's' do begin     {controlla se l'utente vuole ricominciare}
  44. TextColor(14);
  45. Writeln('Calcolo Binario');
  46. TextColor(15);
  47. write('Inserisci un numero Positivo Intero: ');
  48. readln(num);
  49. writeln;
  50. writeln('Calcolo in corso, attendere...');
  51. Delay(2000);
  52. writeln('Il numero convertito in binario Š ');
  53. Visualizza_Binario(num);
  54. writeln;
  55. write('Vuoi continuare a convertire? (S/N): ');
  56. readln(Rp);
  57. end;
  58. end;
  59.  
  60.  
  61. Procedure Mag_Min;
  62. var
  63. max, min, i: integer;
  64. Begin
  65. ClrScr;
  66. Rp := 's';
  67. while Rp = 's' do begin
  68. ClrScr;
  69. TextColor(14);
  70. Writeln('Ricerca del Maggiore e Minore');
  71. TextColor(15);
  72. write('Quanti Voti vuoi inserire? ');
  73. readln(nume);
  74. for i := 1 to nume do begin
  75. write('Inserisci Voto: ');
  76. readln(voto[i]);
  77. end;
  78. max := voto[i];
  79. for i := 1 to nume do
  80. if voto[i] > max then
  81. max := voto[i];
  82. min := voto[i];
  83. for i := 1 to nume do
  84. if voto[i] < min then
  85. min := voto[i];
  86. writeln;
  87. Writeln('Calcolo in corso, attendere...');
  88. Delay(2000);
  89. writeln('Il maggiore Š ',max);
  90. writeln('Il minore Š ',min);
  91. Writeln;
  92. write('Vuoi continuare la ricerca? (S/N): ');
  93. readln(Rp);
  94. End;
  95. End;
  96.  
  97. Procedure Med_vot;
  98. var
  99. i: integer;
  100. media: real;
  101. Begin
  102. ClrScr;
  103. Rp := 's';
  104. while Rp = 's' do begin
  105. ClrScr;
  106. TextColor(14);
  107. Writeln('Calcolo della Media');
  108. TextColor(15);
  109. write('Quanti Voti vuoi inserire? ');
  110. readln(nume);
  111. for i := 1 to nume do begin
  112. write('Inserisci Voto: ');
  113. readln(voto[i]);
  114. media := media+voto[i];
  115. end;
  116. media := media/nume;
  117. writeln;
  118. writeln('Calcolo in corso, attendere...');
  119. Delay(2000);
  120. writeln('La media Š ',media:5:2);
  121. write('Vuoi continuare a calcolare? (S/N): ');
  122. readln(Rp);
  123. end;
  124. end;
  125.  
  126. procedure Voti;
  127. var
  128. opz: integer;
  129. Begin
  130. ClrScr;
  131. TextColor(14);
  132. GotoXY(25,6); Write('Gestione Voti');
  133. TextColor(15);
  134. GotoXY(26,8); Write('1. Ricercare il Maggiore e Minore'); {con GotoXY, sposto il testo}
  135. GotoXY(26,9); Write('2. Calcolare la Media');
  136. GotoXY(26,10); Write('0. Per tornare al Menu Principale');
  137. GotoXY(27,12); Write('Scegliere una opzione: ');
  138. readln(opz);
  139. case opz of
  140.  1: Mag_Min;
  141.  2: Med_Vot;
  142. End;
  143. End;
  144.  
  145. Procedure Aggiungi_Agenda;
  146. Var
  147.  i, Num: integer;
  148. Begin
  149.  ClrScr;
  150.   Repeat
  151.    Writeln;
  152.     TextColor(14);
  153.      Writeln('Aggiunta Persone');
  154.       TextColor(15);
  155.       Writeln;
  156.        Write('Quante persone vuoi aggiungere all''agenda? (1/100): ');
  157.         Readln(Num);
  158.   Until Num >= 1;
  159. For i := Lunghezza_Agenda+1 to Lunghezza_Agenda+Num Do Begin
  160.  With c[i] Do Begin
  161.  Writeln;
  162.   Write('Inserisci il Nome: ');
  163.    readln(Nome);
  164.     Writeln;
  165.      Write('Inserisci il Cognome: ');
  166.       Readln(Cognome);
  167.        Writeln;
  168.         Write('Inserisci il Numero di Telefono: ');
  169.          Readln(Telefono);
  170.           End;
  171.            End;
  172.             Lunghezza_Agenda := Lunghezza_Agenda+Num;
  173.              End;
  174.  
  175. Procedure Visualizza_Agenda;
  176.  Var
  177.   i: integer;
  178.  Begin
  179.   ClrScr;
  180.    Writeln;
  181.     TextColor(14);
  182.      Writeln('Agenda Telefonica');
  183.      Writeln;
  184.       TextColor(15);
  185.  For i := 1 To Lunghezza_Agenda Do Begin
  186.     Writeln('Nome: ',c[i].Nome);
  187.     Writeln('Cognome: ',c[i].Cognome);
  188.     Writeln('Telefono: ',c[i].Telefono);
  189.       Writeln;
  190.        Write('Premere Invio per continuare...');
  191.         Readln;
  192.          End;
  193.           End;
  194.  
  195. Procedure Add_Calc;
  196.  Var
  197.   A, B: integer;
  198.  Begin
  199.  Rp := 's';
  200.  while Rp = 's' do begin
  201.   Writeln;
  202.    TextColor(14);
  203.     Writeln('Risultato');
  204.      TextColor(15);
  205.       Writeln;
  206.        Write('Inserire il 1ø Numero: ');
  207.         Readln(A);
  208.          Write('Inserire il 2ø Numero: ');
  209.           Readln(B);
  210.            Writeln;
  211.             Writeln('Attendere, calcolo in corso...');
  212.              Delay(2000);
  213.               Writeln('Il risultato dell''addizione Š ',A+B);
  214.                 Write('Vuoi eseguire un''altra addizione? (S/N): ');
  215.                 Readln(Rp)
  216.                 End;
  217.                 End;
  218. Procedure Sott_Calc;
  219.  Var
  220.   A, B: integer;
  221.  Begin
  222.  Rp := 's';
  223.  while Rp = 's' do begin
  224.   Writeln;
  225.    TextColor(14);
  226.     Writeln('Risultato');
  227.      TextColor(15);
  228.       Writeln;
  229.        Write('Inserire il 1ø Numero: ');
  230.         Readln(A);
  231.          Write('Inserire il 2ø Numero: ');
  232.           Readln(B);
  233.            Writeln;
  234.             Writeln('Attendere, calcolo in corso...');
  235.              Delay(2000);
  236.               Writeln('Il risultato della sottrazione Š ',A-B);
  237.                Write('Vuoi eseguire un''altra sottrazione? (S/N): ');
  238.                 Readln(Rp)
  239.                  End;
  240.                  End;
  241. Procedure Div_Calc;
  242.  Var
  243.   A, B: integer;
  244.  Begin
  245.   Rp := 's';
  246.  while Rp = 's' do begin
  247.   Writeln;
  248.    TextColor(14);
  249.     Writeln('Risultato');
  250.      TextColor(15);
  251.       Writeln;
  252.        Write('Inserire il 1ø Numero: ');
  253.         Readln(A);
  254.          Write('Inserire il 2ø Numero: ');
  255.           Readln(B);
  256.            Writeln;
  257.             Writeln('Attendere, calcolo in corso...');
  258.              Delay(2000);
  259.               Writeln('Il risultato della divisione Š ',A/B:5:2);
  260.               Write('Vuoi eseguire un''altra divisione? (S/N): ');
  261.                 Readln(Rp)
  262.                 End;
  263.                 End;
  264. Procedure Molt_Calc;
  265.  Var
  266.   A, B: integer;
  267.  Begin
  268.  Rp := 's';
  269.  while Rp = 's' do begin
  270.   Writeln;
  271.    TextColor(14);
  272.     Writeln('Risultato');
  273.      TextColor(15);
  274.       Writeln;
  275.        Write('Inserire il 1ø Numero: ');
  276.         Readln(A);
  277.          Write('Inserire il 2ø Numero: ');
  278.           Readln(B);
  279.            Writeln;
  280.             Writeln('Attendere, calcolo in corso...');
  281.              Delay(2000);
  282.               Writeln('Il risultato della moltiplicazione Š ',A*B);
  283.                 Write('Vuoi eseguire un''altra moltiplicazione? (S/N): ');
  284.                 Readln(Rp)
  285.                 End;
  286.                 End;
  287. Procedure Uso_Calcolatrice;
  288. Var
  289.  opz, i, A, B, C, D: integer;
  290. Begin
  291.  ClrScr;
  292.    Writeln;
  293.     TextColor(14);
  294.      GotoXY(25,4); Write('Calcolatrice');
  295.       TextColor(15);
  296.        writeln;
  297.         GotoXY(26,6); Write('1. Addizione');
  298.          GotoXY(26,7); Write('2. Sottrazione');
  299.           GotoXY(26,8); Write('3. Divisione');
  300.            GotoXY(26,9); Write('4. Moltiplicazione');
  301.             GotoXy(26,10); Write('0. Per tornare al Menu');
  302.              GotoXY(26,12); Write('Selezionare una Opzione: ');
  303.               Readln(opz);
  304.  Case opz Of          {assegna una funzione al tasto digitato}
  305.   1: Add_Calc;      {richiamo una procedura}
  306.   2: Sott_Calc;
  307.   3: Div_Calc;
  308.   4: Molt_Calc;
  309.    End;
  310.     End;
  311.  
  312. Procedure Menu;     {visualizza il menu}
  313.  Var
  314.   Scelta: integer;
  315.    Begin
  316.     Lunghezza_Agenda := 0;
  317.      Scelta := -1;
  318.       While Scelta <> 0 Do Begin
  319.        ClrScr;
  320.         TextColor(14);
  321.          Writeln;
  322.           GotoXY(25,4); Write('Agenda Telefonica / Calcolatrice');
  323.            TextColor(15);
  324.             GotoXY(26,6); Write('1. Aggiungere Persone all''Agenda');
  325.              GotoXY(26,7); Write('2. Visualizzare L''elenco dell''Agenda');
  326.               GotoXY(26,8); Write('3. Utilizzare la Calcolatrice');
  327.                GotoXY(26,9); Write('4. Gestione Voti');
  328.                 GotoXY(26,10); Write('5. Convetitore Dati Binari');
  329.                  GotoXY(26,11); Write('0. Per Terminare Sessione di lavoro');
  330.                   GotoXY(30,13); Write('Scegliere una opzione: ');
  331.                    Readln(Scelta);
  332.                     ClrScr;
  333.                      Case Scelta Of
  334.                       1: Aggiungi_Agenda;
  335.                       2: Visualizza_Agenda;
  336.                       3: Uso_Calcolatrice;
  337.                       4: voti;
  338.                       5: binario;
  339.                        End;
  340.                         End;
  341.                          End;
  342.                           Begin  {inizio il programma vero e proprio}
  343.                           ClrScr;
  344.                            TextColor(10);
  345.                            GotoXY(26,7); writeln('PROGRAM DESIGNED BY Morpheus');
  346.                            Delay(2500);
  347.                            ClrScr;
  348.                            Menu;
  349.                             End.