Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Ei sulata whileä

Sivun loppuun

InvalidCo [10.04.2005 14:52:28]

#

Ajattelin tehdä huviksen tälläisen kivan varastoija-ohjelman, mutta koodaus tyssäsi jo aika alussa... valittaa whilestä ja jostain muustakin.

#include <iostream>
#include <stdio.h>

using namespace std;

int main(int argc, char *argv[])
{
int *vastaus;
bool *lopeta;
lopeta = false;
while(lopeta == true) {
    printf("Varastoija 0.1 \n");
    printf("Menu: \n");
    printf("1) Nayta varaston sisalto \n");
    printf("2) Lopeta ohjelman kaytto \n");
    cin.get(vastaus);
    switch (vastaus) {
           case 1:
                break;
           case 2:
                lopeta = true;
                break;
    }
}
    return 0;
}

sqwiik [10.04.2005 14:56:48]

#

Pikaisesti silmäisten, virheet aiheuttaa se että määrittelet muuttujasi osoittimina (*) etkä ns. kunnon muuttujina. Eli nakkaa ne *-merkit pois.
Tuolloin tuo cin.get-systeemi menee muotoon cin.get(&vastaus) (& antaa muuttujan osoitteen).

Meitsi [10.04.2005 15:19:19]

#

Kokeileppa:

while(!lopeta == true) {

InvalidCo [10.04.2005 15:20:30]

#

Toi cin.get(&vastaus) ei toimi Dev-C++:ssassa

sqwiik [10.04.2005 16:23:55]

#

Mitä kaikkea se kääntäjä sitten valittaa?

InvalidCo [10.04.2005 18:22:54]

#

C:\Dev-Cpp\varastoija\main.cpp In function `int main(int, char**)':
16 C:\Dev-Cpp\varastoija\main.cpp no matching function for call to `std::basic_istream<char, std::char_traits<char> >::get(int&)'
error C:\Dev-Cpp\include\c++\3.3.1\bits\istream.tcc:514 candidates are: typename _Traits::int_type std::basic_istream<_CharT, _Traits>::get() [with
546 C:\Dev-Cpp\include\c++\3.3.1\bits\istream.tcc std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
580 C:\Dev-Cpp\include\c++\3.3.1\bits\istream.tcc std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
328 C:\Dev-Cpp\include\c++\3.3.1\istream std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, 622 C:\Dev-Cpp\include\c++\3.3.1\bits\istream.tcc std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, 361 C:\Dev-Cpp\include\c++\3.3.1\istream std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, C:\Dev-Cpp\varastoija\Makefile.win [Build Error] [main.o] Error 1

Eli tohon tyyliin...

Metabolix [10.04.2005 19:31:35]

#

cin:stä luetaankin näin:

int vastaus;
cin >> vastaus;

.get-funktio palauttaa yhden merkin.

InvalidCo [13.04.2005 12:08:00]

#

Mutta minun pitikin saada vain yksi merkki vastaukseksi, 1 tai 2.

Metabolix [13.04.2005 21:22:12]

#

No ei kai sitä silloin int-muuttujaan lueta?


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta