Std und min gehen ja noch aber sekunden kann ich nich ned
-
Halllo ich hab da ein kleines Programm geschrieben
Ich wollte euch fragen ob ihr mir helfen könntet
Also ICh würde noch gerne Sekunden dazu geben ! Aber leider weiß ich nicht wie
Und dann wollte ich auch fragen, wie kann ich einstellen das man bei Stunden nicht mehr als 24 oder bei Minuten 60 hinschreiben kann
Ich habs schon mitif(std1 != 25) versucht aber das glabt ned (std1 sind Stunden)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>void main()
{
int mode;
int std1, std2, min1, min2, diffstd, diffmin;printf("\n\n\t\t\t---------------------------------------------");
printf("\n\n\t\t\tHier koennen sie, die Differnez oder die Summe|");
printf("\n\n\t\t\t von zwei Uhrzeiten berechnen\n");
printf("\n\n\t\t\t von Mario Sirovina");
printf("\n\n\t\t\t Version 1.0");
printf("\n\n\t\t\t---------------------------------------------");
Sleep(5000);
system("cls");
printf("Moechten Sie Die Summe ausrechnen (1)?\n");
printf("Oder moechten Sie die Differenz ausrechnen (2)?\n");
scanf("%i",&mode);switch(mode){
case 1:
printf("Geben Sie die erste Uhrzeit ein (stunden und Minuten)\n");
printf("Stunden:");
scanf("%d", &std1);
printf("Minuten:");
scanf("%d", &min1);
printf("Geben Sie die erste Uhrzeit ein (stunden und Minuten)\n");
printf("Stunden:");
scanf("%d", &std2);
printf("Minuten:");
scanf("%d", &min2);
//Differenz der Stunden und der Minuten berechnung:
diffstd=std2-std1;
diffmin=min2-min1;
//Falls diffmin negativ, Korrektur:
//1Stunde in 60Minuten umwandeln
if(diffmin<0)
{
diffstd=diffstd-1;
diffmin=diffmin+60;
}printf("Die Zeitdifferenz ist: %dStunden und %dMinuten", diffstd, diffmin);
break;case 2:
printf("Geben Sie die erste Uhrzeit ein (stunden und Minuten)\n");
printf("Stunden:");
scanf("%d", &std1);
printf("Minuten:");
scanf("%d", &min1);
printf("Geben Sie die erste Uhrzeit ein (stunden und Minuten)\n");
printf("Stunden:");
scanf("%d", &std2);
printf("Minuten:");
scanf("%d", &min2);
//Summe der Stunden und der Minuten berechnung:
diffstd=std2+std1;
diffmin=min2+min1;
//Falls Minuten mehr als 60sind wird bei den Stunden eine Stunde dazu gegeben
//und bei Minuten 60MInuten abgezogen
if(diffmin>60)
{
diffstd=diffstd+1;
diffmin=diffmin-60;
}
printf("Die Zeitdifferenz ist: %dStunden und %dMinuten", diffstd, diffmin);break;
}
}
-
Mario20 schrieb:
Also ICh würde noch gerne Sekunden dazu geben ! Aber leider weiß ich nicht wie
Genauso wie du es mit Stunden und Minuten gemacht hast. Versteh im Moment nicht, wo du dabei Probleme hast.
Mario20 schrieb:
Und dann wollte ich auch fragen, wie kann ich einstellen das man bei Stunden nicht mehr als 24 oder bei Minuten 60 hinschreiben kann
Du könntest dir 'ne eigene Funktion dafür basteln, zB
int wert_einlesen(const char* text, int min_value, int max_value) { int value; for (;;) { printf(text); scanf("%d", &value); if (value >= min_value && value <= max_value) break; printf("Wert ausserhalb des zulaessigen Bereiches - Neueingabe erforderlich\n"); } return value; } // und im Einsatz min1 = wert_einlesen("Minuten: ", 0, 59);
btw:
Nutze das nächste mal bitte die cpp Code-Tags. Und es heist int main.
-
Danke aber leider kann ich nur blöd schauen, weil ich versteh da nur bahnhof, tut ma leid aber ich bin einanfänger in Programmieren also könnte man das problem einfacher lösen
-
Achja habs mal mit Sekunden verrsucht, daweil klappt es auch. bitte sagt mir bescheit wenn man noch was ändern kann danke
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>void main()
{
int mode;
int std1, std2, min1, min2, diffstd, diffmin, diffs, s1, s2,n;system("color 80");
printf("\n\n\t\t----------------------------------------------");
printf("\n\n\t\tHier koennen sie, die Differnez oder die Summe");
printf("\n\n\t\t von zwei Uhrzeiten berechnen\n");
printf("\n\n\t\t von Mario Sirovina");
printf("\n\n\t\t Version 1.0");
printf("\n\n\t\t----------------------------------------------");
Sleep(5000);
system("cls");
do
{printf("\n*)Bitte klicken Sie die (1) wenn Sie die Differenz zweier Zeiten wissen wollen\n");
printf("\n*)Und klicken Sie die (2) wenn Sie die Summe zweier Zeiten wissen wollen?\n");
scanf("\n%i",&mode);switch(mode){
case 1:
printf("Geben Sie die erste Uhrzeit ein (Stunden, Minuten, Sekunden)\n");
printf("Stunden:");
scanf("%d", &std1);
printf("Minuten:");
scanf("%d", &min1);
printf("Sekunden:");
scanf("%d", &s1);
printf("Geben Sie die erste Uhrzeit ein (Stunden, Minuten, Sekunden)\n");
printf("Stunden:");
scanf("%d", &std2);
printf("Minuten:");
scanf("%d", &min2);
printf("Sekunden:");
scanf("%d", &s2);
//Differenz der Stunden und der Minuten berechnung:
diffstd=std2-std1;
diffmin=min2-min1;
diffs=s2-s1;
//Falls diffmin negativ, Korrektur:
//1Stunde in 60Minuten umwandeln
if(diffmin<0)
{
diffstd=diffstd-1;
diffmin=diffmin+60;
}printf("Die Zeitdifferenz ist: |%dStunden|%dMinuten|%dSekunden|", diffstd, diffmin, diffs);
break;case 2:
printf("Geben Sie die erste Uhrzeit ein (Stunden, Minuten, Sekunden)\n");
printf("Stunden:");
scanf("%d", &std1);
printf("Minuten:");
scanf("%d", &min1);
printf("Sekunden:");
scanf("%d", &s1);
printf("Geben Sie die erste Uhrzeit ein (Stunden, Minuten, Sekunden)\n");
printf("Stunden:");
scanf("%d", &std2);
printf("Minuten:");
scanf("%d", &min2);
printf("Sekunden:");
scanf("%d", &s2);
//Summe der Stunden und der Minuten berechnung:
diffstd=std2+std1;
diffmin=min2+min1;
diffs=s2+s1;
//Falls Minuten mehr als 60sind wird bei den Stunden eine Stunde dazu gegeben
//und bei Minuten 60MInuten abgezogen
if(diffs>60)
{
diffmin=diffmin+60;
diffs=diffs-60;
}
if(diffmin>60)
{
diffstd=diffstd+1;
diffmin=diffmin-60;
}
printf("Die Zeitdifferenz ist: |%dStunden|%dMinuten|%dSekunden|", diffstd, diffmin, diffs);break;
}
Sleep(6000);
system("cls");
printf("Wollen Sie weiter machen (j/n)\n");
scanf("%s", &n);
}while(n!='n');
}
-
Mario20 schrieb:
Danke aber leider kann ich nur blöd schauen, weil ich versteh da nur bahnhof
Wo liegen denn die Probleme?
Mario20 schrieb:
tut ma leid aber ich bin einanfänger in Programmieren also könnte man das problem einfacher lösen
Sicher, nur weiss ich nicht, ob es was bringt dir das zu erklären, wenn es schon an einer einfachen Funktion und deren Anwendung scheitert. Vielleicht wäre es eine gute Idee, wenn du erstmal ein Tutorial mit den Grundlagen durcharbeitest.
groovemaster schrieb:
btw:
Nutze das nächste mal bitte die cpp Code-Tags. Und es heist int main.
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
besser wäre es, du würdest die eingabe erst in sekunden umrechnen und dann die sekunden-werte addieren/subtrahieren. anschließend rechnest du die sekunden wieder in stunden/minuten um.
du kannst dir dafür auch zwei funktionen programmieren, die du dann in deinem programm aufrufen kannst wo du willst. damit machst du es dir leichter.