2011-08-13 1190 views
-2

我正在学习C++,我正在写卡片经销商计划。当我编译我的代码和我得到这些错误:这些错误是什么?我该如何解决它们?

dealer3.cpp:12: error: expected initializer before ‘int’ 
dealer3.cpp:33: error: expected constructor, destructor, or type conversion before ‘=’ token 
dealer3.cpp:34: error: expected constructor, destructor, or type conversion before ‘=’ token 
dealer3.cpp:35: error: expected constructor, destructor, or type conversion before ‘=’ token 
dealer3.cpp:36: error: expected constructor, destructor, or type conversion before ‘=’ token 
dealer3.cpp:37: error: expected constructor, destructor, or type conversion before ‘<<’ token 
dealer3.cpp:38: error: expected declaration before ‘}’ token 

,这里是我的代码

#include<iostream> 
#include<time.h> 
#include<stdlib.h> 
#include<cmath> 

using namespace std; 

int randn(int n); 
void draw(); 
int uni(int n); 
char *suits[4]={"Hearts","Diamonds","spades","clubs"}; 
char *ranks[13]={"ace","two","three","four","five","six","seven","eight","nine","ten","jack","queen","king"}; 
int drawn[52]; 
int remaining=52; 
int main() { 
    int n; 
    int i; 
    srand(time(NULL)); 
    while(1) { 
     cout<<"enter number of cards to draw"<<endl; 
     cin>>n; 
     if (n==0) break; 

for (i=1; i<=n; i++) 
    draw(); 
} 

    return 0; 
} 
int r; 
int s; 
int n; 
int card; 
n=randn(remaining--); 
card=uni(n); 
    r=card%13; 
    s=card/13; 
    cout<<ranks[r]<<" of "<<suit[s]<<endl; 
} 
int uni(int n) 
{ 
int i=0; 
while (drawn[i]) 
    i++; 
while (n-->0){ 
    i++; 
while (drawn[i]) 
    i++; 
} 
card_drawn([i])=true; 
return i; 
} 
int randn (int n){ 
return rand()%n; 
} 

这是为什么?

+0

那么,您的问题是什么?你读过错误信息了吗? –

+0

是的,我确实读过这些错误,但我并不知道该怎么办 –

+2

请首先正确缩进代码,好吗? – jweyrich

回答

6

事实上,这是一个很好的情况,缩进代码可以解决您的问题(或使解决方案非常明显),因为它会显示您的大括号中的几个错误。您有几行代码不属于任何不属于此处的函数。

你某些格式的提示:

  • 缩进通过的空间的固定量(通常为4)的每个代码嵌套块。
  • 每个功能后留一个空行。
  • 当为函数或for - ,whileif打开一个新块时(请继续列出),请注意将始终括号放在一起(您的代码中的样式相同)。
  • 确保关闭块的括号与打开它的语句/括号具有相同的缩进级别。

请注意,大多数IDE有一些选项来自动修复格式(特别是缩进)。

+0

哇我很快谢谢病态试试 –

+0

Im C++ noob hanks这么多 –

+2

而且他一举宣布了一种包围式的好处和另一种包装的不良之处。你有什么想法说明这个论点已经持续了多久,它是多么彻底的未解决,并将永远保留下来? ;-) –

1

您有一个缺失的大括号。以下声明发送到全球空间 -

n=randn(remaining--); 
// ... 
相关问题