program
program:
Jak zrobic, zeby c, czyli ta wyliczona wartosc pojawiala sie w tekscie wyswietlanym na ekranie.
Napisalem tak, ale nie dzieje sie to co chce.
#include <iostream>
using namespace std;
int main()
{
int c,d;
cout<<" Podaj wartosc d: ";
cin>>d;
c=(int)(d/100); (// wartosc calkowita z d/100)
cout<<TEKST<<c<<endl;
return 0;
}
26 gru 21:40
Jack:
skoro zarówno c jak i d sa typu int
to nie musisz rzutowac (int) d/100 bo to i tak jest intem.
Skoro masz
int c,d;
to d jest intem czyli d/100 od razu zwraca inta, wobec tego rzutowanie na inta nic nie
zmienia
A teraz odpowiadajac na twoje pytanie
jesli chcesz wyswietlic c to piszesz
cout<<c;
jesli ma byc ze znakiem nowej linii no to
cout<<c<<endl;
a jesli chcesz dac gdzies jakis tekst to
cout<<"jakis tam tekst, a tu zmienna c bedzie: "<<c<<endl;
twoj zapis TEKST jest bledny bo odwoluje sie do zmiennej takiej, a jej nie masz
jednakze jesli chcesz tekst wyswietlic to dajesz po prostu w cudzyslowie
czyli poprawnie by bylo:
cout<<"TEKST"<<c<<endl;
jednak polecam spacje zrobic za TEKST ale w cudzyslowie zeby bylo czytelniej ,czyli
cout<<"TEKST "<<c<<endl;
26 gru 22:22
program:
Dziekuje.
Teraz mam inny problem.
Wartosc K dla G=1992 powinna wyjsc 7, natomiast pokazuje sie 10. Co jest nie tak?
#include <iostream>
using namespace std;
int main()
{
int G,a,b,K;
a=G+(G/4)−(G/100)+(G/400)−1;
b=7−a%7;
K=(b)+3;
cout<<"Podaj G: ";
cin>>G;
cout<<K<<endl;
return 0;
}
26 gru 23:37
Jack: Robisz a = cos tam
Zanim jeszcze G dostanie jakas wartosc...
W momencie tworzenia zmiennej, jedyne co w niej jest to jakies śmieci
Dlatego najpierw wczytasz a potem robisz operacje.
Zatem najpierw
int G,a,b,K;
cout<<"podaj G: ";
cin>>G;
No i teraz robisz operacje czyli
a=G+(G/4)−(G/100)+(G/400)−1;
b=7−a%7;
K=(b)+3; // o co chodzi z tym nawiasem przy b?
cout<<K<<endl;
27 gru 00:25
program:
Dziekuje.
Teraz dziala.
27 gru 00:36
program:
#include <iostream>
using namespace std;
int main()
{
int G,a,b,K;
cout<<"podaj G: ";
cin>>G;
a=G+(G/4)−(G/100)+(G/400)−1;
b=7−a%7;
K=b+3;
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
for (K=3; K<=10; K++) //tutaj zapisuje te napisy dla konkretnej wartosci K, ktora wyjdzie z
algorytmu (przyjmijmy−dla przykladu, ze wartosci K sa w przedziale od 3 do 10)
if (K==3)
{cout<<"P"<<endl;}
else if(K==4)
{cout<<"R"<<endl;}
else if(K==5)
{cout<<"S"<<endl;}
else if(K==6)
{cout<<"T"<<endl;}
else if(K==7)
{cout<<"W"<<endl;}
else if(K==8)
{cout<<"X"<<endl;}
else if(K==9)
{cout<<"Y"<<endl;}
else if(K==10)
{cout<<"Z"<<endl;}
Napis koncowy: cout<<"TEKST "<<tutaj chce, zeby wyswietlil mi sie napis przypisany dla
konkretnej wartosci K, ktora wyjdzie z tego algorytmu<<endl;
return 0;
}
Ponadto nie chce, zeby pojawialy sie na ekranie te napisy dla pozostalych wartosci K.
Ale one musza byc jakos wprowadzone, zeby ten program wiedzial, ze jak wyjdzie konkretna
wartosc to ma sie pojawic napis do niej przypisany.
Tylko jak to zapisac w kodzie?
27 gru 11:23
Jack:
petla for przechodzi po wszystkich K od (tutaj K=3) do (tutaj K=10) ale
jedyne co robisz w tej petli to wypisywanie konkretnych liter dla danego K...
na koncu chcesz wypisac jakis "TEKST" ktory nie wiadomo czym jest...
Nie czuje tego.
Poki co ten program Ci wyswietli
P
R
S
T
W
X
Y
Z
a potem
TEKST
Skad ma wychodzic ta konkretna wartosc K ?
...hmm,...dobra, mamy te G ktore wczytujesz, potem a = cos tam, b=cos tam i na koniec jest
K = cos tam
no to mamy jakas wartosc tego K
potem w petli lecisz od K = 3 do K = 10 czyli inaczej mowiac, zaczynajac petle od K=3 usuwasz
te poprzednio wyliczona wartosc dla K i zastepujesz ja liczba "3".
po prostu wyrzuc tego fora, jesli chcesz ze dla konkretnego K Ci cos wypisalo.
Chyba, ze chcesz wypisac wszystkie teksty, az do wartosci K.
wtedy petla
for(int i=jakasdolnagranica, i < K; i++) ...
Co chcesz uzyskac?
1) Powiedzmy ze K = 4
if(K==3) cout<<"cokolwiek"<<endl;
else if(K==4) cout<<"inne cokolwiek"<<endl;
else if(K==5) cout<<"raz dwa trzy"<<endl;
...
else if(K==10) cout<<"haha"<<endl;
no i teraz, jako ze K ma wartosc 4, to sie wykona jedynie if dla K==4, zatem zostanie
wyswietlony
tekst: inne cokolwiek
no i nic wiecej
27 gru 11:46
program:
Wyswietla sie, ale nie tam gdzie chce.
Podaj G:
inne cokolwiek
inne cokolwiek
inne cokolwiek
inne cokolwiek
cout<<"TEKST "<<tutaj sie nie wyswietla ten tekst inne cokolwiek, a chce, zeby tu wlasnie sie
wyswietlalo<<endl;
27 gru 13:22
Jack: #include <iostream>
using namespace std;
int main()
{
int G,a,b,K;
cout<<"podaj G: ";
cin>>G;
a=G+(G/4)−(G/100)+(G/400)−1;
b=7−a%7;
K=b+3;
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
string tekst //zmienna tekst typu string (moze przechowywac lancuchy znakow czyli tekst)
algorytmu (przyjmijmy−dla przykladu, ze wartosci K sa w przedziale od 3 do 10)
if (K==3)
{tekst = "P";}
else if(K==4)
{tekst ="R";}
else if(K==5)
{tekst ="S";}
else if(K==6)
{tekst ="T";}
else if(K==7)
{tekst ="W";}
else if(K==8)
{tekst="X";}
else if(K==9)
{tekst="Y";}
else if(K==10)
{tekst="Z";}
cout<<tekst<<endl; //wypisujemy zmienna tekst ktory trzyma w sobie dany tekst (w tym przypadku
litere)
27 gru 13:32
program:
Teraz jest dobrze.
Dziekuje bardzo.
27 gru 14:05