Problems hope someone can help - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: Problems hope someone can help (/thread-22918.html) |
Problems hope someone can help - Terra1988 - Yesterday 02:16 PM Hello everyone I got the Prime g2 for Christmas and am now trying to get it ready for my work. Now of course I have this stupid idea to create some programs that can calculate everything for me without much effort. Of course, since I don't know anything about programming, Chatgpt has helped me so far, but unfortunately it doesn't work that way with a program because I still get syntax errors after x attempts. Attached is the code: EXPORT margenRechner() BEGIN LOCAL bruttopreis, eigenrabatt, kundenrabatt, schlussrabatt, skonto, allgemeine_abzuege; LOCAL preis_nach_kundenrabatt, preis_nach_schlussrabatt, preis_nach_skonto, endpreis, effektiver_einkaufspreis, marge; // Eingabe der Werte bruttopreis := REQUEST("Gib den Bruttopreis ein: "); eigenrabatt := REQUEST("Gib den Eigenrabatt in Prozent ein: "); kundenrabatt := REQUEST("Gib den Kundenrabatt in Prozent ein: "); schlussrabatt := REQUEST("Gib den Schlussrabatt in Prozent ein: "); skonto := REQUEST("Gib den Skonto in Prozent ein: "); allgemeine_abzuege := REQUEST("Gib die allgemeinen Abzüge in Prozent ein: "); // Berechnung des effektiven Einkaufspreises nach Eigenrabatt effektiver_einkaufspreis := bruttopreis * (1 - eigenrabatt / 100); // Berechnung des Preises nach Kundenrabatt preis_nach_kundenrabatt := bruttopreis * (1 - kundenrabatt / 100); // Berechnung des Preises nach Schlussrabatt preis_nach_schlussrabatt := preis_nach_kundenrabatt * (1 - schlussrabatt / 100); // Berechnung des Preises nach Skonto preis_nach_skonto := preis_nach_schlussrabatt * (1 - skonto / 100); // Berechnung des Endpreises nach allen allgemeinen Abzügen (Prozent) endpreis := preis_nach_skonto * (1 - allgemeine_abzuege / 100); // Berechnung der Marge marge := (endpreis - effektiver_einkaufspreis) / endpreis * 100; // Ausgabe der Ergebnisse PRINT("Effektiver Einkaufspreis nach Eigenrabatt:" ;effektiver_einkaufspreis); PRINT("Preis nach Kundenrabatt:" ;preis_nach_kundenrabatt); PRINT("Preis nach Schlussrabatt:" ;preis_nach_schlussrabatt); PRINT("Preis nach Skonto:" ;preis_nach_skonto); PRINT("Endpreis nach allen Abzügen:" ;endpreis); PRINT("Die Marge beträgt: ", marge, " %"); END; Maybe someone can help me with the syntax error I've been getting with print lines: So now the next problem: The screen flickers especially when I'm not using the standard calculation. What could that be about? In the beginning it wasn't like that. RE: Problems hope someone can help - komame - Yesterday 04:47 PM Chat GPT applied the REQUEST command, which does not exist on the HP Prime. Additionally, there is also a problem with the fact that PRINT accepts only one argument. If you want to display a description and a value, you need to concatenate them, for example, using the "+" operator (this results in concatenation into a single output string). HP Prime provides various methods for inputting data. One of them is entering data directly from the terminal using the READLINE command (example below). However, there is a more professional approach using the INPUT command, which displays a dialog box and allows you to edit values on a single unified screen, which is very convenient. If you need an example of how to use INPUT, let me know. Unfortunately, READLINE always returns a string type, so if you input numbers, you need to convert them using the EXPR function: EXPORT margenRechner() BEGIN LOCAL bruttopreis, eigenrabatt, kundenrabatt, schlussrabatt, skonto, allgemeine_abzuege; LOCAL preis_nach_kundenrabatt, preis_nach_schlussrabatt, preis_nach_skonto, endpreis, effektiver_einkaufspreis, marge; // Bildschirm zurücksetzen PRINT; // Eingabe der Werte PRINT("Gib den Bruttopreis ein: "); PRINT(bruttopreis := EXPR(READLINE)); PRINT("Gib den Eigenrabatt in Prozent ein: "); PRINT(eigenrabatt := EXPR(READLINE)); PRINT("Gib den Kundenrabatt in Prozent ein: "); PRINT(kundenrabatt := EXPR(READLINE)); PRINT("Gib den Schlussrabatt in Prozent ein: "); PRINT(schlussrabatt := EXPR(READLINE)); PRINT("Gib den Skonto in Prozent ein: "); PRINT(skonto := EXPR(READLINE)); PRINT("Gib die allgemeinen Abzüge in Prozent ein: "); PRINT(allgemeine_abzuege := EXPR(READLINE)); // Berechnung des effektiven Einkaufspreises nach Eigenrabatt effektiver_einkaufspreis := bruttopreis * (1 - eigenrabatt / 100); // Berechnung des Preises nach Kundenrabatt preis_nach_kundenrabatt := bruttopreis * (1 - kundenrabatt / 100); // Berechnung des Preises nach Schlussrabatt preis_nach_schlussrabatt := preis_nach_kundenrabatt * (1 - schlussrabatt / 100); // Berechnung des Preises nach Skonto preis_nach_skonto := preis_nach_schlussrabatt * (1 - skonto / 100); // Berechnung des Endpreises nach allen allgemeinen Abzügen (Prozent) endpreis := preis_nach_skonto * (1 - allgemeine_abzuege / 100); // Berechnung der Marge marge := (endpreis - effektiver_einkaufspreis) / endpreis * 100; // Ausgabe der Ergebnisse PRINT("-------------"); PRINT("Effektiver Einkaufspreis nach Eigenrabatt: " + effektiver_einkaufspreis); PRINT("Preis nach Kundenrabatt: " + preis_nach_kundenrabatt); PRINT("Preis nach Schlussrabatt: " + preis_nach_schlussrabatt); PRINT("Preis nach Skonto: " + preis_nach_skonto); PRINT("Endpreis nach allen Abzügen: " + endpreis); PRINT("Die Marge beträgt: " + marge + " %"); END; Regarding the screen flickering, press On + Shift (make sure it's in this order), and while holding both keys, press + or - to adjust the screen refresh rate. A bar showing the current settings should appear. |