当前位置: 技术问答>linux和unix
在linux下用C编程,问个简单问题,请指教
来源: 互联网 发布时间:2016-01-25
本文导语: 以下代码是一个控制CD 播放的主函数,调用其它函数来执行。每次执行./main这个可执行文件以后,输入一个数字,例如 1 ,然后调用play()函数,开始播放CD,不过此时函数便退出了,必须重新执行一次 ./main,才能...
以下代码是一个控制CD 播放的主函数,调用其它函数来执行。每次执行./main这个可执行文件以后,输入一个数字,例如 1 ,然后调用play()函数,开始播放CD,不过此时函数便退出了,必须重新执行一次 ./main,才能进行其他的控制,例如输入 2,暂停CD的播放。不知程序怎样调整才能在用户输入一个数字后,继续等待用户的输入,从而可以只运行一次目标程序就能进行各种控制,谢谢。
#include
int main()
{
int i;
printf("正在获取音轨列表……请稍后n");
Get_Info();
displayMenu();
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
}
return 0;
}
#include
int main()
{
int i;
printf("正在获取音轨列表……请稍后n");
Get_Info();
displayMenu();
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
}
return 0;
}
|
include
int main()
{
int i;
printf("正在获取音轨列表……请稍后n");
Get_Info();
displayMenu();
while(1)
{
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
}
getchar();
}
return 0;
}
int main()
{
int i;
printf("正在获取音轨列表……请稍后n");
Get_Info();
displayMenu();
while(1)
{
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
}
getchar();
}
return 0;
}
|
awjx(啦啦啦) 的代码中实现了您想要的功能,但是用while(1),这样使程序无法正常退出.
可以在while循环中添加一个适当时候退出的语句.
如可以添加一个i值为7时就退出.
如:
while(1)
{
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
case 7: return 0;
}
getchar();
}
可以在while循环中添加一个适当时候退出的语句.
如可以添加一个i值为7时就退出.
如:
while(1)
{
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
case 7: return 0;
}
getchar();
}
|
楼上的正解
我综合一下:)
include
int main()
{
int i;
printf("正在获取音轨列表……请稍后n");
Get_Info();
displayMenu();
while(1)
{
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
case 7: return 0;
return 0;
}
getchar();
}
}
我综合一下:)
include
int main()
{
int i;
printf("正在获取音轨列表……请稍后n");
Get_Info();
displayMenu();
while(1)
{
scanf("%d",&i);
switch(i)
{
case 1: play();break;
case 2: pause_cd();break;
case 3: resume();break;
case 4: stop();break;
case 5: vol_ctrl();break;
case 6: eject();break;
case 7: return 0;
return 0;
}
getchar();
}
}