Ankündigung

Einklappen
Keine Ankündigung bisher.

User helfen Usern - Informatik

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    User helfen Usern - Informatik

    Yo Community, muss bis 18 Uhr ein Programm per Mail verschicken und weiß teilweise nicht wie ich es richtig schreiben soll. Aufgabenstellung ist so: VISUAL BASIC


    Es soll ein kleines Programm zur Kalkulation einer Klassenfahrt erstellt werden.
    Der Anwender gibt den Zeitraum von … bis … ein, in der die Fahrt stattfinden soll, sowie die Anzahl der
    Personen (getrennt nach Schülern und Begleitpersonen), die an der Fahrt teilnehmen!
    Je 10 Schüler ist eine Begleitperson frei (betrifft nur Übernachtung ohne Frühstück).
    Darüber hinaus kann das Transportmittel Bahn (5 € je km und Person) oder Bus (6 € je km und Person) gewählt werden.

    Für die Übernachtungen stehen
    Übernachtung Frühstück
    • Jugendherberge 15,00 € 3,00 €
    • Pension 18,00 € 4,00 €
    • Hotel 20,00 € 6,00 €
    wahlweise mit und ohne Frühstück zur Verfügung.

    Bitte berechnen Sie die Gesamtkosten der Klassenfahrt und die Kosten je Schüler und je Begleitperson!


    Erweiterungen der Aufgabenstellung:
    • In der Kopfzeile des Formulars soll „KlassenKalk+ – [aktuelles Datum]“ stehen.
    • Als Vorschlagswert für das Bis-Datum soll das Von-Datum plus 7 Tage automatisch eingetragen
    werden.
    • Laden Sie passende Testdaten beim Start des Programms.
    Randbedingungen
    • Gestalten Sie das Formular gemäß der Aufgabestellung.
    • Alle Währungsbeträge sollen in Euro und mit 2 Nachkommastellen ausgegeben werden.
    • Fehler des Programms sollen über eine Fehlerbehandlung abgefangen werden.
    • Das Programm soll über eine Schaltfläche beendet werden können. Ferner sollen über eine
    weitere Schaltfläche alle Ein- und Ausgaben gelöscht werden können!



    Hoffe mir kann jemand helfen ;) und sagen, wie man es evtl. machen könnte

    hade lan peter pan
    RoxOn

    #2
    Sprache?
    Scheiterst du an der Syntax oder am logischen Verständnis?
    Was hast du bis jetzt?

    Kommentar


      #3
      Sollte mit Java relativ einfach zu bewerkstelligen sein

      Kommentar


        #4
        mit c# einfacher da datum besser verarbeitet werden kann

        Kommentar


          #5
          das fällt dir ja richtig früh ein.

          Kommentar


            #6
            sorry Visual Basic natürlich ;)

            Hab grob bisher

            Try


            'Deklaration

            Dim intSchüler As Integer
            Dim intBegleiter As Integer
            Dim datvon As Integer
            Dim datbis As Integer
            Dim decKM As Decimal
            Dim decGkosten As Decimal
            Dim decReisekosten As Decimal
            Dim datZeitraum As Integer
            Dim intÜberkosten As Decimal



            'Variablenübergabe

            intSchüler = txtPerso.Text
            intBegleiter = txtBegleit.Text
            datbis = txtBis.Text
            datvon = txtVon.Text
            decKM = txtKM.Text

            'Verarbeitung

            If rdbBahn.Checked Then
            decReisekosten = decKM * 5 * (intBegleiter + intSchüler)
            If rdbBus.Checked Then
            decReisekosten = decKM * 6 * (intBegleiter + intSchüler)
            End If
            End If

            datZeitraum = datbis - datvon

            If rdbHotel.Checked Then
            intÜberkosten = datZeitraum * 26 * (intBegleiter + intSchüler)
            If rdbPansion.Checked Then
            intÜberkosten = datZeitraum * 22 * (intBegleiter + intSchüler)
            If rdbJHberge.Checked Then
            intÜberkosten = datZeitraum * 22 * (intBegleiter + intSchüler)
            End If

            decGkosten = intÜberkosten + decReisekosten

            End If
            End If



            'Ausgabe

            txtÜberKosten.Text = intÜberkosten
            txtRKosten.Text = decReisekosten
            txtGkosten.Text = decGkosten


            Catch ex As Exception

            End Try


            Kommentar


              #7
              push plz sry doppelpost

              Kommentar


                #8
                Ich pushe den Thread mal. Habe in der Uni als Wing'ler dieses Semester so einige Informatikvorlesungen bekommen, unter anderem auch Einführung in die Programmierung, bei der wir mit Visual Basic arbeiten.

                Wir haben jetzt eine Aufgabe bekommen, mit der ich prinzipiell auch ganz gut klar komme, allerdings weiß ich mit einem Hinweis nichts anzufangen und daran scheitert bis jetzt auch die Umsetzung, weil der Compiler an der Stelle immer noch Fehlermeldungen raus haut, vielleicht kann mir einer von euch helfen und das ein wenig erklären.

                Spoiler: 

                Option Explicit On
                Option Strict On

                Imports System.Console
                Imports Microsoft.VisualBasic



                Module Module1


                Sub Main()

                'Deklarationsteil'

                Const Faktorzinsbetrag1 as Single = 0.8

                Dim Anfangsschulden as Single
                Dim Rückzahlbetrag as Single
                Dim Restschuld1 as Single
                Dim Restschuld2 as Single
                Dim Einzahlung as Single
                Dim Leitzins as Single
                Dim Faktorzinsbetrag as Single
                Dim Zinsenaktuell as Single
                Dim Zinsenaktuell1 as Single
                Dim prozentrestschuld as Integer


                'Programmteil'

                Writeline("Wie viel Euro wollen sie sich leihen [Eur] ?")
                Anfangsschulden = CSng (Readline())

                Writeline("Auf wie viel Prozent wurden die Zinsen festgesetzt [%] ?")
                Leitzins = CSng (ReadLine())



                Zinsenaktuell1 = Faktorzinsbetrag1 * Leitzins
                Restschuld1 = Zinsenaktuell1 * Anfangsschulden
                Write ("Restschuld:")
                Writeline (Restschuld1)

                Writeline ("Wie viel Geld wollen sie einzahlen, um die Schuld zu tilgen?")
                Rückzahlbetrag = CSng (Readline() )

                Restschuld2 = Restschuld1 - Rückzahlbetrag

                While Restschuld2 < 1

                prozentrestschuld = CInt (Restschuld2 / Anfangsschulden * 100)

                Select Case prozentrestschuld

                case prozentrestschuld > 100
                Faktorzinsbetrag = 0.7

                case prozentrestschuld = 100
                Faktorzinsbetrag = 0.8

                case prozentrestschuld 90 To 99
                Faktorzinsbetrag = 0.85

                case prozentrestschuld 50 To 90
                Faktorzinsbetrag = 0.9

                case prozentrestschuld = 50
                Faktorzinsbetrag = 1.0

                case prozentrestschuld 20 To 50
                Faktorzinsbetrag = 1.1

                case prozentrestschuld 10 To 19
                Faktorzinsbetrag = 1.2

                case prozentrestschuld 5 To 9
                Faktorzinsbetrag = 1.4

                case prozentrestschuld < 5
                Faktorzinsbetrag = 1.5

                case else
                prozentrestschuld = 0

                End Select


                Zinsenaktuell = Faktorzinsbetrag * Leitzins


                Restschuld2 = Zinsenaktuell * Restschuld2
                Write ("Restschuld:")
                Writeline (Restschuld2)

                Writeline ("Wie viel Geld wollen sie einzahlen, um die Schuld zu tilgen?")
                Rückzahlbetrag = CSng (Readline() )

                Restschuld2 = Restschuld1 - Rückzahlbetrag


                End While



                Und zwar gibt der Compiler immer Fehlermeldungen in der Select-Case-Anweisung und will irgendwas mit CInt darin haben oder so... verstehe ich nicht ganz, vllt kann mir an der Stelle jemand weiterhelfen, danke.

                Kommentar


                  #9
                  ich pushe nochmal :)

                  Kommentar


                    #10
                    hast Prozentrestschuld evtl. falsch übergeben? oder kann man es evtl. garnicht in das datenfeld weitergeben?

                    Kommentar


                      #11
                      habe vb nicht gelernt, aber da du prozentrestschuld mit select schon "ausgewählt hast für die case abfrage musst du das dort nciht nochmal amchen
                      glaube das geht mit "case Is < 100
                      sicher ist allerdings wenn dus einfach mit if else machst, also jede abfrage des select case in einen else if zweig einbettest

                      edit: http://msdn.microsoft.com/de-de/library/cy37t14y%28VS.80%29.aspx
                      soltle also stimmen was oben steht :P

                      Kommentar


                        #12
                        ahhh danke, das macht Sinn. Ich hab das Programm leider nicht hier auf dem PC, werde es morgen im Rechenzentrum aber direkt mal ausprobieren :)

                        Danke schon mal.

                        Kommentar


                          #13
                          Schreibe morgen eine Arbeit über Schleifen in Visual Basic...

                          müssen wohl Do While, Do Until können, kann mir jemand ne kurze zusammensetzung geben was wichtig ist?

                          zudem kommen Listboxen mit denen wir rechnen müssen, wenn jemand darüber ahnung hat, wie man das strukturieren muss, kann er auch gerne dazu was schrieben :>

                          Kommentar


                            #14
                            PUSH###

                            ich versteh einen teil dieses quicksorts codes nicht
                            [spoiler][quote]
                            public class QuickSorter
                            {
                            private int[] a;
                            private int n;

                            public void sort(int[] a)
                            {
                            this.a=a;
                            n=a.length;
                            quicksort(0, n-1);
                            }

                            private void quicksort (int lo, int hi)
                            {
                            int i=lo, j=hi;

                            // Vergleichs*element x
                            int x=a[(lo+hi)/2];

                            // Aufteilung
                            while (i

                            Kommentar


                              #15
                              Die beiden Arrayelemente a[i] und a[j] werden getauscht.

                              Kommentar

                              Lädt...
                              X