Code: Alles auswählen
import msvcrt
from math import*
class GeometrischeFigur:
def __init__(self):
self.GeometrischeFigur=[]
def rechneSchnittlaengeGesamt(self,schnittlaenge_kreis,schnittlaenge_rechteck,schnittlaenge_eck):
seitenlaenge_gesamt=schnittlaenge_kreis+schnittlaenge_rechteck+schnittlaenge_eck
return seitenlaenge_gesamt
class Zeichnung:
def hinzufuegen_kreis(self,kreis_1):
self.kreisobjekt=kreis_1
def hinzufuegen_rechteck(self,recht_1):
self.rechteckobjekt=recht_1
def hinzufuegen_eck(self,eck_1):
self.ecksobjekt=eck_1
def speichern(self):
f=file("Daten.txt","w")
f.write("Kreis:\n")
f.write("--------\n")
f.write("Kreisradius (cm): ")
f.write("%s\n" % radius)
f.write("Kreisumfang (cm): ")
f.write("%s\n" % schnittlaenge_kreis)
f.write("Kreisflaeche (cm2): ")
f.write("%s\n" % flaeche_kreis)
f.write("---------------------------------\n")
f.write("Rechteck:\n")
f.write("-------------\n")
f.write("Seitenlaenge a (cm): ")
f.write("%s\n" % seitenlaenge_alpha)
f.write("Seitenlaenge b (cm): ")
f.write("%s\n" % seitenlaenge_beta)
f.write("Rechteckumfang (cm): ")
f.write("%s\n" % schnittlaenge_rechteck)
f.write("Rechteckflaeche cm2")
f.write("%s\n" % flaeche_rechteck)
f.write("---------------------------------\n")
f.write("5-eck:\n")
f.write("--------\n")
f.write("Seitenlaenge (cm): ")
f.write("%s\n" % seitenlaenge_eck)
f.write("Eckumfang (cm): ")
f.write("%s\n" % schnittlaenge_eck)
f.write("Eckflaeche (cm): ")
f.write("%s\n" % flaeche_eck)
f.write("---------------------------------\n")
f.write("Schnittlaenge aller Figuren (cm): ")
f.write("%s\n" % gesamt)
f.close()
def laden(self):
f = file("Daten.txt", "r")
inhalt = f.read()
print inhalt
f.close()
class Kreis(GeometrischeFigur):
def __init__(self,radius):
self.Kreis=[radius]
def rechneSchnittlaengeKreis(self,radius):
flaeche=0
schnittlaenge_kreis=0
pie=3.14
schnittlaenge_kreis=(float(pie))*float(radius)*2
return schnittlaenge_kreis
def rechneFlaecheKreis(self,radius):
flaeche=0
pie=3.14
flaeche=((float(pie))*float(radius)*2)*float(radius)
return flaeche
class Rechteck(GeometrischeFigur):
def __init__(self,seitenlaenge_alpha,seitenlaenge_beta):
self.Rechteck=[seitenlaenge_alpha,seitenlaenge_beta]
def rechneSchnittlaengeRechteck(self,seitenlaenge_alpha,seitenlaenge_beta):
schnittlaenge_rechteck=0
schnittlaenge_rechteck=float(seitenlaenge_alpha)*2+float(seitenlaenge_beta)*2
return schnittlaenge_rechteck
def rechneFlaecheRechteck(self,seitenlaenge_alpha,seitenlaenge_beta):
flaeche=0
flaeche=float(seitenlaenge_alpha)*float(seitenlaenge_beta)
return flaeche
class Eck(GeometrischeFigur):
def __init__(self,seitenlaenge_eck):
self.Eck=[seitenlaenge_eck]
def rechneSchnittlaengeEck(self,seitenlaenge_eck):
schnittlaenge_eck=0
schnittlaenge_eck=float(seitenlaenge_eck)*5
return schnittlaenge_eck
def rechneFlaecheEck(self,seitenlaenge_eck):
tan=1.37638
flaeche_eck=0
flaeche_eck=((1.25*float(seitenlaenge_eck))*float(seitenlaenge_eck))*float(tan)
return flaeche_eck
def ausgabe():
print "________________________________"
print "Kreis:"
print "------"
print "Radius: ",radius,"cm"
print "Schnittlaenge: ",schnittlaenge_kreis,"cm"
print "Flaeche: ",flaeche_kreis,"cm2"
print "________________________________"
print "Rechteck:"
print "---------"
print "Seitenlaenge a: ",seitenlaenge_alpha,"cm"
print "Seitenlaenge b: ",seitenlaenge_beta,"cm"
print "Schnittlaenge: ",schnittlaenge_rechteck,"cm"
print "Flaeche: ",flaeche_rechteck,"cm2"
print "________________________________"
print "5-Eck:"
print "------"
print "Seitenlaenge: ",seitenlaenge_eck,"cm"
print "Schnittlaenge: ",schnittlaenge_eck,"cm"
print "Flaeche: ",flaeche_eck,"cm2"
print "________________________________\n\n"
print "Schnittlaenge aller Figuren: ",gesamt,"cm"
def menue():
print "_________________________________\n"
print " Zeichnungstool "
print "_________________________________\n"
print "0 --> Neue Zeichnung"
print "1 --> Neue Figur anlegen"
print "2 --> Schnittlaenge berechnen"
print "3 --> Umfang berechnen"
print "4 --> Flaeche berechnen"
print "5 --> Zeichnung laden"
print "6 --> Zeichnung speichern"
print "ESC --> Programm beenden"
def loeschen(kreis1,recht1,eck1):
pass
radius=0
schnittlaenge_kreis=0
flaeche_kreis=0
schnittlaenge_rechteck=0
seitenlaenge_alpha=0
seitenlaenge_beta=0
flaeche_rechteck=0
schnittlaenge_eck=0
seitenlaenge_eck=0
flaeche_eck=0
gesamt=0
seitenlaenge_gesamt=0
esc = '\x1b'
menue()
geo=GeometrischeFigur()
test=Zeichnung()
ch = msvcrt.getch()
while ch != esc:
if (ch=='0'):
print "------------------------------"
print "-- Neue Zeichnung anlegen --"
print "------------------------------"
print "Wollen Sie alle Zeichnungen loeschen?"
frage=raw_input("y/n: ")
if (frage=='n'):
print "Zeichnung(en) wird(werden) nicht geloescht"
print "Zurueck zum Hauptmenu"
menue()
else:
print "Zeichnung(en) wird(werden)geloescht"
radius=0
schnittlaenge_kreis=0
flaeche_kreis=0
schnittlaenge_rechteck=0
seitenlaenge_alpha=0
seitenlaenge_beta=0
flaeche_rechteck=0
schnittlaenge_eck=0
seitenlaenge_eck=0
gesamt=0
flaeche_eck=0
seitenlaenge_gesamt=0
menue()
elif (ch=='1'):
print "------------------------------"
print "-- Neue Figur(en) anlegen --"
print "------------------------------"
print "1 --> Kreis"
print "2 --> Rechteck"
print "3 --> 5eck"
eingabe=raw_input()
if(eingabe=='1'):
z1=Zeichnung()
radius=raw_input("Radius (cm): ")
kreis=Kreis(radius)
z1.hinzufuegen_kreis(kreis)
schnittlaenge_kreis=kreis.rechneSchnittlaengeKreis(radius)
flaeche_kreis=kreis.rechneFlaecheKreis(radius)
gesamt=geo.rechneSchnittlaengeGesamt(schnittlaenge_kreis,schnittlaenge_rechteck,schnittlaenge_eck)
elif(eingabe=='2'):
seitenlaenge_alpha=raw_input("Seitenlaenge a (cm): ")
seitenlaenge_beta=raw_input("Seitenlaenge b (cm): ")
recht=Rechteck(seitenlaenge_alpha,seitenlaenge_beta)
z1.hinzufuegen_rechteck(recht)
schnittlaenge_rechteck=recht.rechneSchnittlaengeRechteck(seitenlaenge_alpha,seitenlaenge_beta)
flaeche_rechteck=recht.rechneFlaecheRechteck(seitenlaenge_alpha,seitenlaenge_beta)
gesamt=geo.rechneSchnittlaengeGesamt(schnittlaenge_kreis,schnittlaenge_rechteck,schnittlaenge_eck)
elif(eingabe=='3'):
seitenlaenge_eck=raw_input("Seitenlaenge(cm): ")
eck=Eck(seitenlaenge_eck)
z1.hinzufuegen_eck(eck)
schnittlaenge_eck=eck.rechneSchnittlaengeEck(seitenlaenge_eck)
flaeche_eck=eck.rechneFlaecheEck(seitenlaenge_eck)
gesamt=geo.rechneSchnittlaengeGesamt(schnittlaenge_kreis,schnittlaenge_rechteck,schnittlaenge_eck)
menue()
elif (ch=='2'):
geo=GeometrischeFigur()
gesamt=geo.rechneSchnittlaengeGesamt(schnittlaenge_kreis,schnittlaenge_rechteck,schnittlaenge_eck)
print "--------------------------------"
print "--Schnittlaenge aller Figuren---"
print "--------------------------------"
print gesamt,"cm"
menue()
elif (ch=='3'):
print "--------------------------------"
print "--------Umfangberechnung--------"
print "--------------------------------"
print "Schnittlaenge Kreis : ",schnittlaenge_kreis,"cm"
print "Schnittlaenge Rechteck: ",schnittlaenge_rechteck,"cm"
print "Schnittlaenge 5-Eck : ",schnittlaenge_eck,"cm"
elif (ch=='4'):
print "--------------------------------"
print "-------Flaechenberechnung-------"
print "--------------------------------"
print "Flaeche Kreis : ",flaeche_kreis,"cm2"
print "Flaeche Rechteck: ",flaeche_rechteck,"cm2"
print "Flaeche 5-Eck : ",flaeche_eck,"cm2"
menue()
elif (ch=='5'):
lade=Zeichnung()
print "Programm wurde geladen"
lade.laden()
menue()
elif (ch=='6'):
ausgabe()
speicher=Zeichnung()
speicher.speichern()
print "Programm gespeichert"
menue()
ch = msvcrt.getch()