Gå til innhold

Dev C++ eller hva den nå heter


Anbefalte innlegg

funker ikke getche() eller getch() i dev C++?

i den andre kompilatoren jeg har må man include conio.h, men når jeg prøver å include det her, funker den fremdeles ikke... :no:

 

... skulle vært en sånn chat her i tilleg til det som er her... lettere enn via posting når det er flere pålogga

Endret av zirener
Lenke til kommentar
Videoannonse
Annonse
Jeg har i hovedsak begynt med C, ikke C++.

I C må jeg bruke getchar() istedet for cin.get().

hvis du skal bruke getchar() må du inkludere biblioteket stdio.h

Altså:

 

#include <stdio.h>

Funker ikke for meg :no:

Kansje det er fordi jeg bruker C++??

Er igrunn ikke så farlig når det er andre måter å få til sånne greier på ;):p

Endret av zirener
Lenke til kommentar
Jeg har i hovedsak begynt med C, ikke C++.

I C må jeg bruke getchar() istedet for cin.get().

hvis du skal bruke getchar() må du inkludere biblioteket stdio.h

Altså:

 

#include <stdio.h>

Funker ikke for meg :no:

Kansje det er fordi jeg bruker C++??

Er igrunn ikke så farlig når det er andre måter å få til sånne greier på ;):p

Hvorfor ikke cin.get() eller system ("pause") ?

Lenke til kommentar
Jeg har i hovedsak begynt med C, ikke C++.

I C må jeg bruke getchar() istedet for cin.get().

hvis du skal bruke getchar() må du inkludere biblioteket stdio.h

Altså:

 

#include <stdio.h>

Funker ikke for meg :no:

Kansje det er fordi jeg bruker C++??

Er igrunn ikke så farlig når det er andre måter å få til sånne greier på ;):p

Hvorfor ikke cin.get() eller system ("pause") ?

Nei, nei :p

Ikke sånn ment :cool:

Syns det bare var litt rart at jeg ikke kunne bruker getch(), eller getche()...funker ikke på den dev kompilatoren...eller det kan man sikker men ;).

Vet noen åssen man kan få det til å stå noe annet enn

"Trykk en tast for å fortsette..." når man bruker system("pause") funksjonen?

Endret av zirener
Lenke til kommentar
Jeg har i hovedsak begynt med C, ikke C++.

I C må jeg bruke getchar() istedet for cin.get().

hvis du skal bruke getchar() må du inkludere biblioteket stdio.h

Altså:

 

#include <stdio.h>

Funker ikke for meg :no:

Kansje det er fordi jeg bruker C++??

Er igrunn ikke så farlig når det er andre måter å få til sånne greier på ;):p

Hvorfor ikke cin.get() eller system ("pause") ?

Nei, nei :p

Ikke sånn ment :cool:

Syns det bare var litt rart at jeg ikke kunne bruker getch(), eller getche()...funker ikke på den dev kompilatoren...eller det kan man sikker men ;).

Vet noen åssen man kan få det til å stå noe annet enn

"Trykk en tast for å fortsette..." når man bruker system("pause") funksjonen?

Du kan ikke bruke en C kommando i C++ da kanskje, er usikker der men...

For å få det til og stå noe annet, bruk cin.get();

Eks:

#include <iostream>
using namespace std;
int main()
{
cout << "Blabla";
cout << "Trykk en tast, bla bla bla text da!";
cin.get();
return(0);  //Mange som glemmer denne i posten ser jeg!
}

Da står det Trykk en tast, bla bla bla text da! når du skal trykke enter for å fortsette ;)

Lenke til kommentar

Først av alt, jeg har aldri brukt Dev-C++, og kan ikke snakke direkte om den. Men jeg vet hva som SKAL være, så om Dev-C++ ikke følger standarden er ikke det mitt problem :)

 

Søk etter filen iostream.h. Når/hvis du finner den skriver du inn hele banen i include-setningen. Da kan det ikke gå galt

Eller enda bedre, legg til Include-pathen din i kompilatorens Include-søke-path. Dette gjøre som oftest ved å skrive -I[Path], f.eks.: -IC:\...\Include. I Borland kan du dessuten legge den til i en konfigurasjonsfil, hvordan det er med Dev-C++ vet jeg ikke.

EDIT: Manuel hadde visst allerede sagt det :)

 

 

Forresten så er det like greit å bruke system()-kallet, som er definert i headeren cstdlib.h. Da kan du sende kommandoer til OS'et på samme måte som du gjør i konsollen (dir, pause, ping, copy, type, whatever).

Vel, egentlig ikke. Det er "good programming practice" å bruke cin.get() i steden. Det er flere grunner til dette, først og fremst at cin.get() er Standard C++, og gjør det samme overalt.

 

 

Det er vel strengt tatt ikke nødvendig å avslutte med en return-setning i en main-funksjon. Jeg trodde den bare var der for å understreke at det er en funksjon (gir en returverdi som er null)?

Nok en gang, det er "good programming practice" å gjøre det, og flere kompilatorer gir advarsler (eller 'warnings' for semi-amerikanske grinebitere ;) ) dersom du ikke returnerer noe. return 0 forteller at programmet har kjørt ferdig og avsluttet uten feil.

 

 

Dere kan evt. prøve å skrive "iostream.h", istedenfor "iostream". Sistnevnte er et "nyere" innslag, og det er kanskje av den grunn den bare virker når filendelsen er cpp. C++ er nyere, men er bakoverkompatibel med C.

C++ sin bakoverkompatibilitet med C gjelder selvfølgelig ikke biblioteket. IO i C gjøres med stdio.h

 

 

Hva bakgrunnen på konsollet angår er det sannsynligvis at den kompilatoren med hvit bakgrunn enten kjører på et system med hvit konsoll-bakgrunn, eller at den lager et eget konsoll - med hvit bakgrunn - som den kjører programmet i.

 

 

Og som Gunderz peker ut, trenger du conio.h for å bruke getch(). conio.h er ikke portable, i motsetning til funksjonen cin.get(). cin.get() er dessuten så god at den tilogmed er nevnt i C++-Standarden :)

Lenke til kommentar
Det er godt mulig at grunnen til at du ikke kan bruke getch() eller getche() er bibliotekt  conio.h.

Funka med getch() og getche() nå...

Glemte da ikke å include conio.h forige gang jeg prøvde? ;)

 

*sukk*

 

Kansje jeg skrev det feil :p

Endret av zirener
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...