/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
MS VC++, problem med udskrift på skærm
Fra : Peter Skjelbo


Dato : 25-03-03 10:01

Hej,

Jeg har et højest besynderligt problem. Jeg skal lave en menu, og det
fungerer fint nok - den ligger i funktionen menu(). Menuen skal vises,
og programmet skal udføre noget andet mens der ventes på tastetryk.
Der sker intet, der kommer intet frem på skærmen. Jeg har fundet ud
af, at indsætter jeg f.eks. cout<<"."; i den while-løkke, hvor der
ellers skal laves noget andet, så virker det fint - menuen bliver
skrevet ud osv.
Jeg har kogt kildekoden så meget ned for at finde fejlen, men koden er
nu så skrabet så jeg slet ikke forstår hvorfor:

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

using namespace std;

void menu(){
   cout<<"\n\t1. Vis Log\n";
   cout<<"\t2. Slet Log\n";
   cout<<"\t3. Start\n";
   cout<<"\t4. Stop\n";
   cout<<"\t5. Op\n";
   cout<<"\t6. Ned\n";
   cout<<"\t7. Quit";
   cout<<"\n";
}

void main()
{
   cout<<"Starter program\n";
   menu();
   while (1){
      //cout<<"."; - slettes kommentarerne her, virker resten fint...
   }
}

På forhånd tak :)

 
 
Bertel Lund Hansen (25-03-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-03-03 10:42

Peter Skjelbo skrev:

>Jeg har et højest besynderligt problem. Jeg skal lave en menu, og det
>fungerer fint nok - den ligger i funktionen menu(). Menuen skal vises,
>og programmet skal udføre noget andet mens der ventes på tastetryk.
>Der sker intet, der kommer intet frem på skærmen. Jeg har fundet ud
>af, at indsætter jeg f.eks. cout<<"."; i den while-løkke, hvor der
>ellers skal laves noget andet, så virker det fint - menuen bliver
>skrevet ud osv.

Der er noget helt galt med dit system.

Hvis jeg kompilerer koden som den står, altså uden cout, så
virker menuen. Hvis jeg kobler cout-linjen til i løkken, får jeg
skærmen fyldt med punktummer.

Det er også den opførsel jeg forventede.

Compiler: BCpp 5.5

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

jt@thoestesen.invali~ (25-03-2003)
Kommentar
Fra : jt@thoestesen.invali~


Dato : 25-03-03 11:47

Peter Skjelbo <peter.skjelbo@mail.dk> wrote:

> Jeg har et h?jest besynderligt problem. Jeg skal lave en menu, og det
> fungerer fint nok - den ligger i funktionen menu(). Menuen skal vises,
> og programmet skal udf?re noget andet mens der ventes p? tastetryk.
> Der sker intet, der kommer intet frem p? sk?rmen.

Det er en feature, ikke en fejl ved ostream, at den må cache den den skal skrive
indtil du flush'er den.

Dvs. i slutningen at din menu-funktion bør du kalde cout.flush();
eller bruge cout << "menu mm..." << endl;

- endl laver en linjeskift og flush'er streamen.

--
Thø

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste