PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei einer C-Aufgabe



Olimlad
11-02-2004, 12:10
Hi,

ich habe hier mal eine Aufgabe versucht zu machen aber irgendwie funzt das nicht kann mir vielleicht helfen?

Aufgabe:

Erstelle ein Programm das die Startzeit einer Rakete einließt und die Flugdauer.
Ausgegeben werden soll die Landezeit.




//Aufgabe16
#include <stdio.h>

int h, m, s, dh, dm, ds, tag;

int main (void)
{
/*------------------------------------------------------------------------------------------------*/
/* Einführung */
/*------------------------------------------------------------------------------------------------*/

printf("\n");
printf("----------------------------------------------------------------\n");
printf("\n");
printf("Dieses Programm ermittelt die genaue Landezeit einer Rakete.\n");
printf("Es wird die Startzeit und die Flugdauer eingegeben.\n");
printf("\n");

/*------------------------------------------------------------------------------------------------*/
/* Einlesen der Startzeit */
/*------------------------------------------------------------------------------------------------*/

printf("\n");
printf("Geben Sie die Start Zeit ein. Zuerst die Stunde (hh), dann die\n");
printf("Minute (mm) und dann die Sekunde (ss)!\n");
printf("Stunde: ");
scanf("%d", &h);
printf("Minute: ");
scanf("%d", &m);
printf("Sekunde: ");
scanf("%d", &s);
printf("\n");
printf("Startzeit: %d:%d:%d Uhr\n", h, m, s);
printf("\n");

/*------------------------------------------------------------------------------------------------*/
/* Plausiblitäts Prüfung */
/*------------------------------------------------------------------------------------------------*/

If(h=>24){
printf("Fehler bei der Eingabe\n");
printf("----------------------------------------------------------------\n");
return 0;
}

If(m>59){
printf("Fehler bei der Eingabe\n");
printf("----------------------------------------------------------------\n");
return 0;
}

If(s>59){
printf("Fehler bei der Eingabe\n");
printf("----------------------------------------------------------------\n");
return 0;
}

/*------------------------------------------------------------------------------------------------*/
/* Einlesen der Flugdauer */
/*------------------------------------------------------------------------------------------------*/

printf("\n");
printf("Geben Sie die Flugdauer ein\n");
printf("Stunden: ");
scanf("%d", &dh);
printf("Minute: ");
scanf("%d", &dm);
printf("Sekunde: ");
scanf("%d", &ds);
printf("\n");


/*------------------------------------------------------------------------------------------------*/
/* Berrechnung der Flugdauer */
/*------------------------------------------------------------------------------------------------*/


dh=60*60*dh; //In Sekunden umwandeln
dm=60*dm; //In Sekunden umwandeln

ds=dh+dm+ds; //Die Sekunden zusammenzählen


while(ds!=0){ //Die Sekunden der Startzeit dazuzählen

s++;

if (s==60){
s=0;
m++;
}
if(m==60){
m=0;
h++;
}
if(h==24){
h=0;
tag++;
}



ds--;
}

/*------------------------------------------------------------------------------------------------*/
/* Ausgabe des Ergebnisses */
/*------------------------------------------------------------------------------------------------*/

printf("Die Landezeit ist am %d Tag um %d:%d:%d Uhr\n", tag, h, m, s);
printf("\n");
printf("----------------------------------------------------------------\n");
return 0;

}

BLUESCREEN3D
11-02-2004, 14:03
wann immer du sowas postest: was genau funzt nicht?
kompilieren?
ausführen?
geht alles, aber das ergebnis stimmt nicht?
gibt es fehlermeldungen?

was mir auf den ersten blick auffällt:

If(h=>24){
das muss wohl so geschrieben werden:

if(h>=24){
wichtig: "if" MUSS klein geschrieben werden (hast du dreimal groß geschrieben)

außerdem mal was allgemeines:

while(ds!=0){ //Die Sekunden der Startzeit dazuzählen
sowas ist nicht sehr performant - alle sekunden einzeln zu addieren...
es geht zwar so, aber man kann das auch gleich irgendwie addieren