Laden...

Forenbeiträge von nytrec Ingesamt 37 Beiträge

14.04.2019 - 19:37 Uhr

@ Chilic

Meinte auch WPF. 😁 (Weiß selbst nicht, warum ich jetzt WPS geschrieben habe)

@ Abt

Danke für der Verweis auf das Thread! Werde mir das mal durchlesen.

14.04.2019 - 18:04 Uhr

Hallo zusammen,

wie im Titel zu lesen ist, stelle ich mir die Frage, ob Windows Forms veraltet und unbrauchbar ist.

Warum stelle ich diese Frage? Weil ich öfters im Netz lese, dass Windows Forms nicht weiterentwickelt wird, veraltet und somit unbrauchbar ist. Viele sind der Meinung, dass man sich eher auf WPS konzentrieren sollte. Stimmt das? Ich selbst lerne zurzeit Windows Forms, was mir auch total Spaß macht. Kann mir nicht vorstellen, dass das ganze so unbrauchbar sein soll.

Was ist eure Meinung?

14.04.2019 - 17:43 Uhr

Du musst das nicht so ernst nehmen, ist nur Spaß!

Egal, danke dir für deine Hilfe. 🙂

14.04.2019 - 16:55 Uhr

Verzeih mir, Abt!

Ich werde mich dafür selbst bestrafen! Kannst dir natürlich eine Strafe ausdenken! 😁

Ich habs endlich hinbekommen!

Sag mal, Abt, in der Vergangenheit hast du mich mal auf einem Link verwiesen, wo alle Befehle mit Erklärungen draufstehen. Kannst mir wieder diesen einen Link hier posten? Ich finde das nämlich nicht mehr. 🙁

14.04.2019 - 14:56 Uhr

Also, im Eigenschaftsfenster steht im timer "Interval 5".

Wenn ich jetzt über die Anweisung:

timer.Interval = (int) (zahl * 1000) jetzt was verändere, übernimmt er die Zahlen, die im Eigenschaftsfenster sind, also Interval 5.

Ich möchte aber im TextBox eine Zahl eingeben, die er dann für die Interval übernimmt.

Ich schaue mich natürlich auch im Netz um. Aber finde nicht das passende für mein Problem. X(

14.04.2019 - 14:15 Uhr

Sry, dachte, wenn ich schon bei Windows Forms bin, kann ich auch hier andere Fragen stellen. Merke ich mir für die Zukunft. 👍

Ich muss aber den Wert von der Boxtext übernehmen.

also textBox.Text = timer.Interval.

Ich kann nach timer.interval kein = setzen, verstehst du? ^^

edit:

Habe es jetzt so gemacht, wie du es geschrieben hast.

timer.Interval. = (int) (zahl * 1000) - aber es funktioniert nicht. Der übernimmt die Zahlen vom Eigenschaftsfenster.

14.04.2019 - 13:26 Uhr

Hi Leute,

ich habe noch eine kleine Frage.

Ich möchte über einen Button den Wert von einem Textbox für einen Timer benutzen.

Habe folgendes im Button:

float zahl;
zahl = Convert.ToSingle(textBox.text);
 textBox.Text = timer.Interval.ToString();

Ich weiß nicht, ob das der richtige Befehl ist. Aber es funktioniert nicht, weil nur der Wert vom Eigenschaftsfenster übernommen wird. Wie kriege ich das hin? 😃

13.04.2019 - 16:28 Uhr

Vielen Dank euch beiden! Habt mir sehr weitergeholfen! God bless you! 🙂

13.04.2019 - 14:48 Uhr

Hallo Leute,

ich habe mal eine Frage.

Zuerst habe ich hier folgenden Code:


using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonAnzeigen_Click(object sender, EventArgs e)
        {
            if (System.IO.File.Exists(textBox1.Text))
            {
                if (textBox1.Text != String.Empty)
                {
                    FormMax neuesFormular = new FormMax();
                    neuesFormular.Bildladen(textBox1.Text);
                    neuesFormular.Text = textBox1.Text;
                    neuesFormular.ShowDialog();
                }
            }
        }
    }
}

Ich möchte gerne, dass der Titeltext im neuen Formular fixiert bleibt bzw. sich nicht verändert. Daneben soll auch der Pfad von der Bilddatei stehen:

(Beispiel): TitelText - C:\Users\nytrec\Desktop\kind.jpg

Wie kriege ich das hin? Ich kriege nur den Pfad im Titel geschrieben, aber der TitelText von dem Formular soll auch da stehen. 🙂

24.01.2019 - 14:34 Uhr

Ich hoffe du willst keine eigene verkettet Liste bauen.

Nein, es dient zum Lernzweck!

24.01.2019 - 14:15 Uhr

Hallo zusammen,

ich sitze hier vor einer Aufgabe. Ich möchte aus dem Code eine Methode erzeugen, die eine einfach verketteten Liste rückwärts ausgibt.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
    class Listenelement
    {
        string daten;
        Listenelement naechster;

        public void SetDaten(string datenNeu)
        {
            daten = datenNeu;
            naechster = null;
        }

        public void Anhaengen(string datenNeu)
        {
            if (naechster == null)
            {
                naechster = new Listenelement();
                naechster.SetDaten(datenNeu);
            }
            else
            {
                naechster.Anhaengen(datenNeu);
            }
            Console.WriteLine("Sie haben {0} eingefügt!", datenNeu);
        }

        public void Ausgeben()
        {
            Console.WriteLine(daten);
            if (naechster != null)
            {
                naechster.Ausgeben();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Listenelement listenAnfang = new Listenelement();

                listenAnfang.SetDaten("Element 1");
                for (int element = 2; element < 4; element++)
                    listenAnfang.Anhaengen("element " + element);

                listenAnfang.Ausgeben();
            }
        }
    }
}

Ich habe bislang folgendes gemacht:

 Listenelement naechster, vorheriger;
public void DoppeltVerketteteListe(string datenNeu)
        {
            if (naechster == null)
            {
                naechster = new Listenelement();
                naechster.SetDaten(datenNeu);
            }
            else
            {
                vorheriger.Anhaengen(datenNeu);
                vorheriger = vorheriger.naechster; 
            }
        }

Aber das müsste ja eh falsch sein. Ich habe ehrlich gesagt keinen Schimmer, wie ich das mache. Brauche unbedingt Hilfe. 😦

16.01.2019 - 19:04 Uhr

Deine Frage zwei macht nichts anderes als:

  • Wenn das Objekt Listenelement nicht existiert, dann wird eines erstellt und das Feld daten gesetzt.
  • Wenn das Objekt Listenelement existiert, dann wird rekursiv ein verkettetes Objekt erstellt

Verstehe ich das richtig? Zuerst wird überprüft, ob ein Listenelement existiert. Dann wird der "if" Zweig aufgerufen und ein Listenelement erstellt. Danach wird hinterher der "else" Zweig aufgerufen, da wir ja ein Listenlement haben und dieser dann verkettet wird? Ich verstehe das ganze jetzt etwas. Aber mir ist im Code nicht klar, wann genau die Zweige "if" und "else" aufgerufen werden. (also das hintereinander)

16.01.2019 - 18:09 Uhr

Warum ist der Code schlecht? Der Code ist aus meinem Studienheft, und du meinst, dass der schlecht ist? 😁

Ich habe das Step für Step Debugging ausprobiert. Habe da ehrlich gesagt nichts verstanden. Muss aber an dieser Stelle noch sagen, dass das Debuggen im späteren Verlauf meines Studiums vorkommt. ^^

16.01.2019 - 16:54 Uhr

Ich danke dir für deine Antwort!

Das ist schon mal geklärt. 👍

Aber kannst du noch auf meine zweite Frage antworten? =)

16.01.2019 - 16:17 Uhr

Hallo ihr Lieben.

Ich habe folgenden Code:

class Listenelement //5.2
    {
        string daten;
        Listenelement naechster;

        public void SetDaten(string datenNeu)
        {
            daten = datenNeu;
            naechster = null;
        }

        public void Anhaengen(string datenNeu)
        {
            if (naechster == null)
            {
                naechster = new Listenelement();
                naechster.SetDaten(datenNeu);
            }
            else
                naechster.Anhaengen(datenNeu);
            Console.WriteLine("Daten {0} wurden eingefügt.", datenNeu);
        }

        public void Ausgeben()
        {
            Console.WriteLine(daten);
            if (naechster != null)
                naechster.Ausgeben();
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine();

            Listenelement listenAnfang = new Listenelement();

            listenAnfang.SetDaten("Element 1");

            for (int element = 2; element < 4; element++)
                listenAnfang.Anhaengen("Element " + element);

            listenAnfang.Ausgeben();
        }
    }
}

Frage 1) Was bedeutet genau "null" in diesem Code?

Ich lese folgendes:
"Denn null wird auch als Standardwert für eine Variable für Objekte benutzt, wenn Sie selbst kein Objekt über new erzeugen und zuweisen".

Bedeutet das, dass "null" einfach 1 erzeugtes Objekt ist?

Frage 2) Im Code wird bei:

 public void Anhaengen(string datenNeu)
        {
            if (naechster == null)
            {
                naechster = new Listenelement();
                naechster.SetDaten(datenNeu);
            }
            else
                naechster.Anhaengen(datenNeu);
            Console.WriteLine("Daten {0} wurden eingefügt.", datenNeu);
        }

Zuerst 3 mal der else Zweig ausgeführt und dann 3 mal ein neues Element erzeugt.
Und hier zerbreche ich mir den Kopf. Weil ich einfach das "null" Im Code nicht verstehe. Ich weiß gerade nichts. Bin vllt einfach zu blöd dafür. 🙁

05.12.2018 - 13:52 Uhr

ich glaub das hast du in den falschen Hals bekommen - war jedenfalls nicht böse gemeint.

Habs halt so aufgefasst, sry! ^^

Dein Problem ist aber nichtmal programmiertechnischer Herkunft um ehrlich zu sein. Das ist mehr Mathematik.

Vielen Dank für deine Antwort Coffee! 😃

Vielen Dank für diese ausführliche Antwort! Jetzt weiß ich, warum man bei dem Beruf mehr oder weniger Mathe braucht! 😛

05.12.2018 - 12:55 Uhr

hm - du wirkst ziemlich desorientiert 😕

Wie kommst du auf sowas? Was kann ich dafür, wenn mir eine Information vorenthalten wird? Ich bin ein Anfänger und kein Profi!

04.12.2018 - 18:04 Uhr

Hallo ihr Lieben.

Ich habe folgenden Code:

        public void Abgeben(int menge)
        {
            int gepumpt;
            if (menge > fuellstand)
                gepumpt = andererBehaelter.Aufnehmen(fuellstand);
            else
                gepumpt = andererBehaelter.Aufnehmen(menge);
            fuellstand = fuellstand - gepumpt;
        }
    }

Mir ist nicht so ganz klar, warum die Methode "Aufnehmen" aufgerufen wird, wenn wir doch nur diese Anweisung in "gepumpt" zuweisen? Das gleiche Verständnis Problem habe ich hier auch:

            int zahl = 5, ausgabe = 0;

            Console.WriteLine("Die aktuelle Zahl ist {0}", zahl);
            zahl++;
            Console.WriteLine("Die aktuelle Zahl ist {0}", zahl);
            ausgabe = zahl++;
            Console.WriteLine("Die aktuelle Zahl ist {0}", ausgabe);
            Console.WriteLine("Die aktuelle Zahl ist {0}", zahl);

Hier weisen wir zahl++ in ausgabe zu.

Bei Console.WriteLine("Die aktuelle Zahl ist {0}", ausgabe); gibt er 6 aus und danach bei Console.WriteLine("Die aktuelle Zahl ist {0}", zahl); die Zahl 7.

Warum ist das so? Warum werden diese Anweisungen zuerst ausgeführt und dann zugewiesen? In meinem Studienheft wird das gar nicht erklärt.

12.11.2018 - 13:02 Uhr

Ein paar weitere Tipps die dir in der Branche generell helfen:

  • Sei kritikfähig
  • Sei ebenso selbstkritisch
  • Hinterfrage und verstehe. Am Anfang kann man zum spielen sicherlich auch Dinge verwenden die man nicht versteht, jedoch fährt man damit früher oder später gegen eine Wand. Doch auch das gehört zum Lernen dazu.
  • Nicht jede Meinung ist richtig, und das gilt auch für deine eigene.

Danke dir für deinen Kommentar! Ich habe ehrlich gesagt sehr viel Spaß beim programmieren. Natürlich bin ich noch ein Anfänger, was bedeutet, dass ich noch nicht viel programmieren kann.
Aber ich mache nach und nach kleine Fortschritte, was die Motivation auch höher antreibt.
Ich persönlich denke, dass grundsätzlich jeder programmieren lernen kann. Es ist alles eine Sache des lernens. Als ich mit dem Studium anfing konnte ich nur nen "Hallo Welt" Code schreiben. Nun habe ich ein kleinen Kalorienrechner geschrieben. Klar ist das nichts besonders. Aber so fängt man ja klein an. 😃

Ich möchte mich an dieser Stelle an allen bedanken, die ihre Meinung beigetragen haben. Und ganz besonders denen, die mich motiviert haben, =)

11.11.2018 - 18:21 Uhr

Alles gut. Nehme das nicht als Kritik auf, alles gut. =)

Ich meinte "mir liegen" ob ich dafür talentiert bin zu programmieren.
Ich lerne zurzeit sehr fleißig. Nur kommen manchmal Momente, wo ich mir denke: ,,ich verstehe das nicht! Bin ich zu dumm dafür? Ich glaube, ich werde das nie können!". Also die Gedanken kommen beim lernen, wenn ich was nicht verstehe.^^

Aber habe erfahren, dass es jedem trifft, der sich mit programmieren beschäftigt. Ist halt auch eine komplexe Programmiersprache. 😃

11.11.2018 - 17:39 Uhr

@Coder007

Hey! Ich bin noch ein Anfänger! Daher darf ich das! 😛

Ich habe ein Ziel! Ich möchte etwas bestimmtes programmieren können. Aber ich bin noch nicht soweit. Mein Ziel ist es einen Kalorientracker zu programmieren, womit ich meine Macros und Kalorien tracken kann. Natürlich nicht als Konsolenprogramm, wie ich es gemacht habe. Ich habe schon meine Vorstellungen. Bin aber gerade bei Objektorientierung. Ich habe leider nur einen Fernlehrer. Ich habe niemanden, der mir was vor Ort erklären kann. Daher ist es etwas schwerer für mich.

Zurzeit beziehen sich all meine Studienhefte auf Konsolenprogramme. Wenn ich das Thema Objektorientierung abgeschlossen habe, taste ich mich dem Windows Forms zu. Und dann geht es immer weiter. Aber habe irgendwie angst, dass ich nach dem Studium nicht so gut bin, wie es der Arbeitgeber möchte. 😦

11.11.2018 - 11:52 Uhr

@Alf

Danke dir für deinen Kommentar. Wie lange programmierst du schon, wenn ich fragen darf? =)

11.11.2018 - 10:42 Uhr

@T-Virus

Ich habe bereits mit C# angefangen und bin bei Objektorientierung.

Ich habe bislang einne Kalorienrechner geschrieben. Habe ein gemischtes Gefühl, ob es mir liegt oder nicht. Ich kann dir hier mal meinen Code posten, den ich für meinen Kalorienrechner verwendet habe.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Kalorienrechner_Mifflin_nytrec
{
    class Program
    {
        static int alter; //Klasse

        static double körpergröße, körpergewicht, ergebnis, ergebnis2; //Klasse
        static void Leistungsumsatz()
        {
            double zahlen, verbrauch = 0;
            Console.Write("Geben Sie Ihren Verbrauch ein: ");
            zahlen = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();
            verbrauch = ergebnis2 + zahlen;
            Console.WriteLine("Ihr Gesamtverbrauch beträgt: <--- {0} --->", (int) verbrauch);
            Console.WriteLine();
            Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
            Console.ReadKey();
            Console.WriteLine();
        }
        static void Gesamtumsatz()
        {
            int auswahl;
            
            Console.WriteLine();
            Console.WriteLine("Wählen Sie einen Palwert aus: ");
            Console.WriteLine();
            Console.WriteLine("1: [0,95] schlafen");
            Console.WriteLine("2: [1,2] nur sitzend oder liegend - Bsp: gebrechliche Menschen");
            Console.WriteLine("3: [1.4] sitzend, kaum körperliche Aktivität - Bsp: Büroarbeit am Schreibtisch");
            Console.WriteLine("4: [1.5] sitzend, kaum körperliche Aktivität - Bsp: Büroarbeit am Schreibtisch");
            Console.WriteLine("5: [1.6] überwiegend sitzend, gehend und stehen - Bsp: Studenten, Schüler, Taxifahrer");
            Console.WriteLine("6: [1.7] überwiegend sitzend, gehend und stehen - Bsp: Studenten, Schüler, Taxifahrer");
            Console.WriteLine("7: [1.8] hauptsächlich stehend und gehend -  Bsp: Hausfrauen, Kellner, Handwerker");
            Console.WriteLine("8: [1.9] hauptsächlich stehend und gehend -  Bsp: Hausfrauen, Kellner, Handwerker");
            Console.WriteLine("9: [2.0] körperliche anstrengide Arbeit - Bsp: Bauarbeiter, Landwirte, Bergarbeiter");
            Console.WriteLine("10: [2.1] körperliche anstrengide Arbeit - Bsp: Bauarbeiter, Landwirte, Bergarbeiter");
            Console.WriteLine("11: [2.2] körperliche anstrengide Arbeit - Bsp: Bauarbeiter, Landwirte, Bergarbeiter");
            Console.WriteLine("12: [2.3] körperliche anstrengide Arbeit - Bsp: Bauarbeiter, Landwirte, Bergarbeiter");
            Console.WriteLine("13: [2.4] körperliche anstrengide Arbeit - Bsp: Bauarbeiter, Landwirte, Bergarbeiter");
            Console.WriteLine();
            Console.Write("Eingabefeld: ");
            auswahl = Convert.ToInt32(Console.ReadLine());
            switch (auswahl)
            {
                case 1:
                    ergebnis2 = ergebnis * 0.95;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int) ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 2:
                    ergebnis2 = ergebnis * 1.2;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 3:
                    ergebnis2 = ergebnis * 1.4;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 4:
                    ergebnis2 = ergebnis * 1.5;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 5:
                    ergebnis2 = ergebnis * 1.6;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 6:
                    ergebnis2 = ergebnis * 1.7;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 7:
                    ergebnis2 = ergebnis * 1.8;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 8:
                    ergebnis2 = ergebnis * 1.9;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 9:
                    ergebnis2 = ergebnis * 2.0;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 10:
                    ergebnis2 = ergebnis * 2.1;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 11:
                    ergebnis2 = ergebnis * 2.2;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 12:
                    ergebnis2 = ergebnis * 2.3;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
                case 13:
                    ergebnis2 = ergebnis * 2.4;
                    Console.WriteLine("Ihr Gesamtumsatz beträgt: <--- {0} --->", (int)ergebnis2);
                    Console.WriteLine();
                    Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
                    Console.ReadKey();
                    Console.WriteLine();
                    break;
            }
        }
        static void GrundumsatzMann()
        {
            Console.WriteLine();
            Console.Write("Geben Sie Ihr Alter ein: ");
            alter = Convert.ToInt32(Console.ReadLine());
            Console.Write("Geben Sie Ihre Körpergröße ein: ");
            körpergröße = Convert.ToInt32(Console.ReadLine());
            Console.Write("Geben Sie Ihre Körpergewicht ein: ");
            körpergewicht = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();
            ergebnis = (9.99 * körpergewicht) + (6.25 * körpergröße) - (4.92 * alter) + 5;
            Console.WriteLine("Ihr Grundumsatz beträgt: <--- {0} --->", (int) ergebnis);
            Console.WriteLine();
            Console.Write("Drücken Sie auf eine beliebige Taste, um fortzufahren: ");
            Console.ReadKey();
        }
        static void GrundumsatzFrau()
        {
            Console.WriteLine();
            Console.Write("Geben Sie Ihre Alter ein: ");
            alter = Convert.ToInt32(Console.ReadLine());
            Console.Write("Geben Sie Ihre Körpergröße ein: ");
            körpergröße = Convert.ToInt32(Console.ReadLine());
            Console.Write("Geben Sie Ihre Körpergewicht ein: ");
            körpergewicht = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine();
            ergebnis = (9.99 * körpergewicht) + (6.25 * körpergröße) - (4.92 * alter) - 161;
            Console.WriteLine("Ihr Grundumsatz beträgt: <--- {0} --->",  ergebnis);
            Console.WriteLine();
        }
        static void Grundumsatzauswahl()
        {
            int geschlecht;
            Console.WriteLine("Geben Sie ihr Geschlecht ein:");
            Console.WriteLine();
            Console.WriteLine("1: Männlich");
            Console.WriteLine("2: Weiblich ");
            Console.WriteLine();
            Console.Write("Eingabefeld: ");
            geschlecht = Convert.ToInt32(Console.ReadLine());
            switch (geschlecht)
            {
                case 1: GrundumsatzMann(); break;
                case 2: GrundumsatzFrau(); break;
            }
        }
        //Mifflin-Formel by nytrec
        static void Main(string[] args)
        {
            //Variablen und Zuweisungen
            int auswahl;

            alter = 0;  körpergröße = 0; körpergewicht = 0;  ergebnis = 0;
            ergebnis2 = 0;
            
        

            Console.WriteLine("-----> Mifflin-Formel by nytrec <-----");
            Console.WriteLine();
            do
            {
                Console.WriteLine("Was möchten Sie tun?: ");
                Console.WriteLine();
                Console.WriteLine("1: Grundumsatz berechnen");
                Console.WriteLine("2: Gesamtumsatz berechnen");
                Console.WriteLine("3: Gesamtumsatz mit Leistungsumsatz berechnen");
                Console.WriteLine();
                Console.WriteLine("0: Programm beenden");
                Console.WriteLine();
                Console.Write("Sie entscheiden sich für: ");
                auswahl = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine();
                switch (auswahl)
                {
                    case 1: Grundumsatzauswahl(); break;
                    case 2: if (ergebnis == 0)
                            {
                            Console.WriteLine("Sie haben noch keinen Grundumsatz berechnet!");
                            Console.WriteLine();
                            }
                        else
                            Gesamtumsatz(); break;
                    case 3: if (ergebnis2 == 0)
                        {
                            Console.WriteLine("Sie haben Ihren Gesamtumsatz noch nicht berechnet!");
                            Console.WriteLine();
                        }
                        else
                            Leistungsumsatz();
                        break;

                }
            } while (auswahl > 0);
        }
    }
}

