PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Die kleine Faultier Programmierschule



gubbel
13.04.2015, 16:00
Der hochmoderne Snackautomat von dem im Chat die Rede war:


PROGRAM Snackautomat;

TYPE WareARRAY=ARRAY[1..4,1..12] OF CHAR;
MuenzeARRAY=ARRAY[1..6] OF REAL;
CONST Ware:WareARRAY=('Mars','Snickers','Twix','Duplo');
Muenze:MuenzeARRAY=(0.05,0.10,0.20,0.50,1.00,2.00) ;
VAR Eingabe,Einwurf:INTEGER;
Preis,Summe,Rest:REAL;
Abbruch:BOOLEAN;
BEGIN
Abbruch:=FALSE;
WRITELN('Bitte w„hlen sie ein Produkt mit');
WRITELN('1:Mars(1.50E), 2:Snickers(1.70E), 3: Twix(1.80E), 4:Duplo(0.70E)');
READLN(Eingabe);
IF Eingabe IN [1..4] THEN
BEGIN
Case Eingabe OF
1:Preis:=1.50;
2:Preis:=1.70;
3:Preis:=1.80;
4:Preis:=0.70
END;
WRITELN('Bitte werfen Sie' ,Preis,' Euro ein. Der Automat akzeptiert nur 5Cent bis 2Euro Mnzen');
WRITELN('1:5Cent, 2:10Cent, 3:20Cent, 4:50Cent, 5:1Euro, 6:2Euro');
Summe:=0.00;
REPEAT
WRITELN('Verbleibend: ',Preis-Summe:1:2,' Euro');
READLN(Einwurf);
IF Eingabe IN [1..6] THEN
BEGIN
Summe:=Summe+Muenze[Einwurf];
WRITELN(Summe:1:2);
END
ELSE
Abbruch:=TRUE
UNTIL (Summe>=Preis) OR Abbruch;
Rest:=Summe-Preis;
WRITELN('Ausgabe ',Ware[Eingabe]);
WRITELN(Rest:1:2,' Euro Rckgeld');
REPEAT
IF Rest>=1 THEN
BEGIN
WRITELN('Ausgabe ',Muenze[5]:1:2,' Euro');
Rest:=Rest-1
END;
IF Rest>=0.50 THEN
BEGIN
WRITELN('Ausgabe ',Muenze[4]:1:2,' Euro');
Rest:=Rest-0.50
END;
IF Rest>=0.20 THEN
BEGIN
WRITELN('Ausgabe ',Muenze[3]:1:2,' Euro');
Rest:=Rest-0.20
END;
IF Rest>=0.10 THEN
BEGIN
WRITELN('Ausgabe ',Muenze[2]:1:2,' Euro');
Rest:=Rest-0.10
END;
IF Rest>=0.05 THEN
BEGIN
WRITELN('Ausgabe ',Muenze[1]:1:2,' Euro');
Rest:=Rest-0.05
END
UNTIL Rest=0
END
ELSE
WRITELN('Falsche Eingabe')
END.

