2016-03-25 8 views
0

almaya devam soru:C++ Ödev: Bir hatayı

Write a program that reads an integer and displays, using asterisks, a filled and hollow square, placed next to each other.

Bu ana yöntemle yukarıda modifiye kaynak kodunu

#include <iostream> 
#include <cstdlib> 
void printTop (int a); 
int main() { 
int num = 1; 
cout << "Please, Enter a Number: " ; 
cin >> num; 
while (num >= 1) { 
    printTop (num); 
    for (int w = 0; w < num-2; w++) { 
     for (int i = 0; i < num; i++) { 
      cout << "*"; 
     } 
     cout << " *"; 
     for (int i = 0; i < num-2; i++) { 
      cout << "*\n"; 
     } 
     printTop (num); 
     cin >> num; 
    } 
    return 0; 
} 
    void printTop (int a) ; 
{ 

    for (int i = 0; i < a*2; i++) 
    { 
     cout << "*"; 
     if (i == a-1) { 
      cout << " " ; 
     } 
    } 
    cout << "\n" ; 
} 
+1

Hata "printTop bildirilmedi" – Iampig

+0

printTop bildirmediğiniz için ....... Bu sorunu gideren hata – amanuel2

cevap

1

Java ve diğer bazı dillerde farklı olarak, C++, beyan edilmeden önce yöntemlerinin çağrılması izin vermez.

Sen int main(int argc, char* argv[]) yönteminden önce aşağıdaki deklarasyon koyabilirsiniz:

void PrintTop(int a); 

Ancak, main önce işlevin tanımını koymak gerekmez. Bildiri yeterlidir.

kodunuzdan Diğer bazı sorunlar: for (int w = 0; w < num-2; i++)for (int w = 0; w < num-2; w++) tarafından değiştirilmelidir.

+0

Tamam, bu sabit diyorum. Şimdilik beyan edilmediğini söylüyor. ama bu hat @lampig edilerek döngü – Iampig

+0

içinde beyan (int w = 0,

+0

Şimdi bir beyan edilmiyor diyor. Ama burada beyan geçersiz printTop (int a) – Iampig

İlgili konular