C# :: Aufgabe #206 :: Lösung #2
4 Lösungen

#206
Kilometerrechner mit Erstattungsbetrag
Anfänger - C#
von syneex
- 15.05.2018 um 16:30 Uhr
Guten Tag,
die heutige Aufgabe ist:
einen "Kilometerrechner" zu programmieren, der Die Differenz zwischen Anfangs-, und Endstand eines Tachos ausgeben kann und pro Kilometer dem Fahrer einen gewissen Betrag erstattet.
Design:
Wie im Anhang beigefügt sollen Sie ein Windows Forms Programm erstellen, welches jeweils einem numericupdown Element für den Anfangsstand und den Enstand eines Tachos besitzt. Sie können sich an dem im Screenshot gezeigten Design orientieren.
Funktion:
Im numericupdown1 soll der Anfangsstand und im numericupdown2 der Endstand eingetragen werden. Drückt man auf den Button "Berechnen", bekommt man den Erstattungsbetrag für die gesamte Strecke heraus (fester Satz liegt für diese Aufgabe bei 0.39 Euro pro Kilometer). Drückt man auf "Kilometer anzeigen", werden die gefahrenen Kilometer angezeigt (Die gefahrenen Kilometer zwischen Anfangs-, und Endstand).
Zum Probieren:
Sie könnten versuchen den Erstattungsbetrag pro gefahrenen Kilometer ebenfalls in die Form einzubauen und die Berechnung dann mit diesem eingegebenen Betrag durchführen
Viel Spaß und Viel Erfolg :)
PS: Sorry für die schlechte Qualität meines Screenshots :(
die heutige Aufgabe ist:
einen "Kilometerrechner" zu programmieren, der Die Differenz zwischen Anfangs-, und Endstand eines Tachos ausgeben kann und pro Kilometer dem Fahrer einen gewissen Betrag erstattet.
Design:
Wie im Anhang beigefügt sollen Sie ein Windows Forms Programm erstellen, welches jeweils einem numericupdown Element für den Anfangsstand und den Enstand eines Tachos besitzt. Sie können sich an dem im Screenshot gezeigten Design orientieren.
Funktion:
Im numericupdown1 soll der Anfangsstand und im numericupdown2 der Endstand eingetragen werden. Drückt man auf den Button "Berechnen", bekommt man den Erstattungsbetrag für die gesamte Strecke heraus (fester Satz liegt für diese Aufgabe bei 0.39 Euro pro Kilometer). Drückt man auf "Kilometer anzeigen", werden die gefahrenen Kilometer angezeigt (Die gefahrenen Kilometer zwischen Anfangs-, und Endstand).
Zum Probieren:
Sie könnten versuchen den Erstattungsbetrag pro gefahrenen Kilometer ebenfalls in die Form einzubauen und die Berechnung dann mit diesem eingegebenen Betrag durchführen
Viel Spaß und Viel Erfolg :)
PS: Sorry für die schlechte Qualität meines Screenshots :(
#2

von hollst (13980 Punkte)
- 17.05.2018 um 09:34 Uhr

using System.Windows; /* Install NuGet Open your Visual Studio. Open your solution/project. Open Tools menu, select Library Package Manager and select Package Manager Console Run the following command "Install-Package Extended.Wpf.Toolkit" */ namespace aufgabe_206 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } struct GUI { public int km_start; public int km_end; public int cent_pro_km; } GUI gui_state = new GUI(); void update_gui_state() { gui_state.km_start = (int)this.ud_1.Value; gui_state.km_end = (int)this.ud_2.Value; gui_state.cent_pro_km = (int)this.ud_3.Value; } private void ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e) { if (!bo_is_loaded) return; update_gui_state(); string erstattung = ((gui_state.km_end - gui_state.km_start) * gui_state.cent_pro_km * 0.01).ToString("n2") + " €"; this.textBlock.Text = erstattung; } bool bo_is_loaded = false; private void Window_Loaded(object sender, RoutedEventArgs e) { bo_is_loaded = true; button_Click(null, null); } private void button_Click(object sender, RoutedEventArgs e) { this.ud_1.Value = this.ud_2.Value; update_gui_state(); ValueChanged(null, null); } } }

<Window x:Class="aufgabe_206.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:aufgabe_206" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" mc:Ignorable="d" Title="Kilometerrechner mit Erstattungsbetrag" Height="200" Width="725" FontFamily="Courier New" FontWeight="Bold" Background="{DynamicResource {x:Static SystemColors.ActiveCaptionBrushKey}}" BorderThickness="5" BorderBrush="Blue" WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize" Loaded="Window_Loaded"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="60"/> <RowDefinition Height="1*"/> </Grid.RowDefinitions> <StackPanel Margin="10,20,10,0" Orientation="Horizontal"> <Label x:Name="lb_1" Content="km-START" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0"/> <xctk:IntegerUpDown x:Name="ud_1" Width="75" Margin="10,0,0,0" Value="5000" Background="{DynamicResource {x:Static SystemColors.InfoBrushKey}}" ValueChanged="ValueChanged" BorderThickness="5"/> <Label x:Name="lb_2" Content=" km-STOP" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0"/> <xctk:IntegerUpDown x:Name="ud_2" Width="75" Margin="10,0,0,0" Value="5000" Background="{DynamicResource {x:Static SystemColors.InfoBrushKey}}" ValueChanged="ValueChanged" BorderThickness="5"/> <Label x:Name="lb_3" Content=" CENT/km" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0"/> <xctk:IntegerUpDown x:Name="ud_3" Width="75" Margin="10,0,0,0" Value="39" Background="{DynamicResource {x:Static SystemColors.InfoBrushKey}}" ValueChanged="ValueChanged" BorderThickness="5"/> <Button x:Name="button" Content=" take END -> START " Margin="10,0,0,0" Click="button_Click"/> </StackPanel> <TextBlock x:Name="textBlock" Margin="0" Grid.Row="1" TextWrapping="Wrap" FontSize="72" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Blue"/> </Grid> </Window>
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1