Unten erlaubt er sich alle möglichen Späße :(
Wenn Ich zum Beispiel mit 1,30 Euronen Rückegeld starte dann gehts erst gut los. Der Euro wird abgezogen, dann 20 Cent, wenns dann aber darum geht die 10 Cent auch noch abzuziehen womit dann die Abbruchbedingung erfüllt wäre kommt da aus 0,1-0,1 auseinmal 1,0231815395E-12 raus :blaw

Jim
13.04.2015, 16:09
Hat er Wunderbar-Schokoriegel?

slowcar
13.04.2015, 16:11
An Deinen Problembeschreibungsskills müssen wir noch arbeiten...

Deine 2. Schleife läuft die Schritte einen nach dem anderen ab.
Richtig wäre:
- Gib 2€ raus so lange Du kannst
dann gib 1€ raus so lange Du kannst
dann...
also mehrfache repeat-schleifen.

Ansonsten: Nimm Integer als Datentyp. Real macht Dir da nur Probleme, siehe http://de.wikipedia.org/wiki/Gleitkommazahl#Pr.C3.BCfung_auf_Gleichheit

Ford
13.04.2015, 17:14
@gubbel
Biste jetzt unter die Programmierer gegangen?

@all
Pascal erinnert mich fatal an meine Schulzeit. Wir hatten das da auch im "Informatik"-Kurs. Mit welchen Programmiersprachen sollte man als Anfänger heute beginnen?

slowcar
13.04.2015, 17:27
Pascal erinnert mich fatal an meine Schulzeit. Wir hatten das da auch im "Informatik"-Kurs. Mit welchen Programmiersprachen sollte man als Anfänger heute beginnen?
Für die Grundprinzipien ist es ja fast egal, ich würde vielleicht etwas praxisrelevanter vorgehen. Vielleicht mit Javascript, wobei das halt direkt Objektorientiert ist und einiges an Spezialitäten hat.
Oder Ruby oder sowas vllt.

gubbel
13.04.2015, 17:28
Das ist auch nur im Rahmen der 2 wöchigen Einführung, das macht man ganz zu Beginn der Ausbildung oder Ich habs jetzt schon als Erprober gemacht :hoppel

visti
13.04.2015, 21:42
Mit welchen Programmiersprachen sollte man als Anfänger heute beginnen?

Mit QBasic. :D

10 PRINT
20 THEN GOTO

:lach

slowcar
13.04.2015, 22:58
Mit QBasic. :D

10 PRINT
20 THEN GOTO

:lach
Ich hab auf meinem VC20 noch Seiten an Listings abgetippt - und dann hab ich mich irgendwo verschrieben...

weasel
13.04.2015, 23:52
Dafür gab'd doch Checksummer beim C64, wenn ich mich richtig erinnere :D

visti
14.04.2015, 00:27
@slow: Jo! :japan

@weasel: :D Mist. Das kannte ich nicht. :donk

Essig
14.04.2015, 10:01
das macht man ganz zu Beginn der Ausbildung

Ich staune, Glückwunsch :D

gubbel
14.04.2015, 10:07
Noch nicht :D

Essig
14.04.2015, 10:08
Achso, geht es erst im Herbst los, aber du bereitest dich schon streberhaft darauf vor? :gruebel

gubbel
14.04.2015, 10:11
Ich mach so BFI Erprobung seit Ende Januar, wo man sich erstmal Empfehlungen in verschiedenen Berreichen abholen sollte damit das Amt das dann fördert. Geht noch diese Woche dann hab Ich hoffentlich erstmal wieder ne weile Frei :D
Ich hab KBM und FIN aber dieses kaufmännische Zeug is so unglaublich dröge da gibt man sich sicher in kürze die Kugel, weiß nicht wie wisthi das macht :un

wisthler
14.04.2015, 11:17
Ich hab KBM und FIN aber dieses kaufmännische Zeug is so unglaublich dröge da gibt man sich sicher in kürze die Kugel, weiß nicht wie wisthi das macht :un

Na ja die Buchhaltung in der wirklichen Welt und während einer Ausbildung unterscheiden sich gewaltig. Mir war das früher auch furchtbar langweilig, da ich wahrlich auch nicht der "genaue" Typ bin.

Ford
14.04.2015, 13:53
@gubbel
Geht aufwärts, super!

gubbel
18.06.2015, 02:12
Nebenbei habsch mittlerweile meinen Ausbildungsvertrag :hoppel

Dellaway
18.06.2015, 02:51
Cool! :top

wisthler
18.06.2015, 08:29
Super gubbele. Geht vorwärts, bald bist du solide. :D

Dudjän
18.06.2015, 09:26
Als irgendwas kaufmännisches oder was? Glückwunsch

Essig
18.06.2015, 09:38
:top

visti
18.06.2015, 10:18
:laola :troet

weasel
18.06.2015, 10:45
:troet

gubbel
18.06.2015, 20:40
:dacapo
(Ich hätte gedacht der Smiley heißt :bayern :p

gubbel
28.07.2015, 12:24
Hat er Wunderbar-Schokoriegel?

btw wurden mir selbige seit dem mal gezeigt und Ich find sie absolut ekelhaft :un

gubbel
31.08.2015, 00:32
Dienstag gehts los! :panik

gubbel
31.08.2015, 00:34
@all
Pascal erinnert mich fatal an meine Schulzeit. Wir hatten das da auch im "Informatik"-Kurs. Mit welchen Programmiersprachen sollte man als Anfänger heute beginnen?

Ach darauf wollte ich mal antworten und tue es jetzt. Wir hatten im Informatik Unterricht nur Office :D :berlin

Essig
31.08.2015, 12:06
Ach darauf wollte ich mal antworten und tue es jetzt. Wir hatten im Informatik Unterricht nur Office :D :berlin

Eine Antwort mit einem Satz ist für dich ein Vorhaben das du nicht schaffst sofort umzusetzen? :D

slowcar
31.08.2015, 12:17
Eine Antwort mit einem Satz ist für dich ein Vorhaben das du nicht schaffst sofort umzusetzen? :D
Da war sicher noch die while (true) do sleep - Schleife im Weg.

gubbel
10.09.2015, 12:52
Da fehlt doch die Abb... Oh wait! :O

Total Sinnlos das wir mit dem ganzen Medien/Büro Berreich erstma 2 Wochen Wordkurs machen müssen, und nach der ersten Wochen Berufsschule nochmal 2 Wochenbtrieb. Ärgerlicher Zeitverlust für nicht Abschlussrelevanten Mist :hahmpf Aber das hat man davon wenn man im BBW Ausbildung macht :einsam

lowcut
17.09.2015, 12:13
Man muss auch die Dinge lernen die man nach dem Abschluss braucht. ;)

gubbel
21.09.2015, 12:53
So langweiliger Word Kurs geschafft, nu erste Woche Berufsschule am anderen Ende der Stadt :O
Wir ham Geld fürn Bus bekommen aber ich radel... :fft

Dudjän
21.09.2015, 16:09
Guter Vorsatz

gubbel
15.10.2015, 17:17
Nachdem es die Woche nu endlich rihtig losgeht das erste C-Meistererk :troet



#include <stdio.h>
#include <ctype.h>
#include <conio.h>

int main()
{
char ean[14];
int Summe, Faktor, Zahl, Index, Wert, z, weiter;
do
{
clrscr();
printf("Bitte geben Sie eine 13-stellige EAN ein\n");
scanf("%13s",&ean);
z=0;
for (int i=0; i<13; i++)
{
if (isdigit (ean[i]))
z++;
}
if (z==13)
{
Summe=0;
Faktor=3;
Index=0;
while (Index<12)
{
Zahl=(ean[Index])-48;
if (Faktor==3)
Faktor=1;
else
Faktor=3;
Index=Index+1;
Wert=Zahl*Faktor;
Summe=Summe+Wert;
}
Wert=Summe%10;
Zahl=(ean[12])-48;
Wert=Wert+Zahl;
if (Zahl!=0)
{
if (Wert==10)
printf("Richtige EAN");
else
printf("Ungültige EAN");
}
else
{
if (Wert==0)
printf("Richtige EAN");
else
printf("Ungültige EAN\n");
}
}
else
printf("Bitte geben sie genau 13 Ziffern ein.");

getch();
printf("\nFuer eine weitere EAN eingabe druecken sie '1' fuer das Programmende eine beliebige sonstige Taste\n");
scanf("%d",&weiter);
}
while (weiter==1);
return(0);
}


Will natürlich noch nicht so wie Ich will :O do-while läuft und läuft.

Ich hab wieder das Doppel = vergessen! :donk
Nu geht allerdings gar nichts mehr :D

slowcar
15.10.2015, 18:17
dein for-loop prüft nur i<13, da ean aber ein char[14] ist fehlt dir da eins.
statt z=z+1 kannst du einfach z++ nutzen. und z=z ist total sinnlos.
da dein loop nur 12 mal läuft ist z nie 13, also ist deine if-bedingung nie erfüllt.

gubbel
15.10.2015, 19:02
Nö ist 0-13, und es hieß wir braucne immer eins mehr in char arrays für abschließende 0.
Der Teil klappte schon länger einwandfrei ;)
Und zuletzt hab Ichs auch hin gekriegt, es lief dann ohne noch was zu ändern. Ich muss vorher ein Programm nicht richtig abgebrochen haben dieser uralte Borland c++ Compiler fängt dann an zu spinnen.

