Autor Beitrag
Chibicloud
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 05.10.10 20:28 
Abend zusammen,

nun ich bin relativ neu in diesem Gebiet, spricht C#.
Und zwar hätte ich ein paar Fragen zu bestimmtem Aufgaben, die ich von einem Kollegen bekommen habe, jedoch besitzte ich momentan das Buch nicht, aufgrund der Tatsache, dass ich es in der Schule liegen gelassen habe.

Aufgabe 1)
Es soll ein einzelnes Zeichen (Typ Char) von der Tastatur eingelesen werden. Handelt es sich um ein Vokal, so erfolgt die Bildschirmausgabe ,,Sie haben einen Vokal eingegeben!".In allen anderen Fällen erfolgt die Ausgabe: ,, Sie haben einen Konsonanten eingegeben".

Aufgabe 2)
Sie sollen ihr Geburtsjahr in eine Ganzzahl-Variable eingeben lassen. Durch Vergleich mit dem aktuellen Kalenderjahr ( in einer weiteren Ganzzahl-Variable) soll ermittelt werden und auf den Bildschirm ausgegeben werden, ob sie schon volljährig sind oder nicht.

Das sind 2 Aufgaben von 5.
Ich will nicht so sein, dass ich euch direkt alles gebe, sondern den Rest erstmal selbst ohne Buch probieren.
Ich hoffe sehr, dass jemand mir ein wenig helfen kann
------------
Mein Forschritt:
Nun bei Aufgabe 1)

char eingabe;

Console.WriteLine("Bitte geben sie ein einzelnes Zeichen ein");
eingabe = Convert.ToChar(Console.ReadLine());

if (eingabe =

Wie kriege ich hin, dass ich nach Vokalen checken kann?
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mi 06.10.10 07:05 
Hallo und

:welcome: im Forum.

Also, zur ersten Aufgabe:
Du könntest Dir erstmal ein char[] anlegen, das alle Vokale enthält. Sind ja nur 5.
Wenn ein Zeichen eingegeben wurde könntest Du dann abfragen, ob sich der eingegebene Wert im Array befindet.
z.B. so:
ausblenden C#-Quelltext
1:
2:
//vocals beinhaltet die Vokale
if (vocals.Contains(eingabe))


Aber Du könntest in der Verzweigung genauso gut auf jeden einzelnen Vokal prüfen, und die Bedindungen durch ODER verknüpfen.

LG, Marko

Für diesen Beitrag haben gedankt: Chibicloud
Chibicloud Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 06.10.10 08:10 
Erst einmal Danke für deine Antwort ich habe bereits beide Aufgaben lösen können mit bisschen rumwürgen. :P
Aufgabe1)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
            char eingabe;

            Console.WriteLine("Bitte geben sie ein einzelnes Zeichen ein");
            eingabe = Convert.ToChar(Console.Read());

            if (eingabe == 'a' || eingabe == 'e' || eingabe == 'i' || eingabe == 'o' || eingabe == 'u')
            {
                Console.WriteLine("Sie haben ein Vokal eingegeben");
            }
            else
            {
                Console.WriteLine("Sie haben einen Konsonanten eingegeben");
            }
            Console.ReadKey()




Aufgabe2)



ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
            int eingabe;
            int aktuell = 2010;

            Console.WriteLine("Bitte gib dein Geburtsjahr ein !");

            eingabe = int.Parse(Console.ReadLine());

            if (aktuell - eingabe >= 18)
            {
                Console.WriteLine("Glückwunsch, du bist volljährig !");
            }
            else
            {
                Console.WriteLine("Ah tut mir Leid, du darfst nicht alleine Auto fahren ! ;)");
            }
            Console.ReadKey();


Moderiert von user profile iconKha: C#-Tags hinzugefügt
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mi 06.10.10 08:35 
Na gut.
Aber zur ersten Aufgabe: Wenn ein Grossbuchstabe als Vokal eingegeben wurde, wird dieser durch Deine Bedingungen nicht als Vokal erkannt, da Du da nur kleine Vokale drin behandelst.

Ansonsten fehlt natürlich auch eine Fehlerbehandlung für ungültige Eingaben.

Marko
Melo
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 08.10.10 15:54 
Aufgabe 2 würde ich an deiner Stelle noch ein wenig überarbeiten.
1. Ist es doch mühsam jedes Jahr deinen Integer manuell zu erhöhen.
2. Rechnest du nur mit Jahren. Das heisst jeder vom Jahrgang 92 ist schon 18.

Schau dir vlt. mal DateTime an, damit kriegst du das aktuelle Datum und kannst damit rechnen.
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Sa 09.10.10 10:22 
bei aufgabe 1 wäre zwar die lösung von Trashkid2000 am schönsten, allerdings kannst du diese aufgabe auch mit switch...case lösen, was für das verständnis vielleicht garnicht so schlecht ist...
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
char eingabe;

Console.WriteLine("Bitte geben sie ein einzelnes Zeichen ein");
eingabe = Convert.ToChar(Console.Read());

eingabe = eingabe.ToLower(); //in kleinbuchstaben umwandeln (damit GROß/kleinschreibung nicht beachtet wird)

switch (eingabe) //anhand welcher variable wird entschieden?
{
    case 'a'//wenn a
        Console.WriteLine("Sie haben ein Vokal eingegeben");
        break;
    case 'e'//wenn e
        Console.WriteLine("Sie haben ein Vokal eingegeben");
        break;
    case 'i'//wenn i
        Console.WriteLine("Sie haben ein Vokal eingegeben");
        break;
    case 'o'//wenn o
        Console.WriteLine("Sie haben ein Vokal eingegeben");
        break;
    case 'u'//wenn u
        Console.WriteLine("Sie haben ein Vokal eingegeben");
        break;
    default//sonst
        Console.WriteLine("Sie haben einen Konsonanten eingegeben");
        break;
}
            
Console.ReadKey();