• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

An die Programmierer !

Viola Monkey

Meraner
Registriert
22.01.05
Beiträge
233
Hallo @ all

leider hab ich nicht gewusst wo ich meinen beitrag hinein schreiben soll..habs jetzt mal hier geschrieben...

ich hab ein kleines problem....

Also ich muss bis freitag ein Programm programmieren

Ich sollte das eigendlich schon können aber ich hab trotzdem keinen plan wie das funktioniert :(...noch dazu erklärt der Lehrer so s******.

Bitte helft mir !



ALSO Aufgabenstellung ist :

Es sollen die Gaskosten einer abrechnungsperiode ermittelt werden. Ein fünfstelliger Gaszähler zählt die verbrauchten kubikmeter(m3) und wird periodisch abgelesen. Aus diesen Werten wird der Verbrauch in Kilowattstunden ermittelt. Dabei entspricht ein Kubikmeter Gas 10,7 kWh. Abhängig von der Tarifart sind die Kosten einer kWh zu ermitteln. Der Gewerbetarif ist um 50 % höher als der Haushaltstarif. Weiteres muss noch die Umsatzsteuer von 20% berücksichtigt werden. Die Berechnung soll beliebig oft durchgeführt werden können.

Hinweise:
Eingegeben wir : Zählerstand alt,Zählerstand neu und der Tarif.
Ausgegeben wird: Verbrauch in kWh, Gesamtkosten und die Umsatzsteuer.
Der Verbrauch in Kubikmeter(m3) ergibt sich als Differenz des neuen Zählerstandes verringert um den
alten Zählerstand.
Die kWh ergeben sich aus dem Verbrauch mal 10,7 ( wurde festgelegt).
Alle Eingaben müssen überprüft werden.



Das ganze sollte dann so ausschaun :

Berechnung der Gaskosten !
Geben Sie den Zaelerstand alt ein (0 bis 999999):6991
Geben Sie den Zaelerstand neu ein (0 bis 99999) :6904
Geben Sie die Tarifart , (H)aushalt oder (G)ewerbe , ein:h

Es wurden 1069069.1 kWh Gas verbraucht.
Die Gaskosten sind daher 43818.15 Euro.
Der Steueranteil davon ist 7303.02 Euro.

Geben Sie den Zaelerstand alt ein (0 bis 99999).
Ende der Berechnung mit dem Wert "-1":


Konstanten (C-Code):

const double M3_GAS_KWH = 10.7; // 1 m3 Gas entspricht 10,7 kWh
const double EURO_PRO_KWH = 0.034156 ; // Euro pro kWh
const double GEWERBE = 1.0 + 50.0/100; // 50 % Aufschlag für Gewerbetarif
const double UMST = 20.0; // 20 % Umsatzsteuer


Das ganze muss ich in C - Code programmieren ....und es muss auf einer Dose laufen..

Danke für eure Hilfe

Viola
 

Rais

Englischer Kantapfel
Registriert
23.12.03
Beiträge
1.094
1. Programm: hast du ja gut aufgeteilt - denke Umsetzung in Sprache muss dir jemand anderes helfen
2. Muss auf Dose laufen: sollte demnach auch auf Dose kompiliert werden (dürfte in der Schule ja kein grosses Problem sein
3. Was ist zu tun:
In einem (belibigen) Texteditor (z.B. SubEthaEdit o.ä.) das Programm eintippen und als reines Text-File (für Windows kompatibel) speichern. Das Programm so auf Diskette(email/Datenträger o.ä. speichern, in die Schule schleppen, und dort vom Compiler (Programmierumgebung) einlesen und kompilieren (also ein funktionstüchtiges Programm aus dem Textfile erstellen)

--> fertig

(Falls du ne Programmierumgebung (z.B. CodeWarrior) besitzt, kannst du den kompilierschritt auch am Mac ausführen.....aber da würdest du ja die Frage nicht stellen, nehm ich mal an).
 

Viola Monkey

Meraner
Registriert
22.01.05
Beiträge
233
Rais schrieb:
1. Programm: hast du ja gut aufgeteilt - denke Umsetzung in Sprache muss dir jemand anderes helfen
2. Muss auf Dose laufen: sollte demnach auch auf Dose kompiliert werden (dürfte in der Schule ja kein grosses Problem sein
3. Was ist zu tun:
In einem (belibigen) Texteditor (z.B. SubEthaEdit o.ä.) das Programm eintippen und als reines Text-File (für Windows kompatibel) speichern. Das Programm so auf Diskette(email/Datenträger o.ä. speichern, in die Schule schleppen, und dort vom Compiler (Programmierumgebung) einlesen und kompilieren (also ein funktionstüchtiges Programm aus dem Textfile erstellen)

--> fertig

(Falls du ne Programmierumgebung (z.B. CodeWarrior) besitzt, kannst du den kompilierschritt auch am Mac ausführen.....aber da würdest du ja die Frage nicht stellen, nehm ich mal an).


das problem ist nur...ich hab keine ahnung von diesen schleifen(while....)...und die schleifen brauch für dieses programm...
 

patz

Châtaigne du Léman
Registriert
15.11.05
Beiträge
819
const double M3_GAS_KWH = 10.7; // 1 m3 Gas entspricht 10,7 kWh
const double EURO_PRO_KWH = 0.034156 ; // Euro pro kWh
const double GEWERBE = 1.0 + 50.0/100; // 50 % Aufschlag für Gewerbetarif
const double UMST = 20.0; // 20 % Umsatzsteuer

Arbeitet dein Lehrer bei Microsoft? Der spart ja echt Speicher an jeder Ecke :-D

Macht der auch

char szHalloWelt[32000] = "Hallo Welt!"; ?

dobule alter = 12.0; ?
 

LaK

Reinette Coulon
Registriert
30.03.05
Beiträge
952
patz schrieb:
Arbeitet dein Lehrer bei Microsoft? Der spart ja echt Speicher an jeder Ecke :-D

Macht der auch

char szHalloWelt[32000] = "Hallo Welt!"; ?

dobule alter = 12.0; ?

:-D
 

Viola Monkey

Meraner
Registriert
22.01.05
Beiträge
233
patz schrieb:
Arbeitet dein Lehrer bei Microsoft? Der spart ja echt Speicher an jeder Ecke :-D

Macht der auch

char szHalloWelt[32000] = "Hallo Welt!"; ?

dobule alter = 12.0; ?

was meinst du mit dobule alter = 12.0 ?
 

yjnthaar

Schwabenkönig
Registriert
07.06.04
Beiträge
2.657
...davon abgesehen denke ich, dass ein Gewerbetarif eher 50 % Abschlag kriegt, als nen Aufschlag. :-D Aber nach dem Inhalt hat ja hier keiner gefragt..... ;)

Salve,
Simon
 

patz

Châtaigne du Léman
Registriert
15.11.05
Beiträge
819
Naja, der Kerl will ja kleinste Kommazahlen in nem double haben. Wäre float nicht mehr geeignet? Und für Ganzzahlen int? Sonst verschenkt man mal schnell 4 Bytes. Hört sich nicht viel an, aber summiert sich. Er sollte euch eigentlich lehren, sparsam mit Speicher umzugehen.
 

Viola Monkey

Meraner
Registriert
22.01.05
Beiträge
233
patz schrieb:
Naja, der Kerl will ja kleinste Kommazahlen in nem double haben. Wäre float nicht mehr geeignet? Und für Ganzzahlen int? Sonst verschenkt man mal schnell 4 Bytes. Hört sich nicht viel an, aber summiert sich. Er sollte euch eigentlich lehren, sparsam mit Speicher umzugehen.

ich hab keine ahnung...der erklärt auch nichts...jetzt kann ich mir alles erarbeiten
:mad:
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Viola Monkey schrieb:
Ich sollte das eigentlich schon können aber ich hab trotzdem keinen plan wie das funktioniert :(

Reichlich früh zum Nachfragen. Woran happert es denn?

Verständnisfragen sind ok, aber es bringt Dir nichts, wenn Du hier die Lösung vorgekaut bekommst. Also Frage und Anwort Spiel bis Du weitersiehst.
 

slartibartfast

Schöner von Nordhausen
Registriert
10.05.05
Beiträge
323
naja, double als Datentyp ist einfach völlig daneben für einen 3-Stelligen Betrag... :-D

zu deinem Problem:
ist eigentlich relativ einfach (<- sagen alle, die es können ;))

eine while-Schleife außenrum:
Code:
int zaehlerstand_1=1, zaehlerstand_2;
char tarif; //(ist am einfachsten so, aber nicht so elogant. manche würden einen bool nehmen ;-))
float /* oder double, wenn dein Lehrer will ;-) */ verbrauch, kosten; // => KWhs

/*
- zaehlerstand_1 einlesen
  (scanf oder cin oder wasauchimmer)
*/

while ( zaehlerstand_1 > 0 ) {

/* ... der rest.
hier mal in Kurzform:
- zaehlerstand_2 einlesen
  (scanf oder cin oder wasauchimmer)

- Tarifart einlesen
- verbrauch ausrechnen
- if Tarifart ist 'h' ==> Tarifrachnung 1
- elseif Tarifart ist 'g' ==> Tarifrachnung 2


- zaehlerstand_1 einlesen


das wars auch schon so grob   ;- )
*/

}
die while-Schleife wird solange ausgeführt, bis die Eingabe für zaehlerstand_1 negativ wird (-1)
alternativ könnte man auch die eingaben alle nur einmal an den Anfang der Schleife packen, und nach eingabe 1 mit if (eingabe<0) break; die Schleife verlassen.

hilft dir das etwas weiter?

Grüße
slartibartfast


EDIT: @tjp: du warst zu spät, ich hatte meins schon geschrieben, bis ich deins lesen konnte... o_O
@Viola Monkey: du solltest aber auf jeden Fall fragen, wenn du nicht verstehst, was du da tust/tuen sollst. Alles andere wäre grober Blödfug... ; - )
 
Zuletzt bearbeitet:

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
slartibartfast schrieb:
Code:
while ( zaehlerstand_1 > 0 ) {
Ich würde als Bedingung entweder kleiner 0 oder größer-gleich 0 nehmen. Der Zähler könnte ja zufällig auch genau 0 sein.

MacApple
 

slartibartfast

Schöner von Nordhausen
Registriert
10.05.05
Beiträge
323
stimmt. ganz falsch wäre aber (zaehlerstand_1 != -1). floats haben die Angewohnheit, manchmal keine exakten Werte (z.b. -0.99999999999 statt -1) einzunehmen. Das würde in die Hose gehen ;)
darum das > 0.

Programmiertechnisch gesehen ist > 0 richtig, aber real kann der Zähler natürlich auch mal auf 0 stehen...

also ist >= 0 definitiv korrekt


EDIT: UUH, nee zuviel gedacht...
ich hab' zaehlerstand ja als int definiert... (hab' ich nach der Schleife gemacht. vielleicht deshalb ;)) dann würde != -1 klappen...
falls aber im Zählerstand Kommazahlen erlaubt sind, musst du float nehmen, und es mit >= machen...
:mad:
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Oh man, da hat mal wieder jemand zu viel gedacht... (das kenne ich) ;)
Naja erst mal nen Kaffee trinken und ne Runde schlafen.

Du könntest ja noch ne if schleife drum machen so das wenn != -1 ....... :-D

Gruß Rasmus

Ps. Wieso komme ich eigentlich immer auf so komische Ideen?
 

angelone

Dülmener Rosenapfel
Registriert
02.05.04
Beiträge
1.673
pfft... c
grausam :)
im rpg würd ichs dir schreiben :)

MacApple schrieb:
sag blos du kennst die berühmte if schleife nit :)

Ergebnisse 1 - 10 von ungefähr 405.000 für if schleife. (0,21 Sekunden)
wird oft genutzt ^^
 

angelone

Dülmener Rosenapfel
Registriert
02.05.04
Beiträge
1.673
hat doch jeder im keller :)
ich hab eine ^^ (und 20 inner firma)
 

newman

Roter Eiserapfel
Registriert
02.06.05
Beiträge
1.436
tjp schrieb:
Und die passende iSeries lieferst Du der Schule gleich mit?
RPG ist keine Programmiersprache - sondern ein total vergewaltigter Report Programm Generator.

*wegduck*