Ich hab oben mal das mittlerweile komplett fertige Meisterwerk aktualisiert :hoppel Allerdings macht er beim Kopieren die Einschübe nicht richtig und Ich bin zu faul dafür :nie

Muss schließlich nu Struktogramm zeichnen :einsam

gubbel
27.10.2015, 14:51
lustigstes Programm ever:


#include <stdio.h>

main()
{
int i=2;
while (i>0)
printf("a\a");
}

"Ich hab keine Ahnung was mit meinem Laptop aufeinmal los ist!" :duck

gubbel
29.10.2015, 17:17
Das Programm of doom an dem wir zu dritt Stundenlang gearbeitet haben :D



#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <io.h>

main()
{
char text[1000]={0};
int AnzahlZeichen, AnzahlA, AnzahlE, AnzahlI, AnzahlO, AnzahlU, AnzahlVokale;
char c;
int Ende2=0;
char Ende;

while(Ende2!=27)
{
clrscr();
AnzahlVokale=0;
AnzahlA=0;
AnzahlE=0;
AnzahlI=0;
AnzahlO=0;
AnzahlU=0;
printf("Geben Sie einen belibiegen Text ein, das Programm gibt ihnen die Anzahl der Vokale aus.\n");
do
{
gets(text);
AnzahlZeichen=strlen(text);
for(int i=0; i<=AnzahlZeichen; i++)
{
c=text[i];
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'| |c=='E'||c=='I'||c=='O'||c=='U')
{
AnzahlVokale++;
if(c=='a'||c=='A')
AnzahlA++;
else if(c=='e'||c=='E')
AnzahlE++;
else if(c=='i'||c=='I')
AnzahlI++;
else if(c=='o'||c=='o')
AnzahlO++;
else
AnzahlU++;
}
}
Ende=getchar();
}
while(Ende!=EOF);
printf("Die Anzahl der Vokale ist: %d.\n\Davon sind es %d mal A, %d mal E, %d mal I, %d mal O, %d mal U.\n", AnzahlVokale, AnzahlA, AnzahlE, AnzahlI, AnzahlO, AnzahlU);
printf("Druecken sie Escape um das Programm zu beenden oder eine beliebige andere Taste um noch einen Text einzugeben.\n");
Ende2=getch();
}
}


