#include <stdio.h>
#include <string.h>

char Name[30];
char Strasse[30];
char plzort[25];

char *anrede[] = { "Sehr geehrter ",
                   "Sehr geehrte ",
                   "Sehr geehrte Damen & Herren ",
                   "Hallo ",
                   "Lieber ",
                   "Liebe "};

char *ende[] = {  "Mit freundlichen Grüssen\n\n\t",
                  "Es grüßt Sie \n\n\t",
                  "MfG ",
                  "cu ",
                  "Bis bald",
                  "Hasta la vista, Baby"};

static char yourname[30];

int main()
{
 int c, i, z, x=1, spalten=0, zeilen=0;
 char buffer[1000];

 printf("An wen geht der Brief ?\n");
 printf("-----------------------\n\n");
 printf("\tName : ");
 gets(Name);
 printf("\tStrasse : ");
 gets(Strasse);
 printf("\tPLZ u. Ort : ");
 gets(plzort);

 printf("\n\nAnrede \n");
 printf("------\n");
 printf("-1-Er -2-Sie -3-Firma\n");
 printf("-4-Bekannter -5-Freund -6-Freundin : ");
 scanf("%d",&i);fflush(stdin);
 printf("Dein Name : ");
 gets(yourname);
 printf("\n\n\n");

 buffer[0]='\t';

 while((c=getchar()) != '#')
  {
   spalten++;  
/*Falls Newline aber in der Spalte noch keine 45 Zeichen*/
   if(c=='\n' && spalten!=45)
      c=' '; 
/*Falls grössergleich 45 Spalten UND Leerzeichen, dann Newline*/
   if(spalten>=45 && c==' ')
     {
       spalten=0;
       c='\n';
     } 
/*Zeichen an buffer[] übergeben*/
   buffer[x++]=c; 
/*Falls Newline mit Tabulator einrücken*/
   if(c=='\n')
      buffer[x++]='\t';

  }
 for(z=0; z<20; z++)   /*20xNewline*/
     printf("\n");           

 printf("Anschrift:\n");    /*Es folgt Eingabe Anschrift*/
 puts(Name);
 puts(Strasse);
 puts(plzort);

 printf("\n\n%s %s\n\n",anrede[i-1],Name);

 printf("%s",buffer);

 printf("\n%s\n\n\t%s\n",ende[i-1],yourname);

 return 0;
}
