Microsoft Visual C++ 2010 Express programowanie obiektowe.

Odpowiedz Nowy wątek
2011-07-25 10:01
0

Witam posiadam taki kodzik (wklejam cały co mi szkodzi)

#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
 
int main(int argc, char *argv[])
{
   s:  
 
cout<<"================================================================================"<<endl;
cout<<"Program obliczajacy silnie z danej liczby napisany specjalnie na 6 z informatyki"<<endl;
 cout<<"================================================================================"<<endl;
    int x,silnia=1;
 
    system ("title Silnia BY SWATv0.2");
    system ("color 02");
    cout<<"Podaj liczbe, z ktorej zostanie wyliczona silnia:"<<endl;
    cin>>x;
 
    {
 
    if 
    (x>31) cout<<"Program oblicza silnie tylko dla liczby nie wiekszej niz 31"<<endl;
 
    if 
    (x>31) goto w;
 
    if
    (x<0) cout<<"Podano zla wartosc.(Liczba ujemna)"<<endl;
 
    if
    (x<0) goto w;
 
}
 
    q:
 
    cout<<"Silnia z liczby wynisi: "<<endl;
      for(int i=1;i<=x;i++){
 
              silnia*=i;        
                      }
              cout<<silnia<<endl;
              goto w;
 
              w:
 
              char h;
    float T,N;
    cout<<"Czy chcez kontynulowac?"<<endl;
    cout<<"T/Dowolny znak"<<endl;
 
    cin>>h;
    switch(h)
    {
                    case 'T,t':
                         system ("cls");
                    goto s;
                     case 'N':
                    goto e;
 
                    }
              e:      
 
    return EXIT_SUCCESS;
}
 

Oblicza silnie napisałem go od ręki w dev cpp na informatyce ale w te wakacje mi mało więc chce zacząć się uczyć programowania obiektowego i tutaj pojawia się problem:
Na początku "przełożyłem ten program na okienko " w borland c++ wszystko działało, tylko że na komputerach z zainstalowanym borlandem a na innych wywalało błędy brakujących bibliotek (nawet po dodaniu ich do pliku/projektu). Pomyślałem że taki Microsoft Visual C++ 2010 skierowany domyślnie na programowanie w windows nie będzie pokazywał tylu blędów podczas uruchamianie już skompilowanego programu na różnych komputerach. Ale gdy w borlandzie wszystko było dla mnie oczywiste (textbox1="blablabla"+ silnia) to w Visualu już tak nie jest: po dodaniu atrybutu onclick do button'a i wklepaniu pętli program domaga się wstawienia ; po { oraz na w innych niedożecznych miejscach. W czym tkwi problem bo już sam nie wiem, może posiadacie mały kurs po polsku lub angielsku?

Staraj sie nie uzywac goto. To samo (tylko bez goto) mozna zrobic za pomoca petli do-while. - fasadin 2011-07-25 12:25

Pozostało 580 znaków

2011-07-25 12:29
0

Po pierwsze: nie używaj goto. Chyba, że chcesz być rozszarpanym przez użytkowników tego forum.
Po drugie: taki kod:

if    (x>31) cout<<"Program oblicza silnie tylko dla liczby nie wiekszej niz 31"<<endl;
    if    (x>31) goto w;

Po co dajesz dwa ify? O klamerkach i blokach instrukcji słyszałeś?
Po trzecie: ten case jak ma działać:

case 'T,t':

?
Po czwarte: sformatuj kod po ludzku.

edytowany 1x, ostatnio: Afish, 2011-07-25 12:30

Pozostało 580 znaków

2011-07-25 13:56
0

Goto też jest dla ludzi,jednak używać go należy tak jak i wyjątków,czyli prawie że nigdy.Poza tym radzę utrwalić sobie nawyk,że jeśli już goto używasz to:
1.W komentarzu zapodajesz,w którym kierunku skok nastąpi-ułatwia to trochę czytanie takiego kodu
2.używasz jakiś sensownych nazw etykiet
np

DataCalculations:
.dataInput
.something
.something
if(!dataCheck())
{
    cout<<"Incorrect data!Please provide right data.";
    goto DataCalculations;//jump up to line xxx
}

to tak podglądowo tylko,powyższy kod pięknie da się zapisać w postaci do/while


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0