• Ogłoszenie:

moj pierwszy dłuższy program

Tutaj można umieszczać wszystkie sensowne tematy nie pasujące do reszty działów tematycznych. Siadaj, gadaj, opowiadaj ;)

moj pierwszy dłuższy program

Postprzez Rafał123 28 Lis 2007, 16:21

Cześć, chyba dobrze umieściłem

Otóż, napisałem program w C++ z pomocą kompilatora DevC++, tak on wygląda:

Kod: Zaznacz wszystko
#include <iostream>

using namespace std;

int main()
{                           
    double dolar, euro, funt, zlote;
    double przel_euro = 3.66;
    double przel_funt = 5.12;
    double przel_dol = 2.48;
    int ktory;
   
   
    cout << "                         Przelicznik Walut.                ver. 0,1\n\n\n";
    cout << "Wybierz co chcesz przeliczyc: \n1- Zlote na dolary\n2- Zlote za euro";
    cout << "\n3- Zlote na funty \n\n";
    cin >> ktory;
   
   
    //************************Petla ktora wybiera co przeliczyc*********
    //:::::::::::::::Zlote:::::::::::::::::::
    switch(ktory)
    {
                 case 1:
    cout << "************Zlote na Dolary**************\n\n";
    cout << "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    dolar = zlote * przel_dol;             
   
    cout << "\n" << zlote << " zlotych to " << dolar << " dolarow.";
    break;   
   
   
   
    //:::::::::::::Euro:::::::::::::::::::::::::
                case 2:
    cout << "*************Zlote na EURO**************\n\n";
    cout << "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    euro = zlote * przel_euro;
   
    cout << "\n" << zlote << " zlotych to " << euro << " euro.";
    break;
   
   
    //::::::::::::Funty:::::::::::::::
               case 3:
   
    cout << "************Zlote na FUNTY*****************\n\n";
    cout <<  "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    funt = zlote * przel_funt;
   
    cout << "\n" << zlote << " zlotych to " << funt << " funtow.";
                 break;

                 }
     
    getchar();
    return 0;
       
       
}


I co zrobić aby po każdym obliczeniu nacisnąć np. 0 i on wtedy powróci do "menu głównego", w Symfonii C++ jeszcze do tego chyba nie doszedłem ale jak juz zrobiłem program to żeby on był porządny

PS. aha i w symfonii programy są zakończone bez getchar(); i jak występuje cin to nie kończy sie u nich bez cin.ignore();, bo jak u mnie tego nie napisze to nie zkopiluje tego czyżby to miało związek z kompilatorem?
Intel Core2 Duo E4300 1.8GHz (S775) | GeForce 7600 GS Palit 256MB DDR3 TV & DVI (PCI-E) (450/1000@668/1540) |GeIL Dual 2x 512MB DDR2 667 MHz CL5| DVD-RAM Samsung SH-S202N |Samsung 40GB (ATA), Seagate 160GB (SATA II) | Gigabyte GA-965P-S3 Intel P965 | Samsung SyncMaster 940BW Win XP Home Edition + SP2 | Windows Vista Ultimate | Multimo 1Mb | Mycha optyczna A4TECH
Awatar użytkownika
Rafał123
~user
 
Posty: 789
Dołączenie: 28 Lut 2006, 19:30
Miejscowość: ja Cie znam??
Pochwały: 11



Postprzez Michal_Gluszyca 28 Lis 2007, 17:04

możesz cały program wziąść w pętlę, i na końcu dodać instrukcję która sprawdza
czy wpisano '0'(jak tak to pętla idzie jeszcze raz), a jak nie to wychodzi(break;).

A jeżeli nie chce ci się w to bawić to możesz użyć instrukcji 'goto X', czyli na początku dodajesz coś takiego:
Kod: Zaznacz wszystko
X:

A potem gdy chcesz tam się przenieść to piszesz:
Kod: Zaznacz wszystko
goto X;
Awatar użytkownika
Michal_Gluszyca
~user
 
Posty: 686
Dołączenie: 22 Kwi 2006, 13:13
Pochwały: 9



Postprzez Rafał123 28 Lis 2007, 18:48

Wziąłem w pętle i jak włączam to nic sie nie pokazuje (pewnie coś źle robie).
Pokaż to na "żywca" :twisted: :D


Rafał123 napisał(a):w symfonii programy są zakończone bez getchar(); i jak występuje cin to nie kończy sie u nich bez cin.ignore();, bo jak u mnie tego nie napisze to nie zkopiluje tego czyżby to miało związek z kompilatorem?

:?: :?:
Intel Core2 Duo E4300 1.8GHz (S775) | GeForce 7600 GS Palit 256MB DDR3 TV & DVI (PCI-E) (450/1000@668/1540) |GeIL Dual 2x 512MB DDR2 667 MHz CL5| DVD-RAM Samsung SH-S202N |Samsung 40GB (ATA), Seagate 160GB (SATA II) | Gigabyte GA-965P-S3 Intel P965 | Samsung SyncMaster 940BW Win XP Home Edition + SP2 | Windows Vista Ultimate | Multimo 1Mb | Mycha optyczna A4TECH
Awatar użytkownika
Rafał123
~user
 
Posty: 789
Dołączenie: 28 Lut 2006, 19:30
Miejscowość: ja Cie znam??
Pochwały: 11



Postprzez Michal_Gluszyca 28 Lis 2007, 19:29

tu masz wersję z GOTO:
Kod: Zaznacz wszystko
#include <iostream>

using namespace std;