Das getchar klaut sich natürlich einen raus, deshalb sind es ab der 2. Zeile immer ein Vokal zu wenig :O
Ohne string wäre wohl besser, zu mindest war so die offizielle Lösung :duck Aber wie kriegt man meine Methode ordenlich hin? :gruebel

Harleen
30.10.2015, 21:55
gets() ist böse. Da wird die Größe des Einfabepuffers nicht überprüft. Wenn ich mehr als 1000 Zeichen eingebe, kann ich dir im Speicher rumsauen. Nimm lieber gets_s, wenn es denn unbedingt sein muss. Außerdem gibt es bei deinem Programm eigentlich keinen Grund, conio.h und io.h zu verwenden. Die gibt es nur für Windows und selbst da nicht bei allen Compilern. Ansi-C reicht hier aber vollkommen aus, wenn du nicht darauf bestehst, das Programm mit ESC zu beenden. Überhaupt ist die 2. Schleife unnötig. Man kann doch auch einfach das Programm nochmal starten... Hier mal meine Version - Natürlich ungetestet.


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int ch;
unsigned int countA;
unsigned int countE;
unsigned int countI;
unsigned int countO;
unsigned int countU;

while ((ch=getchar()) != EOF)
{
switch (ch)
{
case 'a':
case 'A':
++countA;
break;
case 'e':
case 'E':
++countE;
break;
case 'i':
case 'I':
++countI;
break;
case 'o':
case 'O':
++countO;
break;
case 'u':
case 'U':
++countU;
break;
}
}
AnzahlVokale = AnzahlA + AnzahlE + AnzahlI + AnzahlO + AnzahlU;
printf("Die Anzahl der Vokale ist: %d.\n\Davon sind es %d mal A, %d mal E, %d mal I, %d mal O, %d mal U.\n",
AnzahlVokale, AnzahlA, AnzahlE, AnzahlI, AnzahlO, AnzahlU);
return EXIT_SUCCESS;
}

gubbel
30.10.2015, 22:39
Unnötig ist sie eben nicht weil das vom "Kunden" also Ausbilder gewünscht war :D

oh und du hast weder AnzahlVokale noch AnzahlA etc. je deklariert :duck

Harleen
30.10.2015, 22:56
Ich habbe Count A usw. deklariert und dann erst gesehen, dass deine Variablen anders heißen. Wer benennt denn bitte seine Variablen deutsch? :nie

lowcut
01.11.2015, 10:47
Mache ich manchmal auch. :secret

gubbel
02.06.2016, 13:18
So mittlerweile ein bisschen weiter :fft



PERSON lookup(char* key, PERSON* list)
{
PERSON* itemptr;
itemptr = (PERSON*) bsearch(&key, list, 7, sizeof(list[0]), fcmp);
cout<<"hello"<<endl;
return itemptr;
}


Ich kann aus obiger Funktion einfach nicht itemptr zurückgeben und versteh nicht warum.
*itemptr geht problemlos, Ich will aber nicht den Inhalt des Pointers übergeben sondern halt die Adresse damit diese in main von nem pointer entgegengenommen werden kann.

Einfach itemptr übergeben und ne normale PERSON Variable das annehmen lassen führt aber natürlich zu Access Violation wenns nen NULL pointer hat...

Arghhh jetzt lag es doch einfach daran das lookup nicht PERSON* ist :donk
Das hatte Ich eigentlich als erstes probiert, oder dachte Ich zumindest :duck

slowcar
02.06.2016, 14:15
C ist nicht grad meine Spezialität, aber müsstest Du nicht als Rückgabewert einen Pointer angeben, also PERSON*?
bsearch sagt in der API es will einen pointer auf key, Du dereferenzierst den aber mit &.
Im ersten Beispiel das ich gefunden habe wird key als lokale variable angelegt: int key = 32; - da wird dann durch das & ein pointer drauf übergeben.
Ich vermute Du hast das Beispiel falsch umgesetzt. Versuch mal key ohne '&' zu übergeben.
Edit: Und sollte list nicht ein array von Werten sein? Bei Dir ist list ja ein PERSON pointer.

gubbel
02.06.2016, 15:30
Nope ohne & gibts ne Acess Violation, Ich übergeb die Adresse eines strings und bsearch nimmt das in nem pointer an. Das Proble mwar wirklich PERSON statt PERSON*

Momentan habsch ein anderes Problem, ich hau mal das ganze Programm mit Kommentaren rein.



#include <iostream>
#include <cstring>
#include <stdlib.h>

struct PERSON
{
//Version1
char* name;

//Version2
//string name;

int phonenr;
};

int fcmp(const void* a, const void* b)
{
PERSON* personA = (PERSON*)a;
PERSON* personB = (PERSON*)b;
//Version 1
return(strcmp(personA->name, personB->name));
//funktioniert grundsätzlich

//Version 2
//int val=personA->name.compare(personB->name);

//return(val);*/
//funktioniert beim qsort einwandfrei und stirbt beim bsearch weil er aufeinmal kein a mehr kriegt

}

PERSON* lookup(char* key, PERSON* list)
{
PERSON* itemptr;
itemptr = (PERSON*) bsearch(&key, list, 7, sizeof(list[0]), fcmp);
cout<<"hello"<<endl;
return itemptr;
}

void main()
{
PERSON* ptr;
PERSON list[7];
list[0].name="Dafoe, Daniel";
list[0].phonenr=789;
list[1].name="Wurst, Hans";
list[1].phonenr=963;
list[2].name="Schweiß, Axel";
list[2].phonenr=456;
list[3].name="SonofUthdsjfdsrid, Uthasdasdasrid";
list[3].phonenr=321;
list[4].name="Brei, Grieß";
list[4].phonenr=147;
list[5].name="LaFleur, Kevin";
list[5].phonenr=987;
list[6].name="Lulu, Lala";
list[6].phonenr=258;

qsort(list, 7, sizeof(list[0]), fcmp);
for(int x=0; x<7; x++)
{
cout<<list[x].name<<" "<<list[x].phonenr<<endl;
}
ptr=lookup("Brei, Grieß", list);
if(ptr)
cout<<ptr->phonenr<<endl;
else
cout<<"Nicht gefunden!"<<endl;

cout<<"blubb"<<endl;
}

gubbel
10.06.2016, 12:53
Ähmmmm ne Frage zu (pseudo)random Funktionalität.

Unser uralt Borland nahm zur initialisierung einfach randomize(); ohne Parameter. Was genau das macht wird auch nicht erläutert:

Initialisiert den Zufallszahlengenerator.
randomize initialisiert den Zufallszahlengenerator mit einem Zufallswert.

Borland C++-Programmierhandbuch

Visual kennt jetzt nur noch den ANSI Standard mit srand(seed); wofür man als seed time(NULL) nimmt.
Das man das am besten nur einmal bei Programmstart macht ist mir klar aber bei mehreren Programmstarts in kurzer Zeit sind die Zahlen sehr ähnlich.
Das Borland Teil hat da zumindest den Anschein besserer Zufälligkeit erweckt :niemals

