- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 C 的新手,对 python 很了解,但我在一些基本的事情上苦苦挣扎,这真的很令人沮丧,因为我似乎无法确定我的代码在哪里没有让 while 循环中断,直到它遇到数字我假设与缓冲区有关,然后它正好满足我程序中的每个条件,有人有一些见解吗?
这是我插入 10 时得到的输出:
Welcome to the Soda Vending Machine
All sodas cost $1.50 each
This machine accepts the following coins:
nickel = 5, dime = 10, quarter = 25, half-dollar = 50, dollar = 100
Please use the numeric value corresponding to each coin
10
Amount depositied so far: $ 32767
Amount depositied so far: $ 32777
Amount depositied so far: $ 32777
Amount depositied so far: $ 32777
Amount depositied so far: $ 32777
Invalid Coin
Dispensing soda ...
Your change is: Half dollar quarter dime nickel
int main(void)
int coin;
int totalcoin;
char *change = "Your change is:" ;
printf("Welcome to the Soda Vending Machine\n===================================\nAll sodas cost $1.50 each\nThis machine accepts the following coins:\nnickel = 5, dime = 10, quarter = 25, half-dollar = 50, dollar = 100\nPlease use the numeric value corresponding to each coin\n");
while (totalcoin < 150)
printf("Deposit a Coin: ");
scanf("%d", &coin);
if ( coin == 5)
totalcoin = totalcoin + 5;
printf("Amount depositied so far: $ %d\n", totalcoin);
if (coin == 10)
totalcoin = totalcoin + 10;
printf("Amount depositied so far: $ %d\n", totalcoin);
if (coin == 25)
totalcoin = totalcoin + 25;
printf("Amount depositied so far: $ %d\n", totalcoin);
if (coin == 50)
totalcoin = totalcoin + 50;
printf("Amount depositied so far: $ %d\n", totalcoin);
if (coin == 100)
totalcoin = totalcoin + 100;
printf("Amount depositied so far: $ %d\n", totalcoin);
if (coin != 5 || coin !=10 || coin !=25 || coin !=50 || coin !=100)
printf("Invalid Coin\n");
printf("Dispensing soda ...\n");
printf("Your change is: ");
if (totalcoin > 50)
totalcoin -= 50;
printf("Half dollar");
if (totalcoin >= 25)
totalcoin -= 25;
printf(" quarter");
if (totalcoin >= 10)
totalcoin -= 10;
printf(" dime");
if (totalcoin >= 5)
totalcoin -= 5;
printf(" nickel");
最佳答案
if ( coin == 5)
totalcoin = totalcoin + 5;
printf("Amount depositied so far: $ %d\n", totalcoin);
缩进并没有显示它真正的作用。它实际上等同于:
if ( coin == 5)
{
totalcoin = totalcoin + 5;
}
printf("Amount depositied so far: $ %d\n", totalcoin);
这不是你的意思,你应该使用 block :
if ( coin == 5)
{
totalcoin = totalcoin + 5;
printf("Amount depositied so far: $ %d\n", totalcoin);
}
作为最佳实践,有些人选择始终在 if
、for
、while
等之后使用 block ,即使只有 block 中的一个语句。它不太容易出错,尤其是当您需要向其中添加更多语句时。
关于c - 编写 Vending 程序,while 语句不会中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22086272/
我是 C 的新手,对 python 很了解,但我在一些基本的事情上苦苦挣扎,这真的很令人沮丧,因为我似乎无法确定我的代码在哪里没有让 while 循环中断,直到它遇到数字我假设与缓冲区有关,然后它正好
在阅读了一些 React Native 文档后,我想知道术语“vend”来自哪里。任何人都可以阐明“vend”的词源,或者该词是否可以受益于比文档中给出的程序定义更广泛的定义(this one is
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
http://developer.android.com/google/play/billing/billing_best_practices.html 注意:如果您使用 Proguard 来混淆代码
我最初问this question ,关于在安装时通过市场链接将参数传递到我的应用程序中。 似乎每个人都在说要使用com.android.vending.INSTALL_REFERRER 的inten
我正在尝试在我的应用程序中设置应用内结算功能。到目前为止,我遵循了本指南: http://developer.android.com/training/in-app-billing/preparing
我想知道我应该遵循哪些步骤来解决设计自动售货机等问题并提出许多设计文档(如用例、序列图、类图)。是否有任何我可以阅读的来源/链接,其中讨论了如何逐步进行。 谢谢。 最佳答案 我不确定是否有任何普遍接受
我正在实现一个与Android billing相关的功能,但是需要一个com.android.vending.billing.PURCHASES_UPDATED的接收器. 没有足够的文档所以我会问你
我的应用程序中的 INSTALL_REFERRER 广播有问题。 我正在尝试创建一些关于 Activity 等的信息,但在大多数设备上我的 url"https://play.google.com/st
好的,我有两个类,Vending 和 Payment。 Payment 是 Vending 的子类。我的代码中不断出现“基类未定义”错误。 这是两个头文件: //Parent class (Vendi
自从修改我的代码以使用 Android 计费库而不是示例应用程序中的旧 IABHelper 后,我收到了很多 ANR 以及下面的跟踪记录。任何人都知道如何解决这个问题?跟踪中没有一行我的代码。 "ma
这是我的问题我的目标是跟踪来自 google play 的应用安装。我在我的应用程序中编写了一个 BroadcastReceiver。因此,当应用程序从 goole play 下载时,将根据 goog
我刚刚导入了一个 android 项目,当我尝试运行它时,它在以下导入时出现错误 import com.google.android.vending.licensing.AESObfuscator;
我正在尝试启动 com.android.vending.billing.IMarketBillingService 服务,我收到了这条消息。我正在使用模拟器 Android 2.3.3 - API 级
问题仅发生在发布版本或生成签名的 apk 时,当我构建调试时 - 没有这样的问题。 将 AS 升级到版本 3.1 后立即出现问题 Program type already present: com.a
我一直在尝试将 Vending.apk 安装到我的模拟器中,但没有成功。它说它已经存在并且在我使用 adb install -r 时无法替换它。该图标未显示在屏幕上,因此我无法点击它来启动 Googl
我计划为我的一个 Android 应用程序集成 Google Play 应用内结算。 为了使用应用内结算,需要在 AndroidManifest 中添加权限 com.android.vending.B
我在 crashlytics 日志中收到错误 java.lang.RuntimeException: Error receiving broadcast Intent { act=com.androi
我已按照这篇文章中的说明进行操作 http://mobile.awsblog.com/post/Tx371Y7CA0QJ95X/Simplifying-Token-Vending-Machine-De
基本上,我想知道如果通信是通过 HTTPS 进行的,为什么所有额外的加密步骤? IE。对于身份: 用户进行身份验证,通过 HTTPS 为该用户提供身份 token ,他们可以使用它来执行您允许的任何操
我是一名优秀的程序员,十分优秀!