Hallo, ich hab da wieder eine kleine Frage. Es geht sich um Folgendes:
Ich habe eine Stoppuhr programmiert, die die vergangenen Stunden, Minuten und Sekunden zählt und auf Wunsch die vergangene Zeit ausgibt.
Bei der Ausgabe gibt es allerdings ein Problem. Ich möchte, dass die Ausgabe immer in der gleichen Zeile und Spalte steht und nicht immer eine neue Zeile benötigt. Bei Pascal gibt es den gotoXY (x, y) Befehl.
Wie lautet dieser bei C?
Ich poste hier auch mal das Programm, damit ihr meinen Programmierstil kritisieren könnt.
Code
/* Stoppuhr.c */
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <console.h>
#include "Stoppuhr.h"
void main()
{
printf("Zum Start Taste druecken.");
getch();
Zeitmessung();
printf("\n\nZum Beenden des Programms Taste druecken");
getch();
}
void Zeitmessung()
{
long vergangen,
startzeit,
zeit, // gleichzeitig Speicher für Sekunden
i = 0,
hou = 0, // Stunden
min = 0; // Minuten
time( &startzeit);
fflush( stdin);
printf("\nTaste druecken zum Stoppen.\n\n");
do
{
time( &vergangen);
zeit = vergangen - startzeit; // Zählen der Sekunden
for( ; i == zeit; ++i) // Einmal pro Sekunde aktualisieren
{
// setCursor( 1, 5); *** Das klappt ned :( ***
AUSGABE;
if( zeit == UNIT) // Übertrag von Sek auf Min
{
min += 1;
i = 0; // Zurücksetzen von i für for-Schleife
time( &startzeit);
if( min == UNIT) // Übertrag von Min auf Stunden
{
hou += 1;
min = 0;
}
}
}
}
while( kbhit() == 0);
getch();
}
Alles anzeigen
Code
/* Stoppuhr.h */
#define UNIT 60
#define AUSGABE (printf("Stunden: %d Minuten: %d Sekunden: %d\n" \
, hou, min, zeit))
// Prototypen
void Zeitmessung( void);
Alles anzeigen
mfg paul