一个关于点歌的程序。有高分哦!!!!!

luoqiangfyk 2003-09-13 09:53:11
int GetSongNu(void)
{
char FileBuff[60], digbuff[20],Song[60];
char select[10],sele[10];
int SongNu = 0;
//欢迎词
sprintf(FileBuff, "%sbegin.vox", SongKeyDir);
PlayFile(FileBuff, ANY_DIG);
GET1: sprintf(FileBuff, "%skey.vox", SongKeyDir);
PlayFile(FileBuff, ANY_DIG);
GetDigit(4,50,"",select);
sprintf(Song,"%s%s.vox",SongDir,select[0]);
PlayFile(Song, ANY_DIG);
GET2: if(PlayFile(Song,ANY_DIG)==-1) goto GET1;
//选择1号键重新收听,2号键送给朋友,3号键重选歌曲
GET3: sprintf(FileBuff,"%s%s",SongKeyDir,"choice.vox");
PlayFile(FileBuff,ANY_DIG);
GetDigit(1,50,"",sele);
switch(sele[0])
{
case '1':
goto GET3;
case '2':
sprintf(FileBuff,"%c%c",digbuff[0],select[0]);
SongNu=atoi(FileBuff);
return SongNu;
case '3':
goto GET1;
default:
goto GET3;
}
}
请问这个程序那里有问题。主要是GetDigit(4,50,"",select);
sprintf(Song,"%s%s.vox",SongDir,select[0]);
那里出错了啊?请各位高手指教啊?有高份
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hacker007 2003-10-18
  • 打赏
  • 举报
回复
up
xiaofei7569 2003-09-30
  • 打赏
  • 举报
回复
up
luoqiangfyk 2003-09-18
  • 打赏
  • 举报
回复
PlayFile(...)函数是用来播放*.vox为后缀的语音文件。
2.GetDigit(...)函数参数的作用
获取电话按键的数字个数
yinzhaohui 2003-09-13
  • 打赏
  • 举报
回复
你说得太不清楚了。我只有猜
你的select[10]是char型使用、
sprintf不能使用%s使用%c

sprintf(Song,"%s%c.vox",SongDir,select[0]);
如果你的select中表示的是你多选的歌目通过调用GetDigit(4,50,"",select);来和屏幕交换信息
如你选了3,5,7,11这几个歌分别方在select[0],select[1],select[2],select[3];你是不直接转了3给select[0]还是它的'3'字符,如果是字符不能大于10如是数使用itoa(...)来完成后使用sprintf


1.PlayFile(...)函数是用来播放*vod为后缀的文件吗?
2.GetDigit(...)函数参数的作用

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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