• Programowanie 5 1
Aktualna ocena:  

Autor Wątek: Programowanie  (Przeczytany 11759 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Sob, 24 Sie 2013, 00:41:32
Odpowiedź #15

Offline Fifi

  • Szeregowy
  • *
  • Wiadomości: 17
  • Reputacja: 6
    • Zobacz profil
Przecież to tylko biblioteka.

Wto, 03 Wrz 2013, 17:35:34
Odpowiedź #16

Offline oli00PL

  • Plutonowy
  • ***
  • Wiadomości: 272
  • Reputacja: 3
  • Wszyscy kiedyś umrzemy. Czemu nie w blasku chwały?
    • Zobacz profil
No to, skoro wątek leży tu tak opuszczony...
To i ja zadam swoje pytanie :D

Od jakiegoś czasu uczę się C++
Aktualnie tworzę prosty program wielofunkcyjny. Aby nie łazić po wiki stworzyłem listę planet, z podstawowymi informacjami.
Jednak tu pojawia się problem - Tekst który wprowadzam w funkcji ( za pomocą zmiennej string ) nie chce się wyświetlać przy wywoływaniu tej funkcji. Przy 1 z 13 ciał niebieskich ( Kerbolu ) wszystko śmigało bez problemu! Ale kiedy dodałem drugą funkcje... z resztą sami zobaczcie.
Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
#include <iostream>
#include <string>

using namespace std;

int Kerbol_1 ( string Kinfo_1 )

{
/* \206 - ć \210 - ł \230 - ś \242 - ó \245 - ą \251 - ę \253 - ź \276 - ż \344 - ń */
Kinfo_1 = "Kerbol (oficjalnie zwany jako S\210o\344ce, lub Gwiazda) jest gwiazd\245 w centrum Kerbolskiego uk\210adu. ";
Kinfo_1 += "Wok\242\210 niej kr\245\210y 5 planet: Moho, Eve, Kerbin, Duna, oraz Jool i 2 planety kar\210owate Eeloo i Dres.\n ";
Kinfo_1 += "W por\242wnaniu z naszym w\210asnym s\210o\344cem, Kerbol jest 113 razy mniej masywny i posiada 3 razy kr\242tszy promie\344. ";
Kinfo_1 += "prawdopodobnie zalicza si\251 do Pomara\344czowych kar\210\242w w oparciu o jego temperatur\251, ";
Kinfo_1 += "ale mo\276e r\242wnie\210 by\206 czerwonym kar\210em je\230li oprze\206 si\251 na jego promieniu, ";

}

int Moho_1 ( string Moinfo_1 )

{
Moinfo_1 =  "Moho jest to najbli\253sza planeta Kerbolu. Jest to mała planeta, ";
Moinfo_1 += "chocia\253 nie jest to najmniejsze c\210iao niebieskie. ";
Moinfo_1 += "Jest planet\245 bez naturalnych satelit\242w tak samo jak Dres. Od wersji 0.18, ";
Moinfo_1 += "na Moho jest \210atwiej wyl\245dowa\206. ";
Moinfo_1 += "Od wersji 0.18 Moho powierzchnia zmieniła się z jasnobrązową na ciemnobrązową. ";
Moinfo_1 += "Powierzchnia jest pokryta kraterami, ";
Moinfo_1 += "w przeciwieństwie do poprzedniej wersji nie ma już dużych wulkanów na Moho i teraz wygląda bardziej jak Merkury. ";
Moinfo_1 += "Moho ma bardzo pokrytą kraterami powierzchnię, ";
Moinfo_1 += "Ze względu na brak atmosfery na Moho, ";
Moinfo_1 += "głównym podejrzeniem erozji na Moho jest wulkanizm. ";
Moinfo_1 += "Wulkaniczne wybuchy na Moho związane są z bliskością gwiazdy Kerbol. ";
Moinfo_1 += "Może to doprowadzić do wypełnienia kraterów. ";
Moinfo_1 += "Moho ma dwa bardzo głębokie kratery na geograficznym biegunem północnym i południowym, ";
Moinfo_1 += "jak dotąd, mają nieokreśloną głębię. ";
Moinfo_1 += "Aktualne analizy i sondy wysłane do krateru na biegunie północnym wykazały, że jest więcej niż 5 km głębokości, ";
Moinfo_1 += "zanim sonda rozbiła się o coraz zwężające się ściany kanionu. ";
Moinfo_1 += "Możliwe jest, że wulkany są od tej chwili w uśpieniu. ";
Moinfo_1 += "Dalsza analiza kanionów powinna odpowiedzieć na wszystkie pytania. ";

}

int main()

{

int A;
cout << "wybie\253 aplikacje" << endl;
cout << "(1) KALKULATOR v.3.5" << endl;
cout << "(2) Encyklopedium Kerbanium v.1.0" << endl;
cin >> A;


if ( A == 1)
{

    float a;
    float b;
    int c;
    int d;
    bool zle;
    do
    {

/* \206 - ć \210 - ł \230 - ś \242 - ó \245 - ą \251 - ę \253 - ź \276 - ż \344 - ń */
    cout<<"===============================================================================" << endl;
    cout<<" KALKULATOR v.3.5" << endl;
    cout<<"===============================================================================" << endl;
cout<<"by Oli00PL" << endl;
cout << "\nco chcesz zrobi\206? \ndodawanie(1) \nodejmowanie(2) \nmo\276enie(3)\ndzielenie(4) \nrezygnacja(5) \n " << endl;
    cin >> c;
   
    cin.clear();
    cin.sync();
   
    if ( c == 5 )
    {
    cout << "rezygnacja... program zostanie zamkniety" << endl;
    return 0;
}

    cout << "\npodaj liczb\251" << endl;
    cin >> a;
    cin.clear();
    cin.sync();

    cout << "\npodaj kolejna liczb\251" << endl;
    cin >> b;
    cin.clear();
    cin.sync();


    switch ( c )
    {

    case 1:
    cout << "dodawanie" << endl;
    cout << "suma = " << a + b << endl;
    break;

    case 2:
    cout << "odejmowanie" << endl;
    cout << "r\242\276nica = " << a - b << endl;
    break;

    case 3:
    cout << "mo\276enie" << endl;
    cout << "iloczyn = " << a * b << endl;
    break;

    case 4:
    cout << "dzielenie" << endl;
    cout << "iloraz = " << a / b << endl;
    break;

    default:
    cout << "b\210ad wpisywania..." << endl;
    break;
    }

    if ( c < 5 )
    {


        cout << "co chcesz dalej zrobi\206?" << endl;
        cout << "\nzakonczy\206 (1) \nkontynuowa\206 (2)" << endl;
        cin >> d;
    }

    switch ( d )
    {
       case 1:
       cout << "\nzamykanie..." << endl;
       return 0;
       break;

       case 2:
       cout << "\ntrwa restart programu..." << endl;
       break;

    }

if ( c < 5 )
    {
        d = 2;
    }

    } while ( d == 2 );

    cout << "do widzenia..." << endl;

}

if ( A == 2 )
{
/* \206 - ć \210 - ł \230 - ś \242 - ó \245 - ą \251 - ę \253 - ź \276 - ż \344 - ń */
cout<<"===============================================================================" << endl;
    cout<<" Encyklopedium Kerbanium v.1.0" << endl;
    cout<<"===============================================================================" << endl;
cout<<"by Oli00PL" << endl;

int a;
int b;
int c;
string wczytywacz;
string wczytywacz_2;
cout << "\nwybie\276 rozdzia\210" << endl;
cout << "(1) Planety" << endl;
cin >> a;

if ( a == 1 )
{
do
{

cout << "wybie\276" << endl;

cout<<"(1)  |Kerbol" << endl;
cout<<"(2)  |Moho";
cout<<"\n(3)  |Eve" << endl;
cout<<"(4)  |gilly" << endl;
cout<<"(5)  |Kerbin" << endl;
cout<<"(6)  |Mun" << endl;
cout<<"(7)  |Minmus" << endl;
cout<<"(8)  |Duna" << endl;
cout<<"(9)  |Ike" << endl;
cout<<"(10) |Dres" << endl;
cout<<"(11) |Jool" << endl;
cout<<"(12) |Laythe" << endl;
cout<<"(13) |Vall" << endl;
cout<<"(14) |Tylo" << endl;
cout<<"(15) |Bop" << endl;
cout<<"(16) |Pol" << endl;
cout<<"(17) |Eeloo" << endl;
cin >> b;
switch ( b )
{
case 1:
Kerbol_1 ( wczytywacz );
cout << wczytywacz << endl;
cout << "Co chcesz zrobi\206" << endl;
cout << "(1) Kontynuowa\206" << endl;
cout << "(2) Zako\344czy\206" << endl;
cin >> c;
break;

case 2:
Moho_1 ( wczytywacz_2 );
cout << wczytywacz_2 << endl;
cout << "co chcesz dalej zrobic?";
cin >> c;

}



} while ( c == 1 );
 
  }
}

   
}

Jak widać jest też wbudowany kalkulator - Stworzyłem go już dawno, dla tego w całości jest w funkcji "main"

Przy
Cytuj
case 2:
            Moho_1 ( wczytywacz_2 );
            cout << wczytywacz_2 << endl;
            cout << "co chcesz dalej zrobic?";
            cin >> c;
Zamiast wpisu z Moinfo widzę... "co chcesz dalej zrobic?"
Od Muna do Joola.

Pomogłem? Podoba ci się mój post? Kliknij przycisk "pomógł" obok zdjęcia profilowego.
To nie boli, a motywuje!

Reklama

Re: Programowanie
« Odpowiedź #16 dnia: Wto, 03 Wrz 2013, 17:35:34 »

Śro, 04 Wrz 2013, 17:22:48
Odpowiedź #17

Offline Rahilnux

  • Szeregowy
  • *
  • Wiadomości: 39
  • Reputacja: 1
    • Zobacz profil
Małe pytanko, czy to mój błąd czy coś z kompilatorem, że program "kończy się"  po wczytaniu 4 liczb.
Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
#include <iostream>
using namespace std;
int wczytaj()
{
    int liczba;
    cin >> liczba;
    return liczba;
}
int main()
{
    int liczby[3];
    int k = 0;
    do
    {
        wczytaj();
        liczby[k] = wczytaj();
        k++;
    } while(k<3);
}
ps. Zmieniłem  while(k<2); na while(k<3); i teraz jest po sześciu.
« Ostatnia zmiana: Czw, 05 Wrz 2013, 15:53:11 wysłana przez Rahilnux »
Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ

Śro, 04 Wrz 2013, 20:49:59
Odpowiedź #18

Offline rafal3920

  • Plutonowy
  • ***
  • Wiadomości: 379
  • Reputacja: 10
    • Zobacz profil
Nie dałeś Getch() na końcu więc po wykonaniu 4 powtórzeń się wyłącza

Przepraszam za błędy językowe, złą odmianę itd... Często piszę z telefonu, a tam mam kiepski autotekst

Reklama

Odp: Programowanie
« Odpowiedź #18 dnia: Śro, 04 Wrz 2013, 20:49:59 »

Śro, 04 Wrz 2013, 22:22:16
Odpowiedź #19

Offline Rahilnux

  • Szeregowy
  • *
  • Wiadomości: 39
  • Reputacja: 1
    • Zobacz profil
Nie chodzi oto, że się wyłącza tylko, że się wyłącza po podaniu 6 a nie 3 liczb.

ps. Ponadto 1 podana liczba nie zapisuje się nigdzie, 2 w tablicy 0, 3 nigdzie, 4 w tablicy 2 ...
« Ostatnia zmiana: Czw, 05 Wrz 2013, 15:53:00 wysłana przez Rahilnux »
Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ

Czw, 05 Wrz 2013, 14:13:37
Odpowiedź #20

Offline disentombed

  • Szeregowy
  • *
  • Wiadomości: 15
  • Reputacja: 2
  • Quidquid latine dictum sit, altum videtur.
    • Zobacz profil
Spróbuj zmienić
Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
while(k << 2);Na
Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
while(k<=2);
Nonsense, it would not explode...

Reklama

Odp: Programowanie
« Odpowiedź #20 dnia: Czw, 05 Wrz 2013, 14:13:37 »

Sob, 07 Wrz 2013, 11:41:21
Odpowiedź #21

Offline Rahilnux

  • Szeregowy
  • *
  • Wiadomości: 39
  • Reputacja: 1
    • Zobacz profil
Kod: Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ
#include <iostream>
using namespace std;

int main()
{
    int liczby[3];
    cin >> liczby[0];
    cin >> liczby[1];
    cin >> liczby[2];
}
"but w drzwiach", ale działa.
Aby zobaczyć link - ZAREJESTRUJ SIĘ lub ZALOGUJ SIĘ