using fprintf within a function

5 visualizzazioni (ultimi 30 giorni)
steve guy
steve guy il 18 Feb 2013
The function goes like this. How do I enter an fprintf statement so that the output looks like this:
>>num2let(83)
>>The corresponding letter grade to 83 is:B
function [grade]= num2let(n)
If n>89.49
grade='A'
elseif n<=89.49 & n=>79.5
grade='B'
......
...
elseif n<59.5 grade='F'
end
end
  1 Commento
Walter Roberson
Walter Roberson il 18 Feb 2013
You have defined this as a function that returns a value. What do you want returned? The verbose string? Just the letter grade?
Remember, functions that return values cause the returned value to be printed out in the form
ans =
unless something is done with the returned value, or the display is suppressed by putting a semi-colon after the expression.

Accedi per commentare.

Risposta accettata

Youssef  Khmou
Youssef Khmou il 18 Feb 2013
Modificato: Youssef Khmou il 18 Feb 2013
hi Caleb,
You can define your function without output like this :
function []= num2let(n)
if n > 89.49
fprintf('>>The corresponding letter grade to %d is:A\n',n)
elseif n<=89.49 && n>=79.5
fprintf('>>The corresponding letter grade to %d is:B\n',n)
% YOU COMPLETE YOUR FUNCTION WITH OTHER TESTS
elseif n<59.5
% grade='F'
fprintf('>>The corresponding letter grade to %d is:F\n',n)
end
end
  2 Commenti
steve guy
steve guy il 18 Feb 2013
thank you.
Jan
Jan il 18 Feb 2013
When you have checked for n > 89.49 already, you do not need to check for elseif n <= 89.49 afterwards.

Accedi per commentare.

Più risposte (1)

Thorsten
Thorsten il 18 Feb 2013
If you do not insist on fprintf, you can get the output using
grade = 83;
disp(['The corresponding letter grade to ' int2str(grade) ' is ' ...
num2let(grade)])

Categorie

Scopri di più su Language Fundamentals in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by