기록 프로그램 작업 중입니다. 조금만 붙어 있습니다. 그들은 손 전에 입력 해당 트랙을 선택 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"로 일어나고있다. 내가 실행할 수있는 프로그램을 얻을 수 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