Why doesn't my code loop back up to the top again and how to fix it

1 Ansicht (letzte 30 Tage)
(This is the photo of my text)
%% Cash register
NumItems = 0;
Answer = 1; % Assuming there is at least 1 item
while Answer == 1
Answer = input('Is there a new item? hit 1 for yes 0 for no: ','s'); % altering final condition
ItemNum = input('What is the 5 digit item number: '); % getting the item number even though we dont use it
Price = input('What is the unit price: '); % collecting price
Quantity = input('How many of the item are there?: '); % collecting the number of items
NumItems = NumItems + 1; % using a counter for the number of items
Cost = Price * Quantity; % Calculating the cost of the items bought
if NumItems <= 1 % if the number of items is less than or equal to one then the total cost is just the cost itself
TotalCost = Cost;
else % otherwise the totalCost is equal to the cost plus the previous cost
TotalCost = Cost + TotalCost;
end
end
fprintf('The total cost is: %d',TotalCost); % Print final statement

Akzeptierte Antwort

vidhathri bhat
vidhathri bhat am 25 Jun. 2019
Hi
Answer = input('Is there a new item? hit 1 for yes 0 for no: ','s'); % altering final condition
In this line you are reading input as character and in while condition you are comparing it with 1 as integer. That is why while condition is failing.
Answer = input('Is there a new item? hit 1 for yes 0 for no: ');
If you read the input as integer instead it should work.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by