Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: C++

juhaz [23.11.2003 13:45:48]

#

Tässä muutama kysymys
1a.Mikä on helpoin tapa kysyä käyttäjältä jokin asia?

2.Onko C++ mitään vastaavaa komentoa kuin quickbasicissa shell, joka toimisi dossissa myös?

yritin katsella näitä harjoituksista, mutta en löytänyt, joten ajattelin kysyä täältä ohjelmointiputkasta, kun täältä on yleensä saanut vastauksia eikä ole heti huudelta RTFM!!! Kyselen lisää, kun tulee mieleen jotain :)

Edit:

3a.Mitenkäs system("pause") käytettiinkään?

3b.Mitenkäs saa tehtyä tauon ohjelmaan, joka odottaisi tietyn ajan (quickbasicista ainakin löytyy sleep komento)

thefox [23.11.2003 17:43:22]

#

1a. Käytä std::cin-oliota (iostream-otsikko). Tuossa ainakin joku rumahko esimerkki: https://www.ohjelmointiputka.net/keskustelu/2567-mikä-vikana

2. Kyllae, std::system-funktio (cstdlib-otsikko)

3a.

system("pause");

Ko. funktio siis ajaa järjestelmän "pause" ohjelman, täten odottaen näppäimen painallusta.

3b. Tähän ei taida löytyä standardinmukaista ratkaisua, mutta esmes Windowsissa voit käyttää Sleep-APIa.

edit: sooditagit eri riveille

sooda [24.11.2003 09:10:38]

#

muakin kiinnostaisi että saako dos ohjelmassa venattua tietyn verran. eikö siinä ole mitään qb:n TIMERille vastaista functiota tms?

thefox [24.11.2003 12:33:02]

#

Ne on tosiaan kuten mainittua kääntäjäkohtaisia juttuja. Jos "DOS-ohjelmalla" tarkoitat Windows konsoli ohjelmaa niin toki tuo Sleep siinäkin toimii. Pistä vaan #include "windows.h" ja Sleep(1000); (ottaa parametrin millisekunteina).

sooda [24.11.2003 17:19:01]

#

Mutta tietääkö joku miten saa jonkun järjestelmätimerin selville ihan "console applicationissa"?

juhaz [25.11.2003 04:14:05]

#

Mä olen vähän sekaisin noista harjoituksista, kun jokaisella sivulla tuntuu olevan noi harjoitukset ihan erilaisia niin kuinka mä siis teen vastaavan ohjelman C++ jos quickbasic koodi olisi tälläinen?

alku:
print "1.Pelaaman"
print "2.Lue tarina"
print "3.Exit"
input "anna numero: ", numero$
select case numero$
case is = "1"
goto pelaamaan
case is = "2"
goto lue
case is = "3"
end
case else
print "Nyt tyyppi typetti väärän numeron!"
end select

lue:
open "tarina.txt" for input as #1
do
line input #1, tarina$
print tarina$
loop until eof(1)
close #1
sleep
goto alku
pelaamaan:

Oho... tuli käytettyä gotoa taas kerran, mutta se tulee jostain selkäytimestä eikä sitä edes huomaa, mutta siis kuinka tehdään C++ suurinpiirtein vastaava koodi?

Markus [25.11.2003 12:50:22]

#

Älä käytä gotoa!!!!!
Mutta jos sen välttämättä goton kanssa haluaa tehdä, niin C/C++:lla se menisi jotenkin näin.

#include <stdio.h>
#include <conio.h>

int main(void)
{
  char numero;
  FILE *tiedosto1;
  char tarina[256];

alku:

  printf("1.Pelaamaan\n");
  printf("2.Lue tarina\n");
  printf("3.Exit\n");
  printf("anna numero: \n");

  numero=getch();

  switch (numero)
  {
    case '1':
      goto pelaamaan;
    break;

	case '2':
      goto lue;
    break;

	case '3':
      return 0;
    break;

    default:
      printf("Nyt tyyppi typetti väärän numeron!\n");
      return 0;
	break;
  }

lue:

  tiedosto1=fopen("tarina.txt", "r");
  if (!tiedosto1)
  {
    printf("Tiedostoa ei löytynyt.\n");
    return 1;
  }

  while (fgets(tarina, 256, tiedosto1))
  {
    printf(tarina);
  }

  fclose(tiedosto1);

  sleep(1000);

  goto alku;

pelaamaan:

  return 0;
}

Vastaus

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

Tietoa sivustosta