20/05/10 11:24
petercriss
ciao a tutti ho appena finito di creare questo programma ...nel quale devo fare una creazione di un file e fare un'inserimento una stampa e un'inserimento al centro solo k non riesco a fare la procedura di inserimento al centro potreste darmi una mano purtroppo quando è stato spiegato nn ero presente
program file_cd;uses crt; type compactdisk=record {dichiarazione record} titolo:string[20]; numerotracce:integer; {campi del record} prezzo:real; autore:string[20]; end; cd=file of compactdisk; {inizializzazione struttura dati} var f:cd; rec:compactdisk; {dichiarazione delle variabili utilizzate} a:integer; x:string; sce:integer; procedure crea(var f1:cd); {procedura creazione} begin rewrite(f1); {apertura file} reset(f1); repeat writeln('INSERISCI I DATI DEL CD'); writeln('-------------------------------------------------'); writeln('inserisci il titolo dell album'); readln(rec.titolo); { inserimento campo } writeln('inserisci il numero delle tracce presenti nel cd'); readln(rec.numerotracce); { inserimento campo } writeln('inserisci l autore del cd'); readln(rec.autore); { inserimento campo } writeln('inserisci il prezzo del cd'); readln(rec.prezzo); { inserimento campo } writeln('--------------------------------------------------'); writeln('vuoi inserire un altro cd? s/n'); {richiesta di un nuovo elemento} readln(x); { lettura scelta} writeln(''); write(f1,rec); clrscr; until x='n'; {scalta} close(f1); {chiusura file} end; {fine} procedure stampa(var f1:cd); {procedura stampa} begin clrscr; {inizio} reset(f1); {apertura file} while not eof(f1) do {ciclo precondizionato} begin {inizio} read (f1,rec); writeln('titolo dell album: ',rec.titolo); {stampa album} writeln('numero tracce: ',rec.numerotracce); {stampa numero delle tracce} writeln('autore del cd: ',rec.autore); {stampa del nome dell'autore} writeln('prezzo del cd: ',rec.prezzo:2:2 ,' euro'); {stampa del prezzo} writeln(''); end; close(f1); {chiusura} end; procedure inserimento(var f1:cd); {procedura inserimento} begin clrscr; {inizio} reset(f1); while not eof(f1) do {apertura file} read (f1,rec); writeln('inserisci il titolo del nuovo album'); {lettura campo} readln(rec.titolo); writeln('inserisci il numero delle tracce presenti nel nuovo cd');{lettura campo} readln(rec.numerotracce); writeln('inserisci l autore del nuovo cd'); {lettura campo} readln(rec.autore); writeln('inserisci il prezzo del nuovo cd'); {lettura campo} readln(rec.prezzo); write(f1,rec); Close(f1); {chiusura file} end; {fine} procedure inserimento_al_centro(var f1:cd); begin clrscr; {inizio} reset(f1); while not eof(f1) do begin read (f1,rec); writeln('dopo quale elemento vuoi inserire il nuovo cd?'); readln(a); writeln('inserisci il titolo del nuovo album'); {lettura campo} readln(rec.titolo); writeln('inserisci il numero delle tracce presenti nel nuovo cd');{lettura campo} readln(rec.numerotracce); writeln('inserisci l autore del nuovo cd'); {lettura campo} readln(rec.autore); writeln('inserisci il prezzo del nuovo cd'); {lettura campo} readln(rec.prezzo); end; write(f1,rec); close(f1); end; begin {inizio} clrscr; assign(f,'cd.dat'); {assegnazione dello spazio nella memoria di massa} crea(f); {creazione} clrscr; repeat {ripeti} clrscr; writeln('MENU DI SCELTA CD-ROM'); {menu al video} writeln('---------------------'); writeln(' 1)inserisci un nuovo cd'); writeln(' 2)stampa lista dei cd'); writeln(' 3)inserimento al centro'); writeln(' 8)uscire'); writeln('---------------------'); writeln(''); repeat {ripeti} writeln('quale paragrafo vuoi consultare?'); {scelta} readln(sce); {lettura variabile scelta} until (sce>0) and (sce<4) or (sce=8); {fine ciclo fino a che} case sce of {case} 1: begin clrscr; inserimento(f); writeln('...premere invio per continuare...'); readln(); end; {procudure scelte} 2: begin clrscr; stampa(f); readln; writeln('...premere invio per continuare...'); readln(); end; 3:begin clrscr; inserimento_al_centro(f); readln; writeln('...premere invio per continuare...'); readln(); end; end; until (sce=8); {fine ciclo finoa che sce =8} end. {fine}
Ultima modifica effettuata da Phi 01/06/10 11:15
aaa