Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

zakończenie wczytywania napisów następuje po wprowadzeniu łańcucha "pustego".

Ostatnio zmodyfikowano 2015-12-20 21:21
Autor Wiadomość
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...
P-141941
carlosmay
» 2015-12-14 02:28:02
C/C++
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.

C/C++
char str1[ 3 ], str2[ 3 ]; // dzien miesiaca max dwa znaki + koniec cstringa
cin >> str1 >> str2;
int s1, s2;
if( strlen( str1 ) != 0 || strlen( str2 ) != 0 ) { // jesli nie ma pustego cstringa
    s1 = atoi( str1 ); // zamien cstringa na int
    s2 = atoi( str2 );
    if( s1 > s2 ) // porownaj int dla przykladu
         cout << "s1" << endl;
    else if( s1 == s2 )
         cout << "s1 = s2" << endl;
    else cout << "s2" << endl;
   
}
cout << s1 << " " << s2 << endl;
 
P-141943
mateczek
» 2015-12-14 05:19:51
C/C++
#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 ??
P-141944
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?
P-141945
carlosmay
» 2015-12-14 08:31:29
Tablica statyczna musi mieć w trakcie kompilacji znany rozmiar, a w trakcie wykonywania programu niezmienny.
P-141946
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?
P-142189
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,
C/C++
( 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..?
P-142190
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.
P-142191
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona