Jump to content

Max01

Mitglieder
  • Gesamte Inhalte

    10
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Könne mir trotzdem jemand ein Beispiel zeigen? Müsst es ja nicht anhand meines Taschenrechners machen
  2. Hey, könnte jemand mir netterweise Zeigen was ich verändern muss, damit ich die das Programm nochmal laufen lassen kann, ohne es zu beennden. Beste Grüße und danke schon mal Max Schlensag namespace Taschenrechner2 { public class Program { public static void Main(string[] args) { // Benutzer begrüßen Console.WriteLine("Hallo Benutzer, bitte Formel eingeben"); //string gleichung = "13*-3"; // string gleichung = "12*13"; string gleichung = Console.ReadLine(); // nächsten Operator ermitteln char operatorWert = GetOperator(gleichung); while (operatorWert != ' ') { int index = gleichung.IndexOf(operatorWert); Console.WriteLine("Der Operator ist an Stelle {0}", index); int positionVorherrigerOperator = GetVorherrigerOperator(gleichung, index); string wert1 = ""; for (int i = index - 1; i >= 0; i--) { if (i > positionVorherrigerOperator) { wert1 = gleichung + wert1; } } // Operator suchenl Console.WriteLine(wert1); int positionNaechsterOperator = GetNaechsterOperator(gleichung, index + 1); string wert2 = ""; for (int index2 = index + 1; index2 < gleichung.Length; index2++) { if (index2 < positionNaechsterOperator || positionNaechsterOperator == -1) { wert2 = wert2 + gleichung[index2]; } } Console.WriteLine(wert2); // jetzt versuchen wir zu rechnen double zahl1 = double.Parse(wert1); double zahl2 = double.Parse(wert2); double ergebnis = Rechne(zahl1, zahl2, operatorWert); gleichung = gleichung.Replace(wert1 + operatorWert + wert2, ergebnis.ToString()); operatorWert = GetOperator(gleichung); } //Ergebnis ausgeben plus Rechnung Console.WriteLine("Ergebnis: " + gleichung); Console.WriteLine("Wollen sie noch eine Rechnung rechnen, dann schreiben sie j wenn sie keine weitere Rechnung rechen wollen n"); Console.ReadKey(); } //switch private static double Rechne(double zahl1, double zahl2, char operatorWert) { switch (operatorWert) { case '*': return zahl1 * zahl2; case '/': return zahl1 / zahl2; case '+': return zahl1 + zahl2; case '-': return zahl1 - zahl2; } throw new ArgumentException("da hat was nicht geklappt"); } //Methode private static char GetOperator(string gleichung) { //mal rechnung for (int i = 0; i < gleichung.Length; i++) { char zeichen = gleichung; char zeichen2 = i > 0 ? gleichung[i - 1] : ' '; if (zeichen == '*' && IsOperator(zeichen, zeichen2)) { return '*'; } if (zeichen == '/' && IsOperator(zeichen, zeichen2)) { return '/'; } } //geteilt rechnung for (int i = 0; i < gleichung.Length; i++) { char zeichen = gleichung; char zeichen2 = i > 0 ? gleichung[i - 1] : ' '; if (zeichen == '/' && IsOperator(zeichen, zeichen2)) { return '/'; } } //plus rechnung for (int i = 0; i < gleichung.Length; i++) { char zeichen = gleichung; char zeichen2 = i > 0 ? gleichung[i - 1] : ' '; if (zeichen == '+' && IsOperator(zeichen, zeichen2)) { return '+'; } } //minus rechung for (int i = 0; i < gleichung.Length; i++) { char zeichen = gleichung; char zeichen2 = i > 0 ? gleichung[i - 1] : ' '; if (zeichen == '-' && IsOperator(zeichen, zeichen2)) { return '-'; } } return ' '; } private static int GetNaechsterOperator(string gleichung, int position) { int result = -1; for (int i = position; i < gleichung.Length; i++) { char zeichen = gleichung; char zeichen2 = i > 0 ? gleichung[i - 1] : ' '; if (IsOperator(zeichen, zeichen2)) { result = i; break; } } return result; } //Zweiten Operator finden private static int GetVorherrigerOperator(string gleichung, int index) { int result = -1; for (int i = index - 1; i >= 0; i--) { char zeichen = gleichung; char zeichen2 = i > 0 ? gleichung[i - 1] : ' '; if (IsOperator(zeichen, zeichen2)) { result = i; break; } } return result; } // Zum erkennen, dass es kein Operator ist private static bool IsOperator(char zeichen, char zeichen2) { if (zeichen == '*' || zeichen == '/' || zeichen == '+' || zeichen == '-') { if (zeichen2 == '*' || zeichen2 == '/' || zeichen2 == '+' || zeichen2 == '-' || zeichen2 == ' ') { return false; } return true; } return false; } } }
  3. @Exception könntest du mir netterweise ein beispiel zeigen. ich verstehe es auch nach dem lesen der Website nicht.... Beste Grüße Max
  4. Hallo Fachinformatiker Community, ich habe einen Taschenrechner mit C# gebaut und soll nun das Programm so ändern, dass wenn das Ergebnis angezeigt wird, automatisch eine Frage kommt mit "wollen sie noch eine Rechnung eingeben, dann geben sie j ein wenn nicht n" oder so. auf jeden Fall brauche ich hilfe dabei, wie man auf das Programm wieder von vorne laufen lässt. Weiß jemand wie das geht? LG Max und danke schonmal
  5. ehre @thereisnospace
  6. Hi, kann jemand sonnst mal ein Beispiel von einer C# Gleichung posten?

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung