/*************************############# main #############*************************/ int main() { TLager *TempLager; TempLager = FirstLager; int i = 0; // Informationsabfrage printf("*************** Lagerkraft ***************\n\n"); askLager(&FirstLager); clearScreen(); printf("**************** Punktlast ***************\n\n"); printf("Moechten Sie eine Punktlast eingeben?\n -> "); i = askAgain(); if (i == 1) askPunktlast(&FirstPunkt); clearScreen(); printf("************** Rechteckslast *************\n\n"); printf("Moechten Sie eine Rechteckslast eingeben?\n -> "); i = askAgain(); if (i == 1) askRechteck(&FirstRechteck); clearScreen(); printf("*************** Trapezlast ***************\n\n"); printf("Moechten Sie eine Trapezlast eingeben?\n -> "); i = askAgain(); if (i == 1) askTrapez(&FirstTrapez); clearScreen(); printf("************* Aeusserer Moment ***********\n\n"); printf("Moechten Sie einen Auesseren Moment eingeben?\n -> "); i = askAgain(); if (i == 1) askAeussMoment(&FirstAeussMoment); calcLager(); clearScreen(); TempLager = FirstLager; for(i=0;i<LagerCounter; i++) { printf("\nLager Nr.%i\nAx : %f\nAy :%f\n",i+1, TempLager->Lagerwerte[0], TempLager->Lagerwerte[1]); if(TempLager->Schraeg_Grade == 1) printf("A : %f\n",TempLager->Lagerwerte[2]); TempLager = TempLager->Next; } waitForEnter(); return 0; }
void askAeussMoment(TAeussMoment **NEU) { int isWeiter = 0; if (*NEU) free(*NEU); (*NEU) = malloc(sizeof(TAeussMoment)); (*NEU)->Next = NULL; do { printf("Wie ist die Last?\n -> "); isWeiter = scanf("%f", &(*NEU)->Last); clearBuffer(); }while (isWeiter != 1); do { printf("In welche Richtung geht der Aeussere Moment? Uhrzeiger(0) oder gegen Uhrzeiger(1)?\n -> "); scanf("%i", &(*NEU)->Richtung); clearBuffer(); }while (((*NEU)->Richtung<0) || ((*NEU)->Richtung>1)); AeussMomentCounter++; printf("Moechten Sie einen weiteren Aeusseren Moment eingeben?\n -> "); isWeiter = askAgain(); if (isWeiter == 1) askAeussMoment(&((*NEU)->Next)); }
int main() { int Anz = 7; // int Ende = 1; char Menu[50] = "TerminVerwaltung V 0.2"; char *Menupunkte[] = {"Neuen Termin anlegen", "Termin bearbeiten", "Termin loeschen", "Termin suchen", "Termine sortieren", "Termine auflisten", "Programm beenden"}; //TDate Date; //TTime Time; //char Input[20]; do { clearScreen(); int Wahl = getMenu( Menu , Menupunkte , Anz); printf("ToDo:"); switch(Wahl) { case 1: createAppointment(); break; case 2: editAppointment(); break; case 3: deleteAppointment(); break; case 4: searchAppointment(); break; case 5: sortCalendar(); break; case 6: listCalendar(); break; // case 7: printf("Das Programm wird beendet"); // Ende = 0; break; default: printf("Falsche Wahl\n\n"); } } while (askAgain("Moechten Sie noch einmal (j//n) ? ")); return 0; }
/* ******************************************************/ void askRechteck(TRechtecklast **NEU) { int isWeiter = 0; if (*NEU) free(*NEU); (*NEU) = malloc(sizeof(TRechtecklast)); (*NEU)->Next = NULL; do { printf("Wie ist die Position (X1)?\n -> "); isWeiter = scanf("%f", &(*NEU)->Position_X1); clearBuffer(); } while (isWeiter != 1); do { printf("Wie ist die Laenge?\n -> "); isWeiter = scanf("%f", &(*NEU)->Laenge); clearBuffer(); } while (isWeiter != 1); (*NEU)->Position_Last = (*NEU)->Position_X1 + (*NEU)->Laenge / 2; //printf("\nPosition_Last: %f\n", (*NEU)->Position_Last);; do { printf("Wie ist die Hoehe?\n -> "); isWeiter = scanf("%f", &(*NEU)->Hoehe); clearBuffer(); } while (isWeiter != 1); do { printf("In welche Richtung geht die Last? Uhrzeiger(0) oder gegen Uhrzeiger(1)?\n -> "); scanf("%i", &(*NEU)->Richtung); clearBuffer(); } while (((*NEU)->Richtung<0) || ((*NEU)->Richtung>1)); (*NEU)->Flaechenlast = (*NEU)->Laenge * (*NEU)->Hoehe; LastRechteck = (*NEU); RechteckCounter++; printf("Moechten Sie eine weitere Rechtecklast eingeben?\n -> "); isWeiter = askAgain(); if (isWeiter == 1) askRechteck(&((*NEU)->Next)); }
/* ******************************************************/ void askLager(TLager **NEU) { int isWeiter = 0; if (*NEU) free(*NEU); (*NEU) = malloc(sizeof(TLager)); do { printf("Ist die Lagerkraft Fest(1) oder Lose(0)?\n -> "); scanf("%i", &(*NEU)->Fest_Lose); clearBuffer(); } while (((*NEU)->Fest_Lose<0) || ((*NEU)->Fest_Lose>1)); do { printf("Ist die Lagerkraft Schraeg(1) oder Gerade(0)?\n -> "); scanf("%i", &(*NEU)->Schraeg_Grade); clearBuffer(); if((*NEU)->Schraeg_Grade == 1) { do { printf("Wie ist der Winkel?\n -> "); isWeiter=scanf("%f", &(*NEU)->Winkel); clearBuffer(); } while (isWeiter != 1); } } while (((*NEU)->Schraeg_Grade > 1) || ((*NEU)->Schraeg_Grade < 0)); do { printf("Was ist die Position von der Lagerkraft?\n -> "); isWeiter=scanf("%f", &(*NEU)->Position); clearBuffer(); } while (isWeiter != 1); (*NEU)->Next = NULL; LagerCounter++; //printf("%i %i %f\n", (*NEU)->Fest_Lose, (*NEU)->Schraeg_Grade, (*NEU)->Position); printf("Moechten Sie eine weitere Lagerkraft eingeben?\n -> "); isWeiter = askAgain(); if (isWeiter == 1) askLager(&((*NEU)->Next)); }
/* ******************************************************/ void askPunktlast(TPunktlast **NEU) { int isWeiter = 0; if (*NEU) free(*NEU); (*NEU) = malloc(sizeof(TPunktlast)); (*NEU)->Next = NULL; do { printf("Wie ist die Position?\n -> "); isWeiter = scanf("%f", &(*NEU)->Position); clearBuffer(); } while (isWeiter != 1); do { printf("Wie ist die Last?\n -> "); isWeiter = scanf("%f", &(*NEU)->Last); clearBuffer(); } while (isWeiter != 1); do { printf("In welche Richtung geht die Last? Uhrzeiger(0) oder gegen Uhrzeiger(1)?\n -> "); scanf("%i", &(*NEU)->Richtung); clearBuffer(); } while (((*NEU)->Richtung<0) || ((*NEU)->Richtung>1)); PunktCounter++; printf("Moechten Sie eine weitere Punktlasts eingeben?\n -> "); isWeiter = askAgain(); if (isWeiter == 1) askPunktlast(&((*NEU)->Next)); }
int main() { TDate Date; TTime Time; char Input[20]; do { clearScreen(); printf("Geben Sie bitte ein gueltiges Datum ein (dd.mm.yyyy): "); *Input = '\0'; scanf("%19[^\n]", Input); clearBuffer(); if (*Input) if (getDateFromString(Input, &Date)) printf("Das Datum %02i.%02i.%04i ist gueltig!\n", Date.Day, Date.Month, Date.Year); else printf("Das eingegebene Datum %s ist ungueltig!\n", Input); else printf("Sie haben nichts eingegeben!\n"); printf("Geben Sie bitte eine gueltige Uhrzeit ein (st:mi:se): "); *Input = '\0'; scanf("%19[^\n]", Input); clearBuffer(); if (*Input) if (getTimeFromString(Input, &Time)) printf("Die Uhrzeit %02i:%02i:%02i ist gueltig!\n", Time.Hour, Time.Minute, Time.Second); else printf("Die eingegebene Uhrzeit ist ungueltig!\n"); else printf("Sie haben nichts eingegeben!\n"); } while (askAgain("Moechten Sie noch einmal (j//n) ? ")); return 0; }
void askTrapez(TTrapezlast **NEU) { int isWeiter = 0; if (*NEU) free(*NEU); (*NEU) = malloc(sizeof(TTrapezlast)); (*NEU)->Next = NULL; do { printf("Wie ist die Position (X1)?\n -> "); isWeiter = scanf("%f", &(*NEU)->Position_X1); clearBuffer(); } while (isWeiter != 1); do { printf("Wie ist die Position (X2)?\n -> "); isWeiter = scanf("%f", &(*NEU)->Position_X2); clearBuffer(); } while (isWeiter != 1); do { printf("Wie ist die Hoehe X1?\n -> "); isWeiter = scanf("%f", &(*NEU)->Hoehe_X1); clearBuffer(); } while (isWeiter != 1); do { printf("Wie ist die Hoehe X2?\n -> "); isWeiter = scanf("%f", &(*NEU)->Hoehe_X2); clearBuffer(); } while (isWeiter != 1); do { printf("In welche Richtung geht die Last? Uhrzeiger(0) oder gegen Uhrzeiger(1)?\n -> "); scanf("%i", &(*NEU)->Richtung); clearBuffer(); } while (((*NEU)->Richtung<0) || ((*NEU)->Richtung>1)); (*NEU)->Laenge = abs((*NEU)->Position_X2 - (*NEU)->Position_X1); if(((*NEU)->Position_X1 != 0) && ((*NEU)->Position_X2 != 0)) { TRechtecklast *RechtecklastNEU = NULL; if (RechtecklastNEU) free(RechtecklastNEU); RechtecklastNEU = malloc(sizeof(TRechtecklast)); RechtecklastNEU->Position_X1 = (*NEU)->Position_X1; RechtecklastNEU->Laenge = (*NEU)->Laenge; if((*NEU)->Hoehe_X1 < (*NEU)->Hoehe_X2) RechtecklastNEU->Hoehe = (*NEU)->Hoehe_X1; else RechtecklastNEU->Hoehe = (*NEU)->Hoehe_X2; RechtecklastNEU->Position_Last = RechtecklastNEU->Position_X1 + (RechtecklastNEU->Laenge / 2); //printf("\nPosition_Rechtecklast im Trapez: %f\n",RechtecklastNEU->Position_Last); RechtecklastNEU->Richtung = (*NEU)->Richtung; RechtecklastNEU->Flaechenlast = RechtecklastNEU->Laenge * RechtecklastNEU->Hoehe; if(RechteckCounter == 0) FirstRechteck = LastRechteck = RechtecklastNEU; else LastRechteck->Next = RechtecklastNEU; RechteckCounter++; } if((*NEU)->Hoehe_X1 < (*NEU)->Hoehe_X2) (*NEU)->Position_Last = (*NEU)->Position_X1 + ((*NEU)->Laenge * 2 / 3); else (*NEU)->Position_Last = (*NEU)->Position_X1 + ((*NEU)->Laenge / 3); (*NEU)->HoeheDreieck = abs((*NEU)->Hoehe_X2 - (*NEU)->Hoehe_X1); (*NEU)->Dreieckflaeche = (*NEU)->HoeheDreieck * ((*NEU)->Laenge / 2); TrapezCounter++; printf("Moechten Sie eine weitere Trapezlasts eingeben?\n -> "); isWeiter = askAgain(); if (isWeiter == 1) askTrapez(&((*NEU)->Next)); }