Was gäbs denn da an Alternativen? :look
Google spuckt mir nur den wie gesagt bekannten Hinweis darauf dass gleich zu Anfang zu initialisieren und dämliche Ideen wie +_getpid aus wo Ich ja völlig aus meiner range rauskomme :un

slowcar
10.06.2016, 14:06
Der seed muss nur unterschiedlich sein. Wenn er sich nur wenig unterscheidet macht das nichts.
Nur wenn man vom gleichen seed aus startet bekommt man die gleiche Abfolge von Pseudozufallszahlen.

gubbel
10.06.2016, 14:09
Jo Ich weiß, aber der ist ja unterschiedlich.
Und es scheint eben doch was zu machen wenn er sich nur wenig unterscheidet (weil systemzeit erst ein paar sekunden später).
Ganz gleich sind die gar nicht aber 3-4 mal hintereinander 55xx bei %10000 ist nicht toll :un

slowcar
10.06.2016, 14:16
Ganz gleich sind die gar nicht aber 3-4 mal hintereinander 55xx bei %10000 ist nicht toll :un
Zufall :nie

gubbel
10.06.2016, 16:12
Nee das ist einfach immer ein bisschen höher. Umso mehr Zeit Ich vergehen lasse umso höher.
Ich kann das jetzt nochmal 10 mal hintereinander laufen lassen und krieg 84xx solange bis wir halt bei 85xx sind :sz

lowcut
16.06.2016, 12:28
Ich halt ein sehr simpler Algorithmus. Im Zweifel musst du dir selbst ein Modul schreiben. Aber die Zeit als einer der Grundvariabeln zur Berechnung ist schon mal nicht schlecht.

visti
16.06.2016, 12:38
:popcorn

gubbel
07.07.2016, 10:32
gg wenn in den Büchern kompletter Bullshit steht

UTF-8 (Uniform Transformation Format 8-Bit) ist zwar eine universelle Zeichencodierung, kann aber beispielsweise deutsche Umlaute nicht darstellen.

Ausgabe Deutscher Zeichen klappt wunderbar mit encoding="utf-8" in xml oder charset="utf-8" in HTML und Wiki sagt es sei der Sinn der Sache dass es alles an Unicode darstellen kann :duno

gubbel
20.07.2016, 10:32
Wo slow ja gemeint hat er wurde auch mit xml gequält... :fft
Wie krieg Ich denn zwischen zwei aufeinanderfolgende <xsl:value-of select="nodename" /> ein Leerzeichen ausgegeben? :look
Das ganze findet zwar innheralb von HTML tags statt, und Tabellen und Formatierungen klappen auch wunderbar aber &nbsp; is ne undefined entiy :un

slowcar
20.07.2016, 11:00
hmm, probier mal &#160;

gubbel
20.07.2016, 11:04
Das geht aber erzeugt ne ganz schön große Lücke die eher wie ein tabstop als ein Leerzeichen aussieht :D
Ich bin zwischendruch auf <span style="padding-left:3px" /> gestoßen, das sieht ordentlich aus.

gubbel
21.07.2016, 15:26
soon:
17371

gubbel
10.11.2016, 08:39
Unser Ausbilder will und für alle 6 Stunden die wir auf der 24 Stunden (https://www.uni-greifswald.de/universitaet/information/veranstaltungskalender/detail/event/2016/11/11/24-stunden-vorlesung-2016/) Vorlesung verbringen einen 8 Stunden Arbeitstag gutschreiben :gruebel

slowcar
10.11.2016, 09:52
Unser Ausbilder will und für alle 6 Stunden die wir auf der 24 Stunden (https://www.uni-greifswald.de/universitaet/information/veranstaltungskalender/detail/event/2016/11/11/24-stunden-vorlesung-2016/) Vorlesung verbringen einen 8 Stunden Arbeitstag gutschreiben :gruebel
Penis, Drogen und Elektroschocks. Dann mal auf :)

gubbel
10.11.2016, 10:22
Ich halt kaum die 1,5 Stunden Netztechnologie Vorlesungen die wir hier immer aufem Beamer kucken aus :D

gubbel
26.04.2017, 03:55
schlow!!!
17730
:japan