当前位置: 代码迷 >> C语言 >> [讨论]请高手来看看,没人会?
  详细解决方案

[讨论]请高手来看看,没人会?

热度:321   发布时间:2005-11-19 17:35:00.0
[讨论]请高手来看看,没人会?
Statment main()
{
int note=0;
int fre,dur,control;
clock_t goal;
printf("please leason song of kewang:\n");
{
outportb(0x43,0xb6);
fre=(unsigned)(1193180L/fre);
outportb(0x42,(char)fre);
outportb(0x42,(char)(fre>>8));
control=inportb(0x61);

outportb(0x61,(control)|0x3);
}
goal=(clock_t)dur+clock();
while(goal>clock());
if(fre)
outportb(0x61,control);
goal=(clock_t)0;
note=note+2
}
这错在哪里??是不是声明的问题??帮下我

[此贴子已经被作者于2005-11-19 19:33:36编辑过]

搜索更多相关的解决方案: control  please  

----------------解决方案--------------------------------------------------------
outportb()要头文件#include<conio.h>吧?

最后少了个";"

好像声明也有问题

偶也很菜,期待高手
----------------解决方案--------------------------------------------------------
以下是引用本人已死在2005-11-19 18:20:00的发言:
outportb()要头文件#include<conio.h>吧?

最后少了个";"

好像声明也有问题

偶也很菜,期待高手

应该不需要头文件#include<conio.h>
还有最后不加;也没问题的
错误提示是 Documents and Settings Declaration syntax error /*文件和设置声明句法错误*/

[此贴子已经被作者于2005-11-19 18:57:43编辑过]


----------------解决方案--------------------------------------------------------
有大虾来指点下吗?期待中.....
----------------解决方案--------------------------------------------------------
int fre,dur,
----------------解决方案--------------------------------------------------------
以下是引用baidu在2005-11-19 20:20:00的发言:
int fre,dur,

还是同样的错误..........


----------------解决方案--------------------------------------------------------
把你改过的程序再贴一次
----------------解决方案--------------------------------------------------------
以下是引用zhai2651173在2005-11-19 17:35:00的发言:
Statment main()
{
int note=0;
int fre,dur,control;
clock_t goal;
printf("please leason song of kewang:\n");
{
outportb(0x43,0xb6);
fre=(unsigned)(1193180L/fre);
outportb(0x42,(char)fre);
outportb(0x42,(char)(fre>>8));
control=inportb(0x61);

outportb(0x61,(control)|0x3);
}
goal=(clock_t)dur+clock();
while(goal>clock());
if(fre)
outportb(0x61,control);
goal=(clock_t)0;
note=note+2
}
这错在哪里??是不是声明的问题??帮下我

打红粗的语句有问题,上面第一和第二句是其中你定义的变量fre和dur没有初始化,最后一句少个分号。
另外在头上要加几个库
#include <stdio.h>
#include <dos.h>
#include <time.h>
还有把main函数前的Statment改为int
我估计这个程序是通过时钟分频来发声吧。


----------------解决方案--------------------------------------------------------
8楼的姐姐,谢谢了..搞定了,正确的代码是
int main()
{
int note=0;
int fre,dur,control;
clock_t goal;
printf("please leason song of kewang:\n");
{
outportb(0x43,0xb6);
fre=(unsigned)(1193180L/fre);
outportb(0x42,(char)fre);
outportb(0x42,(char)(fre>>8));
control=inportb(0x61);

outportb(0x61,(control)|0x3);
}
goal=(clock_t)dur+clock();
while(goal>clock());
if(fre)
outportb(0x61,control);
goal=(clock_t)0;
note=note+2;
}
----------------解决方案--------------------------------------------------------
那么我还想问问我的歌谱数组错在哪里?
SONG[]={
D0,N4,E0,N8,D0,N8,C0,N4,A10,N4,G10,N8,E10,N8,G10,N8,G10,N8,A10,
N8,C0,N2,A10,N4,A10,N8,C0,N8,G10,N8,A0,N8,E0,N8,G0,N8,
D0,N2,EO,N4,D0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,G10,
N8,A10,N8,C0,N2,A10,N4,A10,N8,C0,N8,A10,N8,A10,N8,D10,
N8,E10,N8,G10,N2,D0,N4,DO,N4,G0,N4,A0,N8,G0,N8,F0,N2,G0,
N2,A0,N4,G0,N8,E0,N8,DO,N8,E0,D8,C0,D8,A10,N8,DO,N2,E0,
N4,G0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,G10,N8,A10,N8,
C0,N4,A10,N4,A10,N8,C0,N8,D0,N8,A10,N8,C0,N8,E0,N8,D0,
N1,END,END};
请指教
----------------解决方案--------------------------------------------------------
  相关解决方案