How can I solve this question?

/Write a code that will calculate randomly a number between 1 and 10 (without displaying it) and will ask the user to guess it. If the user answers correctly, the program prints “Good” and add 1 to his score, if not, the program prints “sorry”, gives the correct answer, then selects another number. After 10 consecutive games, the programs stops and prints the final score.
Hint: use a random buitin function (rand).
your guess? 7
Sorry, answer was 5
your guess? 6
Sorry, answer was 0
your guess? 3
Sorry, answer was 1
your guess? 9
Sorry, answer was 0
..
your guess? 1
Sorry, answer was 5
your final score is 0

4 commentaires

Emma Swaggy
Emma Swaggy le 21 Mai 2017

plllllllllllllllllllllllllllllllease someone help me i have to submit it by 24/5/2017

Steven Lord
Steven Lord le 22 Mai 2017
Then I advise you to use some or all of the resources listed in this Answer to learn the basics of how to use MATLAB then try to write a solution to this problem yourself, or ask your professor or teaching assistant for help. If you have difficulty when writing the solution, show what you've done and ask a specific question about where you're stuck and you may receive some guidance.
Krishna Maity
Krishna Maity le 20 Juil 2021
A particle travels across a at surface, moving due cast for 3 m, then due north for 9 m, and then returns to the origin. A force field acts on the particle, given by
F(x,y)=sin(²+²)+In(7+xy) j
Find the work done on the particle by F.
Please solve this using MATLAB.

Connectez-vous pour commenter.

Réponses (2)

Image Analyst
Image Analyst le 21 Mai 2017

1 vote

Hints:
  1. randi() to generate an integer.
  2. input() or inputdlg() to ask the user for a number.
  3. fprintf() or msgbox() to display a message.
  4. "while" to loop until the user gets the correct answer.

4 commentaires

Emma Swaggy
Emma Swaggy le 22 Mai 2017
But many thanks for your reply but I still don't know how to solve it because I don't have any background about it . So if you know how to do it , i will appreciate .
Try finishing this
finalScore = 0;
for k = 1 : 10
computerGuess = rand(1);
userGuess = input(........
if computerGuess == .............
finalScore = finalScore + 1;
else
fprintf('Sorry..............
end
end
fprintf('Final score.................
Thomas Nguyen
Thomas Nguyen le 7 Avr 2018
Modifié(e) : Image Analyst le 8 Avr 2018
@ImageAnalyst: rand(r) returns a rxr matrix of random numbers from 0:1, not a random number from 1:10.
Although I guess you did tell her to finish it :w
Image Analyst
Image Analyst le 8 Avr 2018
Modifié(e) : Image Analyst le 8 Avr 2018
I had rand(1) in the code, but I should have put randi(10) like I said in the message. Thanks for the catch.

Connectez-vous pour commenter.

Thomas Nguyen
Thomas Nguyen le 7 Avr 2018

0 votes

Code:
function[] = guessingGame()
prompt_right=('Good job, you guessed correctly'); %msg display when player guessed right
count=0; %score
for i=1:10 %creating a loop to run the question 10 times
inp=input('Your guess? '); %taking player's guess
a=randi(5); %1st random factor for equation 'answer'
b=randi(5); %2nd random factor for equation 'answer'
answer=ceil((a+b)*rand); %equation to calculate a random number between 1 and 10
if inp==answer
disp(prompt_right);
count=count+1; %increase score by one if guessed correctly
else
prompt_wrong=['Sorry, the answer was ',num2str(answer)]; %msg display when player guessed wrong
disp(prompt_wrong);
end
end
prompt_final=['Congratz on finnishing the game! Your final score is: ',num2str(count)]; %msg display when the game is over
disp(prompt_final);
end%guessingGame()
Press F5 in your script editor or run guessingGame in the Command Window to run the code

Catégories

En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by