|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
harpas
Anmeldungsdatum: 11.08.2009 Beiträge: 14
|
Verfasst am: 23.08.2019, 20:32 Titel: Was ist hier falsch? |
|
|
Hallo,
bitte um Hilfe das Prog läuft nicht.
Dank an alle Helfenden!
Code: |
'Variablen deklarieren:
DIM AS Integer UZ,PZ,IZ,RD,UG,UK,IK,IG,P,RG,DU,PV,RV,RK
DIM AS STRING wahl
'Hauptprogramm:
Do
Print " ******************************"
Print " * Elektronische Berechnungen *"
Print " ******************************"
Print " ZEHNERDIODE................= 1"
Print
Print "Zum Verlassen...............= exit"
Print
DO
Sleep 1
Input "Bitte Auswahl (1 - 8) ", wahl
Print
Select Case wahl
Case "exit"
SLEEP 1: END
Case "1"
Do
Print "Zehnerdiode"
Print ""
'Variablen einsetzen:
Print
Input "ZEHNERSPANNUNG UZ IN V..........= ",UZ
Input "LEISTUNG DER Z-DIODE IN W.......= ",PZ
Input "NENSTROM IZ IN mA...............= ",IZ
Input "DIFF.ZEHNERWIDERSTAND RD IN OHM = ",RD
Input "MAX.EINGANDSSPANNUNG UE IN V....= ",UG
Input "MIN.EINGANDSSPANNUNG UE IN V....= ",UK
Do
Input "MAX.LASTSTROM IL IN A...........= ",IG
Input "MIN.LASTSTROM IL IN A...........= ",IK
'Berechnungen:
IZ = IZ / 1000
P = UZ *(IZ +IG - IK)* 1.2
RK = (UG - UZ) / ((PZ / UZ) + IK)
RG = (UK - UZ) / (IZ + IG)
DU = (UG - UK) * RD / ((0.5 * RK) + 0.5 * RG) + RD * (IG -IK)
PV = (UG - UZ) * (IG + IZ) * 1.2
RV = (RK + RG) / 2
If UK <= 1.2 Then Print "UE IST ZU KLEIN"
If UK > UG Then
EndIf
Loop
If IK > IG Then
EndIf
If P > PZ Then Print "Z-Dioden-Leistung ist zu klein"
If P > PZ Then
EndIf
Loop
Print "Das Ergebnis lautet: "
Print "UA..................= ",UZ ;"Volt"
Print "RV..................= ",RV ;"OHM"
Print "Delda UA............= ",DU ;"Volt"
Print "RV Min..............= ",RK ;"OHM"
Print "RV Max..............= ",RG ;"OHM"
'CASE ELSE
'Print "Falsche Eingabe!"
'SLEEP 100
'END Select
Loop
End Select
Sleep |
|
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4648 Wohnort: ~/
|
Verfasst am: 24.08.2019, 07:56 Titel: |
|
|
Der Compiler meldet
Zitat: | test.bas(74) error 35: Expected 'END SELECT', found 'Loop' in 'Loop' |
kurz gesagt: da kommt ein unerwartetes LOOP, das zu keinem passenden DO gehört. Wenn ich stattdessen erst das END SELECT schreibe und dann zwei LOOP, kompiliert das Programm.
Ein anderes Problem: Schon oben in den Zeilen 37-53 steht eine DO...LOOP-Schleife ohne Abbruchbedingung. Da wird jetzt unendlich oft immer wieder nach dem maximalen und minimalen Laststrom gefragt.
Ich würde ganz dringend eine konsequente Strategie bei den Einrückungen anraten, sonst wird es schwer zu sehen, wo die Blöcke beginnen und enden (bzw. wo ein Ende zu viel oder zu wenig steht). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 24.08.2019, 12:17 Titel: |
|
|
So ganz auf die Schnelle:
Du hast da wohl versehentlich etwas auskommentiert. Statt Code: | ...
'CASE ELSE
'Print "Falsche Eingabe!"
'SLEEP 100
'END Select
Loop
End Select
Sleep | muß am Ende stehen: Code: | ...
CASE ELSE
Print "Falsche Eingabe!"
SLEEP 100
END Select
Loop
Loop
'End Select
Sleep | (dann klappt auch das automatische Einrücken).
Außerdem gibt es noch ein paar IF...THEN - Statements mit fehlendem Anweisungsblock, aber ich nehme mal an, das Programm ist noch nicht fertig.
Und entschuldige, aber eine Klugscheißerbemerkung zum Schluß kann ich mir nicht verkneifen: Es heißt nicht "Zehnerdiode", sondern "Zenerdiode" (ohne "h").
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
harpas
Anmeldungsdatum: 11.08.2009 Beiträge: 14
|
Verfasst am: 26.08.2019, 09:01 Titel: Was ist hier falsch? |
|
|
Hallo nemored,
danke für deine Hinweise.
Prog. läuft.
Gruß, harpas |
|
Nach oben |
|
|
harpas
Anmeldungsdatum: 11.08.2009 Beiträge: 14
|
Verfasst am: 26.08.2019, 09:04 Titel: Was ist hier falsch? |
|
|
Hallo Gridstone,
Dank auch dir für die gegebenen Hinweise. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|