Wie gesagt, bin ich bei Objekorientierung, welches etwas kniffliger ist, als so ein Kalorienrechner.
Bist du der Meinung, dass jemand, der nicht für sowas geeignet ist, so einen Code schreiben kann?

Und ja, ich suche Motivation. Ich will halt wissen, ob es Leute gibt, die solche Gedanken hatten, wie: ,,Bin ich dafür geeignet? Ich verstehe gerade nichts!" und es dann trotzdem weit geschafft haben. Mir ging es nur darum! 😃

10.11.2018 - 21:13 Uhr

Als ich mit der Softwareentwicklung angefangen habe hatte ich das natürlich öfter 😃
Mit wachsender Erfahrung kommt sowas viel seltener vor.

Wenn Du Spaß am Programmieren und am "Programme erschaffen" hast, dann kommt der Rest ganz von allein.

You made my day! Endlich ein Post, der meiner Seele besonders gut tut.
Ich lese seit Tagen irgendwelche Artikeln, um mich zu motivieren. Solche Sätze wie "Du musst talentiert" sein, frustriert einen einfach. Vielen Dank!

09.11.2018 - 13:32 Uhr

Hallo ihr lieben Programmierer.

Ich habe eine Frage, die ich mir seit heute stelle.

Muss man fürs programmieren talentiert sein?

Ich stelle diese Frage, weil ich selbst an mir zweifle, ob ich das jemals gut beherrschen werde.

Wie war das denn bei euch? Wie lange habt ihr gebraucht, dass zu können? Hattet ihr auch solche Phasen wie: ,,Verstehe ich gerade nicht!". Manchmal zebreche ich mir beim lernen den Kopf. Dann nach Stunden oder Tage kommt mir dann ein Geistesblitz und denke mir: ,,aha, so geht das!".

Mein Fernlehrer ist der Meinung, dass man da ein gewisses Talent braucht.

Nachdem der Satz gefallen ist, zebreche ich mir wegen dem Satz meinen Kopf. 😦

02.10.2018 - 17:00 Uhr

Danke erst einmal für eure Antwoten. Habe jetzt noch eine Frage. Könnt ihr mir ein Buch empfehlen, wo ich die Grundlagen am besten lernen kann? Ich lerne viel lieber mit nem Buch, als Online im Internet. Wäre gut, wenn ihr mir einen Link geben könntet. =)

