録音プログラムで作業していますが、ちょっと残念です。彼らは手の前に入力され、対応するトラックを選択するために、4 -パスカル - パラメータ数が間違っています
program myMusicPlayer;
uses TerminalUserInput, SysUtils;
type
genreType = (Comedy, Punk, Metal);
album = record
albumName : String;
artistName : String;
genre : genreType;
tracks : array [0..4] of String;
location: array [0..4] of String;
end;
function readGenre(prompt: String): genreType;
var
val : Integer;
begin
WriteLn('1 - Comedy');
WriteLn('2 - Punk');
WriteLn('3 - Metal');
val := ReadInteger(prompt);
while ((val < 1) or (val > 3)) do
begin
WriteLn('Please enter a value between 1 & 3');
val := ReadInteger(prompt);
end;
result := genreType(val-1);
end;
function readAlbum(const alb : album): album;
var
i: Integer;
begin
result.albumName := ReadString('Enter album name here: ');
result.artistName := ReadString('Enter artist name here: ');
result.genre := readGenre('Enter genre here: ');
for i := 0 to 4 do
begin
result.tracks[i] := ReadString('Enter track list here: ');
end;
for i := 0 to 4 do
begin
result.location[i] := ReadString('Enter file location here: ');
end;
end;
procedure printAlbum(const toPrint: album);
var
i : Integer;
begin
WriteLn('Album title: ', toPrint.albumName);
WriteLn('Artist name: ', toPrint.artistName);
WriteLn('Genre: ', toPrint.genre);
for i := 0 to 4 do
begin
WriteLn('Track ', i, ' is: ', toPrint.tracks[i]);
WriteLn('File ', i, ' location is: ', toPrint.location[i]);
end;
end;
問題は、イムは、ユーザーが1の間の数を選択することができますので、これを使用しようとすると、この手順「runAlbum」で起こっています。
procedure runAlbum(prompt: String; min, max: Integer);
var
result : Integer;
begin
result := ReadInteger(prompt);
while ((result < min) or (result > max)) do
begin
WriteLn('Please select a track between', min, ' and ', max, ' to play:
');
result := ReadInteger(prompt);
end;
end;
私は私が試したすべてがために設定されたパラメータのエラー」間違った番号を実行し、今のように私は、実行するプログラムを取得するためにrunAlbumの隣に括弧で入力する必要のあるパラメータを正確には不明だが"runAlbum" "
procedure Main();
var
newAlbum : album;
begin
newAlbum := readAlbum(newAlbum);
printAlbum(newAlbum);
runAlbum();
end;
begin
Main();
end.
ありがとうございました! しかし、私は、ユーザーがトラック番号を選択しなければならないことを認識した後、端末は "選択したトラック"、トラック名の後に "アルバムから:"、アルバム名の順に "再生中!"。 私はそれを実装する方法を知らないので、新しい関数を作るべきですか、それともプロシージャrunAlbumに追加することはできますか? –
@ScottNeely:Btw、この回答が役に立った場合は、左上のチェックアイコンをクリックして、それを受け入れてください。 – MartynA