Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C++ szybkie pytanie


Rekomendowane odpowiedzi

Opublikowano

Hej, jak mogę uzyskać dostęp w metodzie generuj() do tablicy tab[gen] zawartej w metodzie czytaj() ?

prosze nie zwracać na razie uwagi na to że metoda generuj() i tak nie działa poprawnie ;]

#include <iostream>
#include <conio.h>
 
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class liczby_podzielne
{
void wczytaj();
void czytaj();
void pokaz();
int gen;
public:
int wczytaj(int n,int d){ 
cout<<"Ile liczb? :";
cin>>n;
cout<<endl;
gen = n;
cout<<"dzielnik? :";
cin>>d;
cout<<endl;
}
int czytaj(int i){
cout<<"podaj liczby:  gen"<<gen<<"i"<<i<<endl;
int tab[gen];                                                                   // <<<<
for(i;i<gen;i++){  
cout<<endl<<"tab["<<i<<"] =";
cin>>tab[i];
}
}
int generuj(int w){
// int i=0;             
// if (tab[i]/d==0){                                
// w++;
// }
//cout<<"liczby podzielne przez "<<d<<":";
}
};
int main(int argc, char** argv) {
liczby_podzielne numbers; 
numbers.wczytaj(1,1);
numbers.czytaj(0);
// numbers.ganeruj(0);
getch();
return 0;
}
Opublikowano

Musisz ją zadeklarować jako globalną albo przekazać jako argument

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

Po pierwsze wstawiaj sformatowany kod.

A teraz błędy i wskazówki.

- nie używaj parametrów funkcji jako jej zmiennych lokalnych

- int tab[gen]; nie jest poprawne jeśli gen nie jest const lub constexpr (nie jest w standardzie, ale niektóre kompilatory to akceptują)

- nie korzystaj z getch() (tudzież conio.h). Skorzystaj z normalnego IDE, które blokuje konsolę

- jeśli chcesz, żeby zmienna była dostępna poza ciałem funkcji to nie może ona być zmienną lokalną w tej funkcji (powinna być np. polem klasy)

- nie używaj zmiennych globalnych tak jak radzi kolega, są lepsze sposoby na zaimplementowanie tego jeśli istnieje taka potrzeba (rzadko potrzebne)

- zamiast endl korzystaj z '\n' jeśli nie potrzebujesz flushować bufora

- nie musisz deklarować parametrów dla funkcji main jeśli z nich nie korzystasz

- jeszcze raz, formatuj kod

Opublikowano
- jeśli chcesz, żeby zmienna była dostępna poza ciałem funkcji to nie może ona być zmienną lokalną w tej funkcji (powinna być np. polem klasy)

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...