#include <stdio.h>

struct robo {
                  unsigned Sensor1:1;
                  unsigned Sensor2:1;
                  unsigned Sensor3:1;
                  unsigned Schalter:1;
                  unsigned Ausgabe:4;
                 }Roboter1;

char *msg[7] = {"Kein Signal an Sensor 1!\n",
                "Kein Signal an Sensor 2!\n",
                "Kein Signal an Sensor 3!\n",
                "Schalter 1 nicht betätigt!\n",
                "Notaus betätigt!\n",
                "Kein Strom!\n"
               };

int main()
{
 int anzahl;

 do{
     printf("Wieviele Produkte soll der Roboter von A->B heben: ");
     scanf("%d",&anzahl);
     fflush(stdin);

     while((anzahl>0) && (anzahl--))
      {
       Roboter1.Sensor1=1;
       if(Roboter1.Sensor1)
            printf("Produkt wird aufgenommen und zum Fließband transportiert\n");
            else
            {
              Roboter1.Ausgabe=0;
              puts(msg[Roboter1.Ausgabe]);
            }
          Roboter1.Sensor2=1;
          if(Roboter1.Sensor2)
           {
            printf("Produkt ist auf dem Fließband\n");
            printf("Schalter wird eingeschaltet!\n");
            Roboter1.Schalter=1;
           }
          else
           {
             Roboter1.Ausgabe=1;
             puts(msg[Roboter1.Ausgabe]);
             Roboter1.Ausgabe=3;
             puts(msg[Roboter1.Ausgabe]);
           }
          Roboter1.Sensor3=1;
          if(Roboter1.Sensor3)
           {
             printf("Produkt am Ziel angekommen!\n");
             printf("Schalter für Fließband wieder auf aus.\n");
             Roboter1.Schalter=0;
            }
          else
            {
             Roboter1.Ausgabe=2;
             puts(msg[Roboter1.Ausgabe]);
            }
        }
     }while(anzahl>0);
 Roboter1.Sensor1=0;
 Roboter1.Sensor2=0;
 Roboter1.Sensor3=0;
 Roboter1.Ausgabe=0;
 puts(msg[Roboter1.Ausgabe]);
 return 0;
}

