为什么我的循环不起作用 [英] Why will my loop does not work
问题描述
为什么循环不起作用?
我正在为(;;)使用Indefinite for循环,但它不会停止循环
所以我尝试使用while循环,当它是
时使用while循环
(bra> 2)
它仍然打印(您是否要添加更多y或n");我不希望这样做.
当(bra == 1)并要求Y或N时,它在Y或N处中断
以及如何调用我不希望程序退出的主要功能.休息后,我希望它返回到主要功能''
for循环dis是代码
why is the loops not working ?
i am using an Indefinite for loop for (;;) but but it does not stop looping
so i tride to use while loop and with the while loop when It is
(bra>2)
it still print ("do u want to add more y or n");which i do not want it to do so.
and when ( bra ==1) and it ask for a Y or N it breaks at either Y or N
And how do i call back the the main function i do not want the program to exit. after the break, i want it to go back to the main function''
with the for loop dis is the code
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
void create_new_stock(void);
void display_stock(void);
void sales(void);
void modify(void);
void Additem(void);
void Viewitems(void);
void Viewcategory(void);
void Editcategory(void);
void Edititems(void);
void Edit(void);
void Deleteitem(void);
void Deletecategory(void);
void PrintBeeper(void);
void CreateFile(void);
void DeleteFile(void);
void sel();
double u_prx = 0.0;
double total=0.0;
double G_total=0.0;
double amut_b=0.0;
double amut_u=0.0;
double S_prx_Blk=0.0;
double S_prx_u=0.0;
double T_amut_blk=0.0;
double T_amut_u =0.0;
double qty_sold = 0.0;
int T_qty_bulk =0;
int T_qty_u =0;
int G_T_qty_bulk=0;
int G_T_qty_u=0;
int qty_u= 0;
int qty_left = 0;
int qty_bulk = 0;
char cate[20];
char iname[20];
char code[6];
void create_new_stock()
{
int bra;
char ans;
printf("Enter Category ");
scanf("%s",cate);
printf("How many brands do u want to add?");
scanf("%d",&bra);
for(;;)
{
printf("Enter brand name");
scanf("%s",iname);
printf("Enter Buying price(bulk)");
scanf("%lf",&amut_b);
puts("Enter Quantity in bulk");
scanf("%d",&qty_bulk);
puts("Enter Quantity of items (number of items in a box)");
scanf("%d",&qty_u);
T_qty_u=qty_bulk*qty_u;
T_amut_blk=amut_b/qty_u;
puts("Enter Selling price for(box)");
scanf("%lf",&S_prx_Blk);
puts("Enter selling price for unit");
scanf("%lf",&S_prx_u);
if (bra<=1)
puts("do u want to add more y or n");
scanf("%c",&ans);
if(tolower(ans) == 'n')
break;
}
getchar();
}
void display_stock()
{
}
void sales()
{
}
void modify()
{
}
int main()
{
char sele; // seletion of data
puts(" Welcome to my sales Program");
puts("<1> \t Create a new stock ");
puts("<2> \t Display Stock");
puts("<3> \t Sales");
puts("<4> \t Modify");
puts("<5> \t exit");
puts("Enter selection");
scanf("%c",&sele);
switch (sele)
{
case '1':
create_new_stock();
break;
case '2':
display_stock();
break;
case '3':
sales();
break;
case '4':
modify();
break;
case '5':
exit(1);
break;
}
return 0;
getchar();
}
在while循环中,这是代码
with the while loop this is the code
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <ncurses.h>
void create_new_stock(void);
void display_stock(void);
void sales(void);
void modify(void);
void Additem(void);
void Viewitems(void);
void Viewcategory(void);
void Editcategory(void);
void Edititems(void);
void Edit(void);
void Deleteitem(void);
void Deletecategory(void);
void PrintBeeper(void);
void CreateFile(void);
void DeleteFile(void);
void sel();
double u_prx = 0.0;
double total=0.0;
double G_total=0.0;
double amut_b=0.0;
double amut_u=0.0;
double S_prx_Blk=0.0;
double S_prx_u=0.0;
double T_amut_blk=0.0;
double T_amut_u =0.0;
double qty_sold = 0.0;
int T_qty_bulk =0;
int T_qty_u =0;
int G_T_qty_bulk=0;
int G_T_qty_u=0;
int qty_u= 0;
int qty_left = 0;
int qty_bulk = 0;
char cate[20];
char iname[20];
char code[6];
<pre>
void create_new_stock()
{
int bra;
char ans;
int a=1;
printf("Enter Category \n");
scanf("%s",cate);
printf("How many brands do u want to add?\n");
scanf("%d",&bra);
while((bra>a)||(bra>=a))
{
printf("Enter brand name\n");
scanf("%s",iname);
printf("Enter Buying price(bulk)\n");
scanf("%lf",&amut_b);
printf("Enter Quantity in bulk\n");
scanf("%d",&qty_bulk);
printf("Enter Quantity of items (number of items in a box)\n");
scanf("%d",&qty_u);
T_qty_u=qty_bulk*qty_u;
T_amut_blk=amut_b/qty_u;
printf("Enter Selling price for(box)\n");
scanf("%lf",&S_prx_Blk);
puts("Enter selling price for unit");
scanf("%lf",&S_prx_u);
a++;
puts("do u want to add more y or n");
scanf("%c",&ans);
if(tolower(ans) =='Y')
break;
}
}
void display_stock()
{
}
void sales()
{
}
void modify()
{
}
int main()
{
char sele; // seletion of data
puts(" Welcome to my sales Program");
puts("<1> \t Create a new stock ");
puts("<2> \t Display Stock");
puts("<3> \t Sales");
puts("<4> \t Modify");
puts("<5> \t exit");
puts("Enter selection");
scanf("%c",&sele);
switch (sele)
{
case '1':
create_new_stock();
break;
case '2':
display_stock();
break;
case '3':
sales();
break;
case '4':
modify();
break;
case '5':
exit(1);
break;
}
return 0;
getchar();
}
推荐答案
Brands bra是您询问要创建的用户的品牌数,a是已创建品牌的当前计数,您要在用户创建所需编号后退出循环;
Brands bra is the number of brands you asked the user they want to create and a is the current count of the created brands, and you want to exit the loop when the user has created the required number so;
while(a <= bra)
{
//the loop content
a++;
}
这篇关于为什么我的循环不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!