如何在char中使用For循环?
How to use For loop with char?
通过使用 for 循环。我想让用户输入他们想要订购的柠檬水的数量。然后我的程序将计算税金、小计和总计。之后应该让他们通过输入 'y' 或 'n' 继续。
当我编译这些代码的时候。我得到的只是空白。我的代码有什么问题?
所以我做了一些修改。但是我不知道如果我输入 'n' 如果他们要求继续,我如何让它停止程序。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void main()
{
int NumCups;
float SubTot, Tot = 0, Tax;
char more;
printf("Enter the number of cups:");
scanf("%d", &NumCups);
SubTot = NumCups*1.29;
Tax = SubTot*0.0825;
Tot = SubTot + Tax;
printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
fflush(stdin);
printf("Thank you.\nWould you like to order more lemonade?\n");
for (; scanf("%c", &more);)
{
printf("Enter the number of cups:");
scanf("%d", &NumCups);
SubTot = NumCups*1.29;
Tax = SubTot*0.0825;
Tot += SubTot + Tax;
fflush(stdin);
printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
printf("Thank you.\nWould you like to order more lemonade?\n");
}
system("pause");
}
试试这个:
for (; scanf("%c", &more)&&more=='y';)
此更改将让您仅在使用 y 字符时继续。
do {
printf("Enter the number of cups:");
scanf("%d", &NumCups);
SubTot = NumCups*1.29;
Tax = SubTot*0.0825;
Tot += SubTot + Tax;
fflush(stdin);
printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
printf("Thank you.\nWould you like to order more lemonade?\n");
} while(1 == scanf(" %c", &more) && 'y' == more);
通过使用 for 循环。我想让用户输入他们想要订购的柠檬水的数量。然后我的程序将计算税金、小计和总计。之后应该让他们通过输入 'y' 或 'n' 继续。
当我编译这些代码的时候。我得到的只是空白。我的代码有什么问题?
所以我做了一些修改。但是我不知道如果我输入 'n' 如果他们要求继续,我如何让它停止程序。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void main()
{
int NumCups;
float SubTot, Tot = 0, Tax;
char more;
printf("Enter the number of cups:");
scanf("%d", &NumCups);
SubTot = NumCups*1.29;
Tax = SubTot*0.0825;
Tot = SubTot + Tax;
printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
fflush(stdin);
printf("Thank you.\nWould you like to order more lemonade?\n");
for (; scanf("%c", &more);)
{
printf("Enter the number of cups:");
scanf("%d", &NumCups);
SubTot = NumCups*1.29;
Tax = SubTot*0.0825;
Tot += SubTot + Tax;
fflush(stdin);
printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
printf("Thank you.\nWould you like to order more lemonade?\n");
}
system("pause");
}
试试这个:
for (; scanf("%c", &more)&&more=='y';)
此更改将让您仅在使用 y 字符时继续。
do {
printf("Enter the number of cups:");
scanf("%d", &NumCups);
SubTot = NumCups*1.29;
Tax = SubTot*0.0825;
Tot += SubTot + Tax;
fflush(stdin);
printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
printf("Thank you.\nWould you like to order more lemonade?\n");
} while(1 == scanf(" %c", &more) && 'y' == more);