Пример #1
0
/*************************############# 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;
}
Пример #2
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));
}
Пример #3
0
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;
}
Пример #4
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));
}
Пример #5
0
/* ******************************************************/
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));
}
Пример #6
0
/* ******************************************************/
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));
}
Пример #7
0
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;
}
Пример #8
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));
}