我正在编写一个伪代码程序来读取客户记录,确定他们的帐户类型,然后在最后输出他们的名字和金额。我写了一个程序(差不多完成)我只是不确定如何循环它,直到没有更多的记录。你能帮助我吗?我最后的输出应该是客户名称和欠款。感谢。
read_customer_record
get num_of_records
get customer_name
get account_type
get num_basic_channels
get num_premium_channels
calculate_rate (calcR)
calculate_totals (calcT)
output(outp)
END
Calculate_rate (calcR)
IF account_type = personal
Basic_rateP = $5
Pre_rateP = $10
ELSE
Basic_rateB = $7.50
Pre_rateB = $12.50
END
Calculate_totals (calcT, calcR)
IF account_type = personal
total = (num_basic_channels * Basic_rateP) + (num_premium_channels * Pre_rateP)
ELSE
total = (num_basic_channels * Basic_rateB) + (num_premium_channels * Pre_rateB)
END
output (
答案 0 :(得分:0)
你可以这样做:
>>> 打印客户名称和金额,直到客户名称不等于空。
如果我用C ++编写代码,它看起来就像这样。
for(i=0;CustomerName[i]!=NULL;i++) //Loop till there is some Customer Name exists
{
cout<<CustomerName[i]<<"\t"<<AmountOwed[i]; //Printing out the Data
}
当没有客户剩余时,如果没有客户,它将停止,显然没有欠款。
答案 1 :(得分:0)
我认为你只需要围绕主程序包装一个WHILE语句。这样做的方法取决于您从哪里读取客户记录。
案例1:在许多情况下,您只能通过尝试读取结束来告知您已完成处理输入流。在这种情况下,您的伪代码可能如下所示:
read_customer_record
while the previous read succeeded
get num_of_records
get customer_name
get account_type
get num_basic_channels
get num_premium_channels
calculate_rate (calcR)
calculate_totals (calcT)
output(outp)
read_customer_record
end
情况2:在其他情况下,您可以在读取之前判断是否还有东西要从输入流中读取。在这种情况下,您的伪代码可能如下所示:
while there are more customer records to process
read_customer_record
get num_of_records
get customer_name
get account_type
get num_basic_channels
get num_premium_channels
calculate_rate (calcR)
calculate_totals (calcT)
output(outp)
end