int main()
{                           
    double dolar, euro, funt, zlote;
    double przel_euro = 3.66;
    double przel_funt = 5.12;
    double przel_dol = 2.48;
    int ktory, wybor;
   
    X:
   
    system("cls");
   
   
    cout << "                         Przelicznik Walut.                ver. 0,1\n\n\n";
    cout << "Wybierz co chcesz przeliczyc: \n1- Zlote na dolary\n2- Zlote za euro";
    cout << "\n3- Zlote na funty \n\n";
    cin >> ktory;
   
   
    //************************Petla ktora wybiera co przeliczyc*********
    //:::::::::::::::Zlote:::::::::::::::::::
    switch(ktory)
    {
                 case 1:
    cout << "************Zlote na Dolary**************\n\n";
    cout << "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    dolar = zlote * przel_dol;             
   
    cout << "\n" << zlote << " zlotych to " << dolar << " dolarow.";
    break;   
   
   
   
    //:::::::::::::Euro:::::::::::::::::::::::::
                case 2:
    cout << "*************Zlote na EURO**************\n\n";
    cout << "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    euro = zlote * przel_euro;
   
    cout << "\n" << zlote << " zlotych to " << euro << " euro.";
    break;
   
   
    //::::::::::::Funty:::::::::::::::
               case 3:
   
    cout << "************Zlote na FUNTY*****************\n\n";
    cout <<  "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    funt = zlote * przel_funt;
   
    cout << "\n" << zlote << " zlotych to " << funt << " funtow.";
                 break;

                 }
cout<<"\n\n\n Czy chcesz cos przeliczyc jeszcze raz?(wpisz 1 dla tak, lub cos innego by zakonczyc \n";
cin>>wybor;
if(wybor==1)
goto X;
else if(wybor!=1)
return 0; 


a z pętlą zaraz dodam

EDIT:
wersja z pętlą:
Kod: Zaznacz wszystko
#include <iostream>

using namespace std;

int main()
{           
    for(;;)
    {
                         
    double dolar, euro, funt, zlote;
    double przel_euro = 3.66;
    double przel_funt = 5.12;
    double przel_dol = 2.48;
    int ktory, wybor;
   
   
    cout << "                         Przelicznik Walut.                ver. 0,1\n\n\n";
    cout << "Wybierz co chcesz przeliczyc: \n1- Zlote na dolary\n2- Zlote za euro";
    cout << "\n3- Zlote na funty \n\n";
    cin >> ktory;
   
   
    //************************Petla ktora wybiera co przeliczyc*********
    //:::::::::::::::Zlote:::::::::::::::::::
    switch(ktory)
    {
                 case 1:
    cout << "************Zlote na Dolary**************\n\n";
    cout << "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    dolar = zlote * przel_dol;             
   
    cout << "\n" << zlote << " zlotych to " << dolar << " dolarow.";
    break;   
   
   
   
    //:::::::::::::Euro:::::::::::::::::::::::::
                case 2:
    cout << "*************Zlote na EURO**************\n\n";
    cout << "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    euro = zlote * przel_euro;
   
    cout << "\n" << zlote << " zlotych to " << euro << " euro.";
    break;
   
   
    //::::::::::::Funty:::::::::::::::
               case 3:
   
    cout << "************Zlote na FUNTY*****************\n\n";
    cout <<  "Wpisz ilosc zlotych: ";
    cin >> zlote;
    cin.ignore();
   
    funt = zlote * przel_funt;
   
    cout << "\n" << zlote << " zlotych to " << funt << " funtow.";
                 break;

                 }
  cout<<"\n\n\n Czy chcesz cos przeliczyc jeszcze raz?(wpisz 1 dla tak, lub cos innego by zakonczyc \n";   
  cin>>wybor;
 
if(wybor==1) 
system("cls");
else if(wybor!=1)
break;           
                 }
     
    getchar();
    return 0;
       
       
}


Jakby były jakieś błędy, to mów(nie mam kompilatora teraz, i nie mogę sprawdzić;])
Awatar użytkownika
Michal_Gluszyca
~user
 
Posty: 686
Dołączenie: 22 Kwi 2006, 13:13
Pochwały: 9



Postprzez Rafał123 28 Lis 2007, 19:55

Działa wersja z goto a z petlą nie, ale to nic, dobre jest to goto.
Dlaczego nie dodałeś cin.ignore(); przy cin >> wybor;?
Intel Core2 Duo E4300 1.8GHz (S775) | GeForce 7600 GS Palit 256MB DDR3 TV & DVI (PCI-E) (450/1000@668/1540) |GeIL Dual 2x 512MB DDR2 667 MHz CL5| DVD-RAM Samsung SH-S202N |Samsung 40GB (ATA), Seagate 160GB (SATA II) | Gigabyte GA-965P-S3 Intel P965 | Samsung SyncMaster 940BW Win XP Home Edition + SP2 | Windows Vista Ultimate | Multimo 1Mb | Mycha optyczna A4TECH
Awatar użytkownika
Rafał123
~user
 
Posty: 789
Dołączenie: 28 Lut 2006, 19:30
Miejscowość: ja Cie znam??
Pochwały: 11



Postprzez Michal_Gluszyca 28 Lis 2007, 20:05

Rafał123 napisał(a):Dlaczego nie dodałeś cin.ignore(); przy cin >> wybor;?


yy...pewnie zapomniałem xD
ostatni program pisałem 0.5 roku temu :wink:
w WWW pierwsza polska strona na temat Alien Swarm
Awatar użytkownika
Michal_Gluszyca
~user
 
Posty: 686
Dołączenie: 22 Kwi 2006, 13:13
Pochwały: 9




Powróć do Pog@duchy

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 12 gości