Visualizzazione dei risultati da 1 a 2 su 2

Discussione: file di testo [pascal]

  1. #1

    file di testo [pascal]

    nn riesco a capire cosa sbaglio in qs codice
    PROGRAM Studenti;
    {Anna Lorusso
    Versione 1.0
    27 novembre 2003}
    (* Questo programma restituisce un file con i dati anagrafici relativi
    agli studenti del corso di laurea con codice 516.
    Mostra a video il numero totale degli studenti frequentanti tale corso.*)
    USES Crt;
    CONST
    CorsoX = 516;
    Ind1 = 'C:\DOCUME~1\ANNA\PROGRA~1\STUDEN~1.TXT';
    Ind2 = 'C:\DOCUME~1\ANNA\PROGRA~1\STUDEN~2.TXT';
    Ind3 = 'C:\DOCUME~1\ANNA\PROGRA~1\STUDEN~3.TXT';
    IndOut = 'C:\DOCUME~1\ANNA\Progra~1\SCIENZE.TXT';
    VAR
    Alfa,
    Beta: Text;
    Scelta: Integer;
    PROCEDURE ScriviFile;
    VAR Riga1,
    Riga3: String;
    Corso,
    Anno,
    Totale: Integer;
    BEGIN
    Totale:=0;
    (* Assegnazione del file di output *)
    Assign (Beta,IndOut);
    (* Apro *)
    Reset (Alfa);
    Rewrite (Beta);
    WHILE NOT eof (Alfa) DO
    BEGIN
    ReadLn (Alfa,(Riga1));
    Read (Alfa,(Corso));
    Read (Alfa, (Anno));
    ReadLn (Alfa,(Riga3));
    IF Corso = CorsoX THEN
    BEGIN (* Scrittura sul file di input *)
    Totale := Totale+1;
    WriteLn (Beta,Riga1:30);
    WriteLn (Beta,(Corso):3,(Anno):1);
    WriteLn (Beta,(Riga3):30)
    END (* end if *)
    END; (* end while *)
    WriteLn ('Totale = ', Totale);
    ReadLn;
    Close (Alfa);
    Close (Beta)
    END; (* ScriviFile *)
    PROCEDURE Assegna1;
    BEGIN
    Assign (Alfa,Ind1);
    ScriviFile
    END; (* Assegna1 *)
    PROCEDURE Assegna2;
    BEGIN
    Assign (Alfa,Ind2);
    ScriviFile
    END; (* Assegna1 *)
    PROCEDURE Assegna3;
    BEGIN
    Assign (Alfa,Ind3);
    ScriviFile
    END; (* Assegna1 *)
    BEGIN {Studenti}
    (* Assegnazone del file di input scelto all' indirizzo corrispondente *)
    WriteLn ('Digita il nome del file di input da scegliere fra i seguenti');
    WriteLn ('1 - Studenti1;');
    WriteLn ('2 - Studenti2;');
    WriteLn ('3 - Studenti3.');
    Readln (Scelta);
    CASE Scelta OF
    1: Assegna1;
    2: Assegna2;
    3: Assegna3;
    ELSE
    WriteLn ('Nome file inserito non valido')
    END;

    ReadLn
    END. (* Studenti *)
    per favore aiutatemi

  2. #2
    il file beta viene creato ma nn stampa nulla....
    il file di input ha la seguente forma
    Modugno Monica
    129 1
    Via Gimma,30 080/5458291
    Cellamare Sandro
    117 0
    Via Candura,71 080/5540254
    Fiore Giovanni
    815 2
    Via Ciusa,120 080/1829682
    Cenci Angela
    516 3
    Via Dante,118 080/5283688
    Passi Alessia
    456 1
    Via Putignani,35 080/5218889
    Santoro Teresa
    516 0
    Via Sella,81 080/5318191
    Marzo Chiara
    516 1
    Via Sardegna,17 080/5374856
    Fasto Claudio
    721 2
    Via Trevisani,65 080/5889118
    516 0
    Via Babudri,17 080/5797577
    Bianchi Donato
    956 1
    Via Piemonte,56 080/5375684
    Rossi Francesca
    162 2
    Via Liguria,154 080/5396547
    Anice Rosa
    275 3
    Via Diaz,10 080/5236984
    Sabbatelli Luigi
    368 0
    Via Nicolai,213 080/5469875
    Nobili Antonio
    516 0
    Via Crispi,451 080/5625878
    Straccio Sabrina
    516 0
    Via Calefati,542 080/5214569
    cioè la prima riga contiene nome e cognome, la seconda il codice del corso di laurea e il secondo numero indica l'anno accademico, la terza riga contiene l'indirizzo e il telefono dello studente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.