• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 199
  • Last Modified:

tried what you said but

I tried putting in that writeln under the uses printer like you said, but it wouldn't let me. What do I do now?  Also, the program needs to output BOTH the number of state capitals gotten in one guess and the number of capitals gotten within one guess (I'd prefer to do this last part separately, but I think I could do it within this one).

var state: string;
    capital : string;
    Statefile: text;
    tries: integer;
    guess: string;
    correct_guess: integer;


procedure GETDATA (var localStatefile: text;
                   var localstate: string;
                   var localcapital: string);

   begin
      readln (localStatefile, localstate);
      readln (localStatefile, localcapital);
   end; {GETDATA}


procedure GUESS_CAPITAL (var tries: integer;
                         guess: string;
                         var localcorrect_guess: integer);

   begin{GUESS_CAPITAL}
      tries := 0;
     repeat
       tries := tries + 1;
       write ('Give capital of ', state, ' ' );
       readln (guess)
     until (guess = capital) or (tries = 4);
      if guess = capital then
         begin
           writeln ('Nice work.  You got it on try ', tries);
           inc(localcorrect_guess)
         end
      else
          begin{until}
           writeln ('You did not get it in 4 tries or less');
           writeln ('The correct answer is ' , capital)
          end;{until}
   end; {GUESS_CAPITAL}

procedure GUESSES (localcorrect_guess: integer);
   begin
     writeln ('You have guessed ' ,localcorrect_guess, ' states in 4 or fewer tries ');
   end;{GUESSES}


begin {main}
     assign (Statefile, 'A:\state2.dat');
     reset (Statefile);
     correct_guess:= 0;
     while not seekeof (Statefile) do
       begin
         GETDATA (Statefile, state, capital);
         GUESS_CAPITAL (tries, guess, correct_guess);
         GUESSES (correct_guess)
       end;
     close (Statefile)
end.
0
kazooie21
Asked:
kazooie21
1 Solution
 
dbruntonCommented:
Something like this

program form;
uses printer;



Rest of code


procedure GUESSES (localcorrect_guess: integer);
begin
  writeln(Lst, 'You have guessed ' ,localcorrect_guess, ' states in 4 or fewer tries ');
end;{GUESSES}


You are using Turbo Pascal aren't you?

0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now