PDA

Visualizza la versione completa : [C++] Problemino


iguana13
13-10-2003, 15:02
Premetto che non ho molta esperienza con il C :quipy: :stordita:

Io voglio realizzare un semplice programmino:


#include <iostream.h>
#include <conio.h>

void main(){
char cmd;
VisualizzaMenu();
cmd = getch();
}



dove VisualizzaMenu() Visualizza un menu che scpiega i comandi e non fa altro.

Il problema e che secondo me:
- Prima dovrebbe visualizzare il menu
- e poi attendere la pressione del tasto
Invece:
- Prima attende la pressione del tasto
- E poi visualizza l menu e termina subito

Perch ??? :dh: :dh:

ChReAn
13-10-2003, 15:31
Io ho prodotto questo codice:



#include <stdlib.h>
#include <conio.h>

void StampaMenu () {
printf ("1. Pippo\n");
printf ("2. Pluto\n");
}

int main (int argc, char **argv)
{
char cmd;
StampaMenu ();
cmd = getch ();
}

E va alla perfezione... :bh:

iguana13
13-10-2003, 20:14
Ora vi mando il code completo

Non so se a voi funziona...:
[Io uso M$ visual c++ 6.0]



/*
File di inclusione
*/

#include "iostream.h"
#include "math.h"
#include "conio.h"
#include <stdlib.h>


//--------------------
//Definizione funzioni
//--------------------


void VisualizzaMenu();


// La funzione main() ;D
void main(int argc, char* argv[])
{
char cmd;
cout << "Benvenuti nel gestore di voti.\n";
VisualizzaMenu();
cmd = getch();

}

void VisualizzaMenu()
{
cout << "Menu del gestore voti:\n\n";
cout << "\t 1 = Aggiungi voto\n";
cout << "\t 2 = Aggiungi materia\n";
cout << "\t 3 = Visualizza media\n";
cout << "\t e = Esci\n\n";
cout << "Comando: ";
}



E' uno dei miei primi programmi in C++... :stordita:

Andrea Simonassi
13-10-2003, 21:35
metti un cout.flush() prima di cmd = getch();

questo fa si che il buffer di scrittura venga effettivamente mandato a video immediatamente, senza aspettare che il buffer sia pieno.

Loading