当前位置: 首页 > 知识库问答 >
问题:

如何在函数中循环?[关闭]

司马狐若
2023-03-14

我想用函数循环我的代码,但我不知道怎么做。我想循环直到用户说停止。我的输出也有问题,当调用函数。我对C++还是个新手。感谢任何帮助!

我计划我的输出是这样的:欢迎来到和谐礼品店-(用户名)

您已购买:(说明1)类别:(说明2)您应支付:(总价)

代码:

  #include <iostream>
#include <string>

using namespace std;

string getName();

string getproductCategory ();

char getproductCode ();

int getproductQuantity ();

int customerDistance (int,int);

int calculatetotalPrice (string,char,int);

int distanceInKM (int);

void displayALL (int totalprice);

int main () {
    
    string name123,category;
    int quantity,priceperkm,totalprice,km,price;
    char productcode;
    
    name123 = getName();
    
    category = getproductCategory ();
    
    productcode = getproductCode ();
    
    quantity = getproductQuantity();
    
    priceperkm = customerDistance(km,price);
    
    totalprice = calculatetotalPrice(category,productcode,quantity);

    displayALL (totalprice);
    
    return 0;}
    
string getName (){
    string name123;
    cout << "Enter name : ";
    cin >> name123;
    return name123;
}
    
string getproductCategory (){
    string category;
    cout <<"Enter category : ";
    cin >> category;
    return category;}

char getproductCode(){
    char productcode;
    cout <<"Enter product code : ";
    cin >> productcode;
    return productcode;
}

int getproductQuantity(){
    int quantity;
    cout <<"Enter quantity : ";
    cin >> quantity;
    return quantity;
}

int customerDistance(int km, int price){
    int priceperkm;
    cout <<"Enter distance (km) : ";
    cin>>km;
    
    if (km >= 20)
    priceperkm = 1.00*km;
    else if (km >= 20 && km <= 80)
    priceperkm = 1.50*km;
    else if (km > 100)
    priceperkm = 2.00*km;
    
    return priceperkm;
}

int calculatetotalPrice (string category,char productcode,int quantity){
    int price,totalprice,priceperkm;
    string description1,description2;
    
    if (category == "NP456" && productcode == 'P'){
    price = 158.50*quantity;
        description1 = "Promising Love";
            description2 = "New Product";}
    else if (category == "NP456" && productcode == 'E'){
    price = 198.50*quantity;
        description1 = "Endless Love" ;
            description2 = "New Product";}
    else if (category == "BS123" && productcode == 'F'){
    price = 58.50*quantity;
        description1 = "Ferrero Choclate Foil Balloon";
            description2 = "Best Seller";}
    else if (category == "BS123" && productcode == 'B'){
    price = 188.50*quantity;
        description1 = "Birthday Cake Mania";
            description2 = "Best Seller";}
    
totalprice = price * priceperkm;

return totalprice;
}

void displayALL(int totalprice){
    string name123,description1;
    int quantity;
    cout <<"WELCOME TO HARMONY GIFT SHOP - "<<name123<<endl;
    cout <<"You have purchased : "<<description1<<endl;
    cout <<"Quantity :"<<quantity<<endl;
    cout <<"You should pay : RM "<<totalprice<<endl;
}

共有1个答案

宇文学博
2023-03-14

签出while循环。您可以让它在布尔值为true时运行,并且每次while运行std::cin(读取控制台),检查它是否等同于一个短语,如stop以及它是否将aformentioned布尔值设置为stop(停止),从而停止循环。

 类似资料:
  • 我对编码完全陌生,正在使用Python作为一个学校项目开发一个基于文本的游戏。用户必须通过键入“北”、“东”、“南”或“西”进入房间。如果方向无效,则应弹出错误消息,提示用户输入新方向。如果用户键入退出,游戏应该结束。 这个项目有一百万个问题,因为我发现我在编码方面很糟糕,但我想弄清楚的是,如果出现提示,如何让我的程序退出游戏。这是我的代码(它不是完整的代码,只是我到目前为止所拥有的代码。我试图一

  • 我想链接一个在循环中多次调用的异步ajax函数。为什么?因为这个功能是上传文件,但我希望它能连续上传文件,而不是一次上传所有文件。我不想使用async false,因为我希望在DOM上更新进度。 我不明白jquery延迟对象是如何工作的。

  • 我下面有这个功能,我在某处做错了什么。 要运行,从程序的主要部分调用函数,如下所示: 代码底部的返回False与如果product为None有关,这是在另一个函数中编写了一些代码之后需要的,但在这个函数中必须执行。 如果用户输入的数量是一个数字,所有工作正常。如果是其他任何东西,则打印值错误,您可以输入另一个输入。如果你把另一个字母etc放进去,它就会重复一遍,如果你把一个数字放进去,它就会接受它

  • 问题内容: 我正在尝试通过websocket建立一个Twitter公开流的小例子。这是我的websocket.py,正在运行。 我想知道的是:如何从WSHandler类外部与websocket交互(即,不仅从websocket.js接收消息时回答)?假设我想在此脚本中运行其他函数,该函数将发布“ hello!”。每五秒钟将其发送到websocket(浏览器),而无需客户端进行任何交互。我该怎么办?

  • 问题内容: 如果我在一个循环中有一个循环,并且一旦满足一条语句,我想中断主循环,那我应该怎么做? 这是我的代码: 问题答案: 使用标记的中断: 另请参阅 Java代码中的“循环:”。 这是什么,为什么会编译? 文献资料

  • 嗯,我已经试过多次了。不过,我一度认为最长的序列函数会有所帮助,因为它显示的是最长的冰雹序列。尽管如此,我似乎不知道如何查找或存储它用于查找的值。如果有人能解释一下,我将不胜感激。 我遇到的问题是我最长的启动顺序: 我不知道如何将其转换为递归,我注意到对于一些递归,我看到人们仍然在使用for循环,但我确信我们不应该使用循环。这可能是一个愚蠢的问题,但如果有人知道的话,有没有一个公式可以将循环转换为