bojo240 Temat założony przez niniejszego użytkownika |
» 2015-12-14 00:57:09 Ponadto próbowałem jeszcze dodatkowo konwersować na chara i nim przyrównywać do ascii oraz spróbowac strlen i jeżeli by się równało 0 to zakończyc to mi też wywala jakieś podobne błędy... |
|
carlosmay |
» 2015-12-14 02:28:02 const int SIZE = 40; int n = 0, a = 2, i = 0, dzien[ SIZE ], miesiac[ SIZE ], rok[ SIZE ], czas[ SIZE ]; string sdzien[ SIZE ]; bool b = false;
na początek poprawione deklaracje zmiennych. char str1[ 3 ], str2[ 3 ]; cin >> str1 >> str2; int s1, s2; if( strlen( str1 ) != 0 || strlen( str2 ) != 0 ) { s1 = atoi( str1 ); s2 = atoi( str2 ); if( s1 > s2 ) cout << "s1" << endl; else if( s1 == s2 ) cout << "s1 = s2" << endl; else cout << "s2" << endl; } cout << s1 << " " << s2 << endl;
|
|
mateczek |
» 2015-12-14 05:19:51 #include <iostream> #include <sstream> #include <string> using namespace std; int main() { string dataString; struct _data { int year; int mounth; int day; } data; while( 1 ) { getline( cin, dataString ); if( dataString == "" ) break; stringstream ss; ss << dataString; ss >> data.year >> data.mounth >> data.day; if( !ss ) break; cout << data.year << data.mounth << data.day << endl; } }
A takie rozwiązanie ?? |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2015-12-14 08:26:45 Okej, zadanie działa, brakowało mi spróbować getline(cin,string), choc wydawalo mi sie ze probowalem. Ogromne dzieki za pomoc wam obu^^ a carlosmay w szczegolnosci za cierpliwość :D. A mógłbyś mi wytlumaczyć czemu const int? w czym to przeszkadza? |
|
carlosmay |
» 2015-12-14 08:31:29 Tablica statyczna musi mieć w trakcie kompilacji znany rozmiar, a w trakcie wykonywania programu niezmienny. |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2015-12-20 19:25:56 Carlosmay, ale skoro ja w kodzie go nie zmieniam, to co miałoby go zmienic? |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2015-12-20 19:33:00 A i jeszcze jedno pytanko, czy jest jakakolwiek możliwość, aby nie wprowadzić znaku pustego a i tak strumień wejścia sie 'wyłączył' i program działał dalej? Tzn, ( const ? ) int a = 5 char t[ 5 ]; cin / get / gets / getline / cokolwiek >> t[ a ]; ...
i jeżeli uzytkownik juz wprowadzi te 5 znaków to program nie wymaga potwierdzenia enterem tylko przechodzi do następnych linijek kodu..? |
|
carlosmay |
» 2015-12-20 19:37:40 Modyfikator const daje gwarancję, że rozmiar tablicy nie będzie zmieniony. Bez niego kompilator zakłada możliwość zmiany tej wielkości. Jeśli nawet kompilator zezwala na pisanie kodu bez tego modyfikatora, to jest on niezgodny z zasadami pisania kodu z języku C++. Standard mówi, że rozmiar tablicy statycznej musi być znany w momencie kompilacji, oraz bez możliwości zmiany tej wielkości w trakcie działania programu. |
|
1 « 2 » 3 |