Du bist nicht angemeldet.

daredevil

unregistriert

1

Dienstag, 28. August 2007, 18:32

Hilfe beimLösen einer Aufgabe

kann mir das jemand lösen??? bittteee ist wichtig!!

a) Wahlergebnis: Ein VBA Programm soll die Stimmenzahlen von CDU, SPD, FDP, und grünen, sowie die Gesamtzahl gültiger Stimmen erfragen und daraus die Stimmenanteile der obigen Parteien berechnen und mittels Message - Boxen ausgeben. (mit Prozentzeichen und Nachkommastelle) ebenfalls des Anteils der insgesamt auf die anderen Parteien entfiel. Falls die Stimmenzahlen der o.g. Parteien in Summe größer sind als die Gesamtzahl der gültigen
Stimmen, soll das Programm mit einer Fehlermeldung beendet werden (10)
b) Variante: Im Falle des obigen Fehlers soll eine erneute Eingabe erfolgen, und zwar so lange bis die Eingabe im obigen Sinne korrekt ist (5)

Hinweis: Formatnumber(x,n)formatiert die Zahl x auf n Nachkommastellen

2

Dienstag, 28. August 2007, 18:45

hey,

brauchst du das jetzt für vba oder vb6? du hast einmal in der überschrift vb6 geschrieben und im text vba.
für vba gibs ein extra-unterforum.

wenns um vba geht, dann kenn ich mich nicht so aus.

falls es sich doch um vb6 handeln sollte, kann ich dir gern helfen ;)

LaMa5

Co-Administrator

  • »LaMa5« ist männlich

Beiträge: 1 018

Dabei seit: 8. Januar 2004

Wohnort: Magdeburg

Hilfreich-Bewertungen: 110

  • Private Nachricht senden

3

Mittwoch, 29. August 2007, 10:39

Hi,

da klingt mir sehr nach einer Schulaufgabe!

Zitat

kann mir das jemand lösen???

Sicher kann Dir das jemand lösen. Der Lerneffekt wäre dann aber gleich null.

Am Besten Du fängst einfach mal an und wenn Du spezielle Probleme hast, meldest Du Dich noch mal.

Und verwende bitte AUSSAGEKRÄFTIGE Titel!!
*Topic renamed*


bye ...

LaMa5.
Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
(Autor: Earl Wilson, amerik. Schriftsteller)
---
http://www.serviceteam-md.de

daredevil

unregistriert

4

Mittwoch, 29. August 2007, 11:46

Hallo,
das ist auch eine Schulaufgabe!

Ich habe das versucht zu lösen, geht alles bis zu den Inputboxen mit Abfragen, jedoch weiß ich dann nicht mehr weiter mit den Schleifen?

P.S. Phil: Das ist VBA!!!! tut mir leid, habe es in den falschen Forum reingeschrieben.

Lama5: Der Lerneffekt ist nicht gleich null. wenn ich es sehe verstehe ich es vielleicht, aber wenn ich nur im Internet sschuae oder in Bücher kriege ich es nicht hin. Ich habe ein Problem mit den schleifen!

bye
Daredevil

Mad Andy

Registrierter Benutzer

  • »Mad Andy« ist männlich

Beiträge: 4 451

Dabei seit: 2. August 2004

Wohnort: Österreich / Wien

Hilfreich-Bewertungen: 13

  • Private Nachricht senden

5

Mittwoch, 29. August 2007, 13:05

*topic verschoben*

Zeig uns mal den bissherigen Code und genau die Stelle, bei der du weiter kommst.
Mit "Lerneffekt" ist hier gemeint, dass du lernen sollst ein Programm zu schreiben. Ein Programm zu verstehen ist viel einfacher als das erstellen ;)


so long..
Andy

daredevil

unregistriert

6

Mittwoch, 29. August 2007, 16:21

Sub Wahlergebniss()
Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer
a=inputbox(""Wieviel Stimmen hat die CDU?")
b=inputbox(""Wieviel Stimmen hat die SPD?")
c=inputbox(""Wieviel Stimmen hat die FDP?")
d=inputbox(""Wieviel Stimmen hat die Grüne?")
e=inputbox(""Wieviel Stimmen haben sie alle zusammen?")
so und dann?? vielleicht ein IF Behfehl
danach kommen zwar die Msgboxen.. aber ich verstehe wohl nciht gan wie es weiter gehen soll!

7

Mittwoch, 29. August 2007, 16:31

naja, vllt kann ich doch ein wenig helfen; kann aber sein, dass die syntax nicht ganz richtig ist.

erstmal würde ich abfragen ob die gesamtanzahl der stimmen größer ist als die summe der anderen parteien (ist ja auch das was du oben beschrieben hast)
dafür nimmt man wie du schon richtig vermutet hast ein if-befehl:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
If e > a + b + c + d Then
    MsgBox "Deine gewünschte Fehlermeldung"
Else
    'jetzt eben die prozentualen anteile ausreichnen. formel: p = W * 100 / G

    'W ist entweder a, b, c oder d. g entspricht e

    MsgBox "Die CDU erhielt " & a * 100 / e & " %."
    'und so eben immer weiter

End If


ist die von dir gepostete funktion "formatnumber(x, n)" schon vorhanden? wenn ja dann kannst du sie ja benutzen um p zu formatieren. entspräche dann diesem hier:

Visual Basic Quellcode

1
Msgbox "Die CDU erhielt " & formatnumber(a * 100 / e, n)

daredevil

unregistriert

8

Mittwoch, 29. August 2007, 20:49

Danke leute
habs hinbekommen
vielen vielen DANK :))

Sub Wahlergebniss()

Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Single, w As String
Do
a = InputBox("Wieviel Stimmen hat die CDU?")
b = InputBox("Wieviel Stimmen hat die SPD?")
c = InputBox("Wieviel Stimmen hat die FPD?")
d = InputBox("Wieviel Stimmen hat die Grüne?")
e = InputBox("Wie viel Stimmen insgesamt?")
MsgBox "Ergebniss insgesamt:" & (a + b + c + d)
If e < a + b + c + d Then
MsgBox ("Falscher Eingabe bitte wiederholen")
w = "J"
Else
MsgBox ("Die CDU erhielt:" & FormatNumber(a * 100 / e, 2) & "%")
MsgBox ("Die SPD erhielt:" & FormatNumber(b * 100 / e, 2) & "%")
MsgBox ("Die FPD erhielt:" & FormatNumber(c * 100 / e, 2) & "%")
MsgBox ("Die Grünen erhielten:" & FormatNumber(d * 100 / e, 2) & "%")
w = InputBox("nochmal? (J/N)")
End If
Loop While w = "J"


End Sub

Social Bookmarks