C Sharp – die neusten Beiträge

c# bmi rechner mit absoluter zahl korrektes Ergebnis, mit Variable falsch warum?

Habe folgendes Problem, das hier ist der aus dem Code entscheidende Tei.. ich habe auch mal Schritt für Schritt alles durchlaufen lassen um alles nachzuvollziehen, komme aber immer noch nicht weiter.

Folgende Werte werden eingegeben, wie in dem Kommentar teil beschrieben:

Größe = 150cm

Gewicht = 45kg somit käme genau ein bmi von 20 raus da 1,5³ = 2,25 und 45 / 2,25 = 20

allerdings erscheint im textlabel 3 also der Ausgabezelle nach dem Klick auf den Button immer genau der Wert, den ich in das Gewichtsfeld eingetragen habe.

Wenn ich jedoch ((groesse / 100) * (groesse / 100)) durch 2.25 mal zu testzwecken manuell ersetze kommt das korrekte Ergebnis von 20 raus.

ich habe es auch schon mit zwischenschritten probiert. (groesse erst im meter umrechen, dann schon quadrieren und in der Ergebnisformal habe ich dann genauso wie bei dem Zahlenwert 2.25 nur eben als Variablenwert stehen, wie man es noch an den Variablen Deklarationen erkennen kann.

 private void button2_Click(object sender, EventArgs e)
    {
        int groesse;
        double groessem;
        double groessequadrat;

        double gewicht; 
        double bmi;
        
        groesse = int.Parse(textBox1.Text);
        gewicht = double.Parse(textBox2.Text);
        bmi = gewicht / ((groesse / 100) * (groesse / 100)); //20bmi = 45kg / ((150cm / 100) * (150cm / 100)) = [warum 45] 
        label3.Text = bmi.ToString(); 
    }

hat jemand eine Idee, war hier der Fehler sein könnte?

programmieren, absolut, C Sharp, Visual Studio, Variablen

C# : Zeilen auslesen und in Textdatei schreiben

Mein Programm funktioniert nicht...ich habe 4 Textdateien, die jeweils etwa 300 Zeilen mit nur einer kurzen Info je Zeile (Zb. Name), wobei Zeile 1 aus jeder Datei im Zusammenhang steht.

Nun brauche ich eine weitere Textdatei, die Zeile 1 aus Datei 1,2,3 und 4 nimmst und in einen kleinen Abschnitt schreibt. Dann Zeile 2 aus Datei 1,2,3 und 4 und einen weiteren Abschnitt mit den Infos

Mein Code bisher (C#, Windows Forms):

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.IO;

using System.Text;

using System.Threading;

using System.Linq;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Programm4 : Form
{
    public Programm4()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        string pathOU = textBox1.Text;
        string pathCN = textBox2.Text;
        string pathVorname = textBox3.Text;
        string pathNachname = textBox4.Text;
        string pathNeu = textBox5.Text;
        string[] OUs = File.ReadAllLines(pathOU);
        string[] CNs = File.ReadAllLines(pathCN);
        string[] Vornamen = File.ReadAllLines(pathVorname);
        string[] Nachnamen = File.ReadAllLines(pathNachname);
        string[] FertigeDatensätze;

        for (int i = 0; i < OUs.Count(); i++)
        {
            FertigeDatensätze[i] = "dn: cm=" + CNs[i] + ",ou=" + OUs[i] + ",ou=Extern,o=CLAAS\nobjectClass: Top\nobjectClass: claasUserExtension\nobjectClass: Person\nobjectClass: inetOrgPerson\nobjectClass: organizationalPerson\nobjectClass: ndsLoginProperties\nclaasUserType: extern\nmail: " + CNs[i] + "\ngivenName: " + Vornamen[i] + "\nfullName: " + Vornamen[i] + " " + Nachnamen[i] + "\nsn: " + Nachnamen[i] + "\nclaasApplRoleNames: cn=CDEX_EXTERN,ou=CDEX,ou=EBApps,o=CLAAS\nPassword: \n\n";
        }
        File.WriteAllText(pathNeu, FertigeDatensätze);
    }
}

}

Bild zum Beitrag
Computer, Microsoft, Windows 7, Programm, programmieren, C Sharp, Visual Studio

Gesamtes Verzeichnis im C# kopieren

Hallo, Ich programmiere schon einige zeit in "Microsoft Visual C# 2010 Express". Doch jetzt bin ich auf folgendes Problem gestoßen: Ich möchte einen ganzen Ordner (mit Unterordner, Dateien, ... Einfach alles im Ordner!) kopieren, doch mein Code (unten) erstellt immer ein weiteres Unterverzeichnis...

Also zum Beispiel: "C:/User/Myname/AppData/MyFolder/sourceFolder"

soll nach: "C:/User/Myname/AppData/MyFolder/targetFolder"

KOPIERT werden (Dadurch nützt mir die Anweisung System.IO.Directory.Move nichts)

Doch er kopiert das ganze nach: "C:/User/Myname/AppData/MyFolder/targetFolder/sourceFolder"

Was muss ich bei dem Code ändern??

Hier ist der Code:

   private void CopyDirectoryWithIncludedFiles(string dirCopySource, string dirCopyTarget)
    {
        // alle Unterverzeichnisse des aktuellen Verzeichnisses ermitteln
        string[] subDirectories = Directory.GetDirectories(dirCopySource);

        // Zielpfad erzeugen
        StringBuilder newTargetPath = new StringBuilder();
        {
            newTargetPath.Append(dirCopyTarget);
            // Diese Zeile Erstellt einen Ordner im Zielordner: (Kann leider nicht entfernt werden!)
            newTargetPath.Append(dirCopySource.Substring(dirCopySource.LastIndexOf(@"\")));

        }

        // wenn aktueller Ordner nicht existiert -> ersstellen
        if (!Directory.Exists(newTargetPath.ToString()))
            Directory.CreateDirectory(newTargetPath.ToString());


        // Unterverzeichnise durchlaufen und Funktion mit dazu gehörigen Zielpfad erneut aufrufen (Rekursion)
        foreach (string subDirectory in subDirectories)
        {
            string newDirectoryPath = subDirectory;

            // wenn ''/'' an letzter Stelle dann entfernen
            if (newDirectoryPath.LastIndexOf(@"\") == (newDirectoryPath.Length - 1))
                newDirectoryPath = newDirectoryPath.Substring(0, newDirectoryPath.Length - 1);

            // rekursiever Aufruf
            CopyDirectoryWithIncludedFiles(newDirectoryPath, newTargetPath.ToString());
        }


        // alle enthaltenden Dateien des aktuellen Verzeichnisses ermitteln
        string[] fileNames = Directory.GetFiles(dirCopySource);
        foreach (string fileSource in fileNames)
        {
            // Zielpfad + Dateiname
            StringBuilder fileTarget = new StringBuilder();
            {
                fileTarget.Append(newTargetPath);
                fileTarget.Append(fileSource.Substring(fileSource.LastIndexOf(@"\")));
            }

            // Datei kopieren, wenn schon vorhanden überschreiben
            File.Copy(fileSource, fileTarget.ToString(), true);
        }
    }

Bitte helft mir! Brauche das ganz dringend!

PC, Computer, Programm, C Sharp, Visual Studio

Meistgelesene Beiträge zum Thema C Sharp