01.10.2018 - 17:50 Uhr

Vielen Dank erst mal für die Antworten und die Links. Habe den Link natürlich gespeichert.

Nur hätte ich mich trotzdem mehr gefreut, wenn jemand meine Frage vollständig (mit eigenen Worten) beantwortet hätte. 😃

01.10.2018 - 12:40 Uhr

Hallo Leute.

Was ist der Unterschied zwischen "public void" und "static void"?

oder "public static int" und "static int"?

Habe mir nochmals die Grundlagen angeguckt, aber blicke da momentan nicht durch.

X(

28.07.2017 - 11:06 Uhr

Habs nun verstanden, vielen Dank. 👍 🙂

27.07.2017 - 21:37 Uhr

Guten Abend zusammen.

Ich benötige unbedingt eure Hilfe. Ich versuche zurzeit einen Code logisch durch den Kopf zu gehen und blicke da bei einer Sache nicht so durch. Zunächst einmal der Code:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            int index = 0;
            int zaehler = 0;
            string zKette;
            char zeichen;

            Console.Write("Geben Sie eine Zeichenkette ein: ");
            zKette = Console.ReadLine();

            Console.Write("Nach welchem Zeichen soll gesucht werden?");
            zeichen = Convert.ToChar(Console.ReadLine());

            index = zKette.IndexOf(zeichen);

            while (index >=0)
            {
                index++;
                zaehler++;
                index = zKette.IndexOf(zeichen,index);
            }
            Console.WriteLine("\nIn der Zeichenkette {0} kommt {1} {2} Mal vor.", zKette, zeichen, zaehler);
        }
    }
}

