在linux下用C编程,问个简单问题,请指教

Lenry 2007-05-27 04:43:24
以下代码是一个控制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;
}
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
besthyq 2007-05-27
  • 打赏
  • 举报
回复
楼上的正解

我综合一下:)
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();
}
}
ly611919 2007-05-27
  • 打赏
  • 举报
回复
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();
}


awjx 2007-05-27
  • 打赏
  • 举报
回复
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;
}

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