在linux下用C编程,问个简单问题,请指教
以下代码是一个控制CD 播放的主函数,调用其它函数来执行。每次执行./main这个可执行文件以后,输入一个数字,例如 1 ,然后调用play()函数,开始播放CD,不过此时函数便退出了,必须重新执行一次 ./main,才能进行其他的控制,例如输入 2,暂停CD的播放。不知程序怎样调整才能在用户输入一个数字后,继续等待用户的输入,从而可以只运行一次目标程序就能进行各种控制,谢谢。
#include <stdio.h>
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 <stdio.h>
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();
}
------解决方案--------------------楼上的正解
我综合一下:)
include <stdio.h>
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();
}
}