1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

An die Programmierer !

Dieses Thema im Forum "Café" wurde erstellt von Viola Monkey, 14.12.05.

  1. Viola Monkey

    Viola Monkey Meraner

    Dabei seit:
    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
     
  2. Rais

    Rais Englischer Kantapfel

    Dabei seit:
    23.12.03
    Beiträge:
    1.089
    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).
     
  3. Viola Monkey

    Viola Monkey Meraner

    Dabei seit:
    22.01.05
    Beiträge:
    233

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

    patz Châtaigne du Léman

    Dabei seit:
    15.11.05
    Beiträge:
    822
    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; ?
     
  5. LaK

    LaK Reinette Coulon

    Dabei seit:
    30.03.05
    Beiträge:
    953
    :-D
     
  6. Viola Monkey

    Viola Monkey Meraner

    Dabei seit:
    22.01.05
    Beiträge:
    233
    was meinst du mit dobule alter = 12.0 ?
     
  7. yjnthaar

    yjnthaar Schwabenkönig

    Dabei seit:
    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
     
  8. patz

    patz Châtaigne du Léman

    Dabei seit:
    15.11.05
    Beiträge:
    822
    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.
     
  9. Viola Monkey

    Viola Monkey Meraner

    Dabei seit:
    22.01.05
    Beiträge:
    233
    ich hab keine ahnung...der erklärt auch nichts...jetzt kann ich mir alles erarbeiten
    :mad:
     
  10. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.255
    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.
     
  11. slartibartfast

    slartibartfast Schöner von Nordhausen

    Dabei seit:
    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... ; - )
     
    #11 slartibartfast, 14.12.05
    Zuletzt bearbeitet: 14.12.05
  12. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    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
     
  13. slartibartfast

    slartibartfast Schöner von Nordhausen

    Dabei seit:
    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:
     
  14. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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?
     
  15. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Wat 'n dat? :-D

    MacApple
     
  16. angelone

    angelone Dülmener Rosenapfel

    Dabei seit:
    02.05.04
    Beiträge:
    1.674
    pfft... c
    grausam :)
    im rpg würd ichs dir schreiben :)

    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 ^^
     
  17. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.255
    Und die passende iSeries lieferst Du der Schule gleich mit?
     
  18. angelone

    angelone Dülmener Rosenapfel

    Dabei seit:
    02.05.04
    Beiträge:
    1.674
    hat doch jeder im keller :)
    ich hab eine ^^ (und 20 inner firma)
     
  19. newman

    newman Roter Eiserapfel

    Dabei seit:
    02.06.05
    Beiträge:
    1.436
    RPG ist keine Programmiersprache - sondern ein total vergewaltigter Report Programm Generator.

    *wegduck*
     
  20. Egger1000

    Egger1000 Osnabrücker Reinette

    Dabei seit:
    26.12.03
    Beiträge:
    994

Diese Seite empfehlen