c++ error C2059: 语法错误 : “}”

8进制转10进制的小程序 可是报错的error C2059: 语法错误 : “}”我看不懂,请问要怎么解决啊
#include <iostream>
#include <cmath>
using namespace std;
void main()
{
int L,jz8,jz10=0;
cout<<"输入一个8进制数:";
do
{
cin>>jz8;
L=jz8;
while (L%10<8 && L!=0)
{
L=L/10;
if(L%10>=8)
{
cout<<"输入的不是一个8进制数!请重新输入:";
cin>>jz8;
}
}
for(int i=0;jz8!=0;i++)
{
jz10=jz8%10+jz10*int(pow(10,double(i)));
jz8=jz8/10;
}
cout<<"转化为10进制之后为"<<jz10<<endl;
}
}

#include <iostream>
#include <cmath>
using namespace std;
void main()
{
int L,jz8,jz10=0;
cout<<"输入一个8进制数:";
do //此处有个关键字do ,你想要do{...}while()循环的形式写代码吗?那么while没有啊。
{
cin>>jz8;
L=jz8;
while (L%10<8 && L!=0)//这个不是匹配那个do的啊
{
L=L/10;
if(L%10>=8)
{
cout<<"输入的不是一个8进制数!请重新输入:";
cin>>jz8;
}
}
for(int i=0;jz8!=0;i++)
{
jz10=jz8%10+jz10*int(pow(10,double(i)));
jz8=jz8/10;
}
cout<<"转化为10进制之后为"<<jz10<<endl;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-15
g->arcs[i][j]={0,0};
没有这种语法,这种写法只能是在变量定义的时候.你要改成一个个赋值或是加个函数.
第2个回答  2009-09-16
您的do while语句语法错误,do后面的一对{}里是循环体 while()是循环条件
格式应该为do{***
}while(***)
相似回答