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
Visual Studio Fehlercode 0x8000000A?

Hallo,

vorab entschuldige ich mich für meine vielleicht falschen Beschreibung, bin noch ein ziemlicher Anfänger was Programmier- und Designoberflächen betrifft. Ich versuche momentan ein Projekt, das mit Visual Basic 2010 erstellt wurde und aufgebaut wurde, mit der aktuellen Version von Visual Basic (Community 2015) zu laden. Das Laden des Projekts funktioniert zunächst auch einwandfrei, allerdings enthält das Projekt eine Designoberfläche, über die ich z.B. das Licht an- und ausschalten sollen könnte. Wenn ich versuche diese Oberfläche aufzurufen, erscheint immer folgende Fehlermeldung:

Die für diesen Vorgang erforderlichen Daten sind noch nicht verfügbar. (Ausnahme von HRESULT: 0x800000A)

Die Aufrufliste zeigt folgendes an:

bei Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider() bei Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider() bei Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit() bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

Weiß jemand woran das liegt? Ich habe schon versucht das Projekt mit Visual Basic 2012 zu öffnen, das .NET Framework aktualisiert, alle Visual C++ Redistributables die neuer als die 2010 Version sind deinstalliert und auch alle schon neu installiert. Außerdem habe ich sowohl bei meinem PC als auch auf meinem Laptop dieselbe Fehlermeldung, weshalb ich irgendwelche Komplikationen mit Fremdprogrammen o.ä. beinahe ausschließen kann.

Gruß

P.S.: Ich benutze Windows 7 64bit

Microsoft, Designer, programmieren, Visual Studio, Fehlermeldung
Visual Basic 2013 .CSV datei auslesen und editieren

Hallo zusammen, ich möchte, wie im titel schon sichtlich, einfach eine .csv Datei auslesen und diese auch bearbeiten können. Die CSV-Datei ist mit , getrennt und würde z.B. so aussehen:

"Name","TID","Resource","Percentage","Icon","IconExportName"
"String","String","String","int","String","String"
"Min","TID_RESOURCE_10","XP",10,"ic/custom.sc","icon_xp_small"
"Keks","TID_RESOURCE_50","XP",50,"ic/custom.sc","icon_xp_medium"
"Max","TID_RESOURCE_FULL","XP",100,"ic/custom.sc","icon_xp_big"

Das ist nun ein Beispiel welches alle möglichen formen beinhaltet, die ich benötige. Getrennt mit , und Werte innerhalb von " aber auch ohne!

Jetzt bleibt nur die Frage, wie lese ich diese beispiel.csv aus und kann sie in meiner Form bearbeiten?! (Der Pfad wird natürlich einfach bestimmt "C:\CSV-DateiOrdner\csvdatei.csv")

Zeile 1 gibt die Namen der darunter aufgelisteten werte an und somit auch die gerde benötigten Spalten. Zeile 2 kann einfach ignoriert werden oder als ToolTip über die ersten Werte (Titel) gelegt werden. (Zur not kann man die auch mit in die Tabelle einbinden - die höhe dieser Zellen kann man ja verkleinern und als untertitel bezeichnen) Die Restlichen Zeilen geben natürlich jeweils den rest an, also die Werte der zum Titel gehörigen option/Spalte.

Ich hoffe ich habe nun nichts vergessen zu sagen und es ist verständlich genug. Ich bin dankbar für Codes &-beispiele oder auch vernünftige Tutorials.

(Keine aussagen wie " Nimm DataGridView und machs mit StreamReader" oder so ein Zeug !!! Wenn ich mir "denken" könnte wie es geht, würde ich nicht nach code beispielen o.ä. fragen.)

Gruß Patrick.

Visual Basic, programmieren, vb, Visual Studio, csv, Edit
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
Wörterbuch programmiern in C

Hallo. :)

Ich hoffe von euch kann mir jemand meinen Fehler sagen. Ich soll nämlich ein Wörterbuch programmiern und wenn ich ein Wort eingeben, das ich in der Datenbank schon eingespeichter habe, funktioniert alles. Aber, wenn ein Wort kommt, dass noch nicht gespeichert ist, schmeißts mich immer raus. >.> ...eigentlich sollte eine Anfrage kommen, ob man das Wort speichern will...

also hier mal das Programm:

include<stdio.h> include<conio.h> include<string.h> define MAX 100

typedef struct woerterbuch {

char wort[30+1];
char word[30+1];

}Buch;

void main() { int i=0; char search[20]; char suchen[20]; int zahl, gefunden=1, x=0; Buch liste[MAX]={"Hallo", "hello", "Auto", "car", "Sonne", "sun"};

printf("Geben Sie ein, ob Sie von Englisch auf Deutsch (1) oder von Deutsch auf Englisch (2) uebersetzen wollen! ");
scanf("%d", &zahl);

if(zahl==1)
{
    printf("\nGeben Sie ein englisches Wort ein, das Sie uebersetzen wollen! ");
    scanf("%s", search);

    do
    {   
        if(strcmp(search, liste[i].word)==0)
        {
            printf("Deutsch: %s ", liste[i].wort);
            x=1;
            gefunden=0;
        }

        i++;

    }while(x!=1);

    if(gefunden==1)
    {
        printf("\nIhr Wort ist nicht in der Datenbank enthalten!");
        /*printf("\nWenn Sie das Wort in die Datenbank hinzufügen wollen, drücken sie 1.");
        scanf("%d", add);

        if(add==1)
        {
            printf("Das deutsche Wort: ");
            scanf("%s", liste[i+1].wort);

            printf("Das englische Wort: ");
            scanf("%s", liste[i+1].word);
        }*/
    }
}

else
{
    printf("\nGeben Sie ein deutsches Wort ein, das Sie uebersetzen wollen! ");
    scanf("%s", suchen);

    do
    {   
        if(strcmp(suchen, liste[i].wort)==0)
        {
            printf("Englisch: %s ", liste[i].word);
            gefunden++;
            x=1;
        }
    i++;

    }while(x!=1);

    if(gefunden==1)
    {
        printf("\nIhr Wort ist nicht in der Datenbank enthalten!");
    }
}

getch();

}

Vielleicht kann mir hier jemand helfen. ? :)

Danke, schonmal im voraus. :)

P.S: und bitte keine Kommentare zum Stil oder sonst was...bin nicht das größte Genie im Programmiern, das weiß ich selber. :)

programmieren, Visual Studio

Meistgelesene Beiträge zum Thema Visual Studio