Durch die Anweisung "index = zKette.IndexOf(zeichen)" wird ja erst einmal überprüft, ob das gesuchte Zeichen vorhanden ist. Nehmen wir mal die Zeichenkette "Otto" und suchen das Zeichen t. Dieser ist vorhanden und es wird die Schleife aktiviert. Da 1 t vorhanden ist, wird **index **und **zaehler **um 1 erhöht. Was mich jetzt irritiert ist die Anweisung
index = zKette.IndexOf(zeichen,index);. In den Klammern ist diesmal ein **Index **vorhanden. Grundsätzlich sucht man ein Zeichen in der **IndexOf **Anweisung. Warum wird in den Klammern nun **Index **ausgeführt? Ich blicke das ganze noch nicht so logisch durch. Könnt ihr mir das ganze Step für Step detailiert erklären? ?(

14.06.2017 - 21:13 Uhr

Jopp, verstanden. Thx 🙂 👍

14.06.2017 - 20:42 Uhr

Ihr seid Crazy, Jungs! Vielen Dank! Bei mehreren Anweisungen muss man also nen Block anwenden. 😁 👍

Darf ich euch noch eine Frage stellen? Es geht nochmals um diesen Code hier:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp20
{
    class Program
    {
        static void Main(string[] args)
        {
            int eingabe, schleife = 0;
            while (schleife <= 1)
            {
                Console.WriteLine("Was möchten Sie tun?");
                Console.WriteLine();
                Console.WriteLine("Rechnen");
                Console.WriteLine("Programm beenden!");
                Console.WriteLine();

                eingabe = Convert.ToInt32(Console.ReadLine());
                if (eingabe == 1)
                {
                    Console.WriteLine("Dann rechnen Sie 10 + 5"); break;
                }
                else if (eingabe == 2)
                {
                    Console.WriteLine("Programm wird beendet!"); break;
                }
                else
                {
                    Console.WriteLine("Sie müsseen sich für 1 oder 2 entscheiden!");
                    Console.WriteLine();
                    continue;
                }

            }
            schleife++;

        }
    }
}


Wenn ich die Anweisung schleife++ unterhalb der else Anweisung einfüge (unter dem Schweif), beschwert sich der Compiler mit der Message: Unerreichbarer Code wurde entdeckt.

Bei vielen Übungsaufgaben, die ich bereits gemacht habe, war es so, dass sich die Anweisung noch innerhalb der Schleife befand.
Also:


else
                {
                    Console.WriteLine("Sie müsseen sich für 1 oder 2 entscheiden!");
                    Console.WriteLine();
                    continue;
                }
                schleife++

Warum muss ich nun die Anweisung außerhalb der Schleife anwenden? 🙂

14.06.2017 - 19:47 Uhr

Vielen Dank erstmal, dass du dir Mühe machst, mir zu antworten. 👍

Also, meine Frage war allgemein: Wann muss ich genau einen Anweisungsblock anwenden?

Für die For-Schleife ist es zum Beispiel notwendig einen Anweisungsblock anzuwenden, damit er die Schleife durchlaufen kann. Der 2te Code hatte nichts mit dem ersten zu tun. Meine Frage zielte darauf ab, warum ich einen Anweisungsblock anwenden muss, damit ich einen Break anwenden kann.

😁

14.06.2017 - 19:32 Uhr

Die zweite Schleife ist eine While-Schleife. Die Geschichte mit der for-Schleife bezog sich auf den ersten Code. Und das mit der Break ist doch nicht dein ernst?^^

14.06.2017 - 18:54 Uhr

Hallo Leute. 🙂

Ich habe hier im Forum gelesen, dass das anwenden von einem Anweisungblock, eine Sache des Stils ist. Doch beim programmieren scheint es bei einigen Sachen nicht so zu sein.

Wenn ich zum Beispiel eine for-Schleife ohne Anweisungsblock schreibe:


for (int i = 1; i <= 5; i++)
Console.Write("Geben Sie die {0}. Zahl ein: ", i);

Wird in der Console 5 mal hintereinander der Text *Geben Sie die die X Zahl ein: ausgeführt. Gibt man das ganze mit einem Anweisungsblock ein, wird das ganze wie gewollt 1mal in einer Schleife ausgeführt.

Auch in diesem Code wird ein Anweisungsblock für eine break Anweisung verlangt:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp20
{
    class Program
    {
        static void Main(string[] args)
        {
            int eingabe, schleife = 0;
            while (schleife <= 1)
            {
                Console.WriteLine("Was möchten Sie tun?");
                Console.WriteLine();
                Console.WriteLine("Rechnen");
                Console.WriteLine("Programm beenden!");
                Console.WriteLine();

                eingabe = Convert.ToInt32(Console.ReadLine());
                if (eingabe == 1)
                {
                    Console.WriteLine("Dann rechnen Sie 10 + 5"); break;
                }
                else if (eingabe == 2)
                {
                    Console.WriteLine("Programm wird beendet!"); break;
                }
                else
                {
                    Console.WriteLine("Sie müsseen sich für 1 oder 2 entscheiden!");
                    Console.WriteLine();
                    continue;
                }
                
            }
            schleife++;
            
        }
    }
}

Ich verstehe nicht genau, warum man das jetzt einsetzen muss. In meinen Studienheften wird das gar nicht erklärt oder ich habe da was übersehen. Könnt ihr mir das ausführlich erklären? ?(

15.03.2017 - 14:26 Uhr

Mit dem Index sagst du, welche Stelle in dem Array du adressierst. "Schreib mir bitte xyz an genau die Stelle im Array".

Okay, habs nun gepeilt, danke! 😁

15.03.2017 - 13:55 Uhr

Hallo Leute.

Bin neu in der Programmier-Szene. Mache seit Beginn Januar ein Fernstudium als C# Softwareentwickler, was mir auch sehr viel Spaß macht. Doch werden in den Studienheften das ein oder andere nicht wirklich gut erklärt, was mich dazu bewegte, mich hier anzumelden. 🙂

Wie oben im Titel erwähnt, geht es um das Thema Array und Schleifen.

Und zwar verstehe ich eine Kleinigkeit noch nicht genau. Es geht hier um diesen Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] zahlen = new int[6];

            for (int index = 0; index < 5; index++)
            {
                Console.Write("Geben Sie die {0}. Zahl ein: ", index + 1);
                zahlen[index] = Convert.ToInt32(Console.ReadLine());
            }
            for (int index = 0; index < 5; index++)
                Console.WriteLine("Das Quadrat {0} ist {1}", zahlen[index], zahlen[index] * zahlen[index]);
        }
    }
}

Meine Frage: Warum muss hinter dem Int zahlen noch das [index] hinzugefügt werden? Bedeutet das, dass der Array mit dem Index verknüpft wird? Habe da nen kleinen *Ich blick da gerade nicht durch* Moment. 😁