Help with Loops and Switch cases and Mean

5 visualizaciones (últimos 30 días)
D Moton
D Moton el 11 de Oct. de 2019
Editada: Turlough Hughes el 11 de Oct. de 2019
Write a program that prompts the User for if they would like to enter a real number. If yes, prompt the User for the real number. Continue to do this until the User enters “no” to the first question. After the User enters “no”, display the average of all the numbers entered.
This is what I have so far. I am confused and I need help. How do I keep asking a question for a string and keep repeating this process? Then how do I store all the numbers entered so I can find the mean?
Q=input('Would you like to enter a real number? (Yes or No) ','s');
switch Q
case 'Yes'
n=input('Enter a number: ');
Q=input('Would you like to enter a real number? (Yes or No) ','s');
while Q~= 'No'
n=input('Enter a number: ');
end
case 'No'
mean(,)
end

Respuesta aceptada

prasanth s
prasanth s el 11 de Oct. de 2019
here is the code
Q=input('Would you like to enter a real number? (Yes or No) ','s');
n=[];
switch Q
case 'Yes'
count=1;
while ~strcmpi(Q,'no')
n(count,1)=input('Enter a number: ');
Q=input('Would you like to enter a real number? (Yes or No) ','s');
count=count+1;
end
mean_out=mean(n)
case 'No'
end

Más respuestas (1)

Turlough Hughes
Turlough Hughes el 11 de Oct. de 2019
Editada: Turlough Hughes el 11 de Oct. de 2019
Hi Deriniece,
You could modify your code as follows:
Q='';
ii=1;
while ~strcmpi(Q,'No')
Q=input('Would you like to enter a real number? (Yes or No) ','s');
switch Q
case 'Yes'
n(ii)=input('Enter a number: ');
ii=ii+1;
case 'No'
disp(['The average input value is: ' num2str(mean(n))]);
end
end
Although this requires the user to have a case sensitive input.
strcmpi and if else statements will allow for case-insensitive inputs such as 'Yes', 'yes' and 'YES'
Q='';
ii=1;
while(1)
Q=input('Would you like to enter a real number? (Yes or No) ','s');
if strcmpi(Q,'Yes')
n(ii)=input('Enter a number: ');
ii=ii+1;
else
disp(['The average input value is: ' num2str(mean(n))]);
break
end
end
You might also like to consider using the following functions: menu(), inptdlg().

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by