| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1651 人关注过本帖
标题:[讨论]一道用循环语句做的选择题
只看楼主 加入收藏
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

当b=0输入a=1时候,输出 printf("please input");,b++,b=1,a=1,b!=a不成立。在就是你那循环刚刚能循环吗?


能重复循环吗?连括号{}都没有。


深山苦学C语言,终年不见外面世界。
2007-06-12 00:10
夜火
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2007-5-30
收藏
得分:0 
我就 觉得 想不明白 为什么不用 switch呢??
多简单1 2 3 用 continue
0用 break
随便用哪个循环控制都行 循环条件的都不用

多简单

2007-06-12 09:01
while000
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-12
收藏
得分:0 
看看这样可以不 用TURBO C
#include "stdio.h"
void main()
{
int a;
printf("\n Z C D\n 1.INPUT STUDY\n 2.FIDE STUDY\n 3.PRINTRT STUDY\n 0.EXIT ");
printf("\n CHOOSE 1-3:\n");
while(a)/* 用for是 for(;a;) */
{
scanf("%d",&a);
switch(a)
{
case 0 : printf("thank use\n\n");
case 1 : printf("please input\n\n");continue;
case 2 : printf("fied number\n\n");continue;
case 3 : printf("in process of use\n\n");continue;
default: printf("error\n\n");continue;
}
}
getch();
}

[此贴子已经被作者于2007-6-12 18:55:56编辑过]

2007-06-12 18:51
wxw12345
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-18
收藏
得分:0 

好似getch()是用来接收字符的吧……
我的意思是‘0’!=0
用getch()取来的数据放在int a中,不合适吧
还有你的int b是做什么的呢?好似没有用处……

我是新手 不要打我……

2007-06-12 19:10
wxw12345
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-4-18
收藏
得分:0 

尽量少的改动你的程序,运行正确的结果如下:
#include<stdio.h>
#include<conio.h>
main()
{
char a;
printf("\n Z C D\n 1.INPUT STUDY\n 2.FIDE STUDY\n 3.PRINTRT STUDY\n 0.EXIT ");
printf("\n CHOOSE 1-3:\n");
a=getch();
for(;;)
{ if(a=='1') printf("please input\n");
else if(a=='2') printf("fied number\n");
else if(a=='3') printf("in process of use\n") ;
else if(a=='0')
{
printf("thank use\n");
break;
}
else printf("wrong\n");
a=getch();
}
}

2007-06-12 19:23
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
收藏
得分:0 

大家看这样行不?

#include<stdio.h>
void one();
void two();
void three();
void main()
{
int select;
do
{
printf("\n\n\n\n Z C D\n 1.INPUT STUDY\n 2.FIDE STUDY\n 3.PRINTRT STUDY\n 0.EXIT \n");
printf("\n请选择功能:");
scanf("%d",&select);
if(select==0)
{
printf("thank use");
break;
}
switch(select)
{
case 1:one();break;
case 2:two();break;
case 3:three();break;
default:printf("输入有误,请在0~3之间选择!\n");
}

}while(1);
}
void one()
{
printf("please input");
}
void two()
{
printf("fied number");
}
void three()
{
printf("in process of use");
}

2007-06-13 00:18
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
收藏
得分:0 

看看这样行不?

#include<stdio.h>
void one();
void two();
void three();
void fore();
void main()
{
int select;
do
{
printf("\n\n\n\n Z C D\n 1.INPUT STUDY\n 2.FIDE STUDY\n 3.PRINTRT STUDY\n 0.EXIT \n");
printf("\n请选择功能:");
scanf("%d",&select);
if(select==0)
{
printf("thank use");
break;
}
switch(select)
{
case 1:one();break;
case 2:two();break;
case 3:three();break;
default:printf("\n输入有误,请在0~3之间选择!\n");
}

}while(select!=0);
}
void one()
{
printf("\nplease input\n");
}
void two()
{
printf("\nfied number\n");
}
void three()
{
printf("\nin process of use\n");
}

2007-06-13 13:06
QQ395108605
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-11-29
收藏
得分:0 
用13楼的不行吗  那个多简单啊

学海无崖~!
2007-06-13 14:16
QQ395108605
Rank: 1
等 级:新手上路
帖 子:194
专家分:0
注 册:2006-11-29
收藏
得分:0 
还有17楼的
void one()
{
printf("\nplease input\n");
}
void two()
{
printf("\nfied number\n");
}
void three()
{
printf("\nin process of use\n");
}
这是什么意思 看不明白~ 请说说思路

学海无崖~!
2007-06-13 14:26
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
收藏
得分:0 

我是用函数做的:
switch(select)
{
case 1:one();break;/*如果输入1,进入one()函数*/
case 2:two();break;/*如果输入2,进入two()函数*/
case 3:three();break;/*如果输入3,进入three()函数*/
default:printf("\n输入有误,请在0~3之间选择!\n");
}

分开做只是为了养成一种习惯,以后做大程序时模块是分开的,特别是做Java时.这是一种好习惯哟.

[此贴子已经被作者于2007-6-13 20:05:20编辑过]

2007-06-13 20:04
快速回复:[讨论]一道用循环语句做的选择题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054783 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved