Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Kann mir jemadn helfen dieses Programm zu schrieben?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
19.11.2004, 16:25 Uhr
~neuer_user
Gast


Hallo ihr programmier-Asse,

Kann mir jemand so eine AUfageb schrieben, denn ich müsste das mal sehen, wie das fertig aussieht das ich mich dann mal riendenken kann um es zu verstehen. Wäre echt spitze, denke es ist nicht so schwer, aber für mich schon.

jetzt schon mal vielen vielen Dank.

Liebe grüße

Aufgabe:

Ihre Aufgabe besteht darin, das Programm fuchs.cpp zu schreiben. In einem Tal werden pro Jahr eine bestimmte Anzahl Füchse zum Abschuss freigeben. In der sich anschließenden Schonzeit vermehren sich die Füchse. Ihre Aufgabe besteht drin, zu prüfen, wie sich der Fuchsbestand voraussichtlich über die Jahre entwickeln wird. Hierzu gibt der Benutzter die folgenden Dateien ein.
- der aktuelle Fuchsbestand(der Wert soll zwischen 2 und 1000 liegen)
- - die Anzahl der zum Abschuss freigegebenen Füchse (der Wert soll zwischen 0 und 100 liegen)
- die Vermehrungsrate der Füchse in der Schonzeit in Prozent. (der Wert soll zwischen –10 und +20 liegen, es sind auch Kommazahlen zulässig). (falls der Benutzer einen ungültigen Wert eingibt, ist er hierauf hinzuweisen. Er muss dann die Eingabe solange wiederholen, bis sie gültige ist.)
In einer Schleife ist für jedes Jahr der prognostizierte Fuchsbestand auszugeben. Die Schleife ist zu beenden, wenn entweder 20 Jahre vergangen sind, sich der anfängliche Fuchsbestand verdoppelt hat oder es keine Füchse mehr gibt. Falls sich innerhalb der 20 Jahre der Fuchsbestand verdoppelt hat oder es keine Füchse mehr geben sollte, ist eine entsprechende Meldung auszugebene mit Angabe der Anzahl der Jahre.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.11.2004, 16:27 Uhr
~neuer_user
Gast


Achso dieses Programm soll in C++ geschrieben werden. Dankeschön.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.11.2004, 16:29 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


was zahlst du denn...
Ich schreibs dir für nur 100 Euronen

aber im ernst wenn du hilfe willst zeig nen eigenen ansatz und sag wo es genau hängt... wir sind hier kein Hausaufgabenforum. Hilfe bekommst du umsonst. Komplette Lösungen nur gegen Bares...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 19.11.2004 um 16:29 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.11.2004, 16:42 Uhr
~neuer_user
Gast


okay, fangenw ir mal sehe ichd as problem richtig!?

Ich mache drei eingabefelder für die drei daten. Anschließend nehme ich den momentanen eingegebenen Fuchsbestand und subtrahiere die Zahl von Abschüssen. das ergebnis dann multipliziere ich mit der Prozenteingabe.

Beispiel:

Momentan: 1000 Füchse
abschießen: 50 Füchse
Vermehrungsrate: 10 %

wäre dann: 1000-50 = 950
950 + 10% = 1045 Füchse

das ganze mache ich dann ine ien schleife bis maximal 20.
entweder nach 20 Jahren leben noch Füchse dann muss ich ausgeben wie viele noch oder sie sind anch z.B. 5 Jahren alle tod dann soll ich das Jahr angeben, wann alle tod sind.

sprich im nächsten Durchlauf habe ich dann momentan 1045 Füchse es werden wieder 50 abgezogen, wären dann 995 Füchse, das wieder + 10 Prozent wären 194,5 Füchse halbe füchse gibt es nicht also wird hier auf oder abgerundet. Bei dieser Rechnung würden nach 20 Jahren immer noch Füchse leben und zwar mehr als vorher oder???

Dankeschön
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.11.2004, 16:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


jo hört sich schon mal gut an... ob das so richtig ist hängt insbesonere von deiner aufgabenstellung ab... also ob die sich erst vermehren sollen und dann wernden die abgeknallt oder umgekehrt...
und in deiner schleife musst du noch zusätzlich die abbruchbedingung einbauen wenn der bestand sich verdoppelt hat oder auf 0 gegangen ist das der dann nicht mehr weiteriteriert (-5 Füchse.... da fällt mir dann die Frage ein Wieviele Füchse müssen im Wald ausgesetzt werden damit bei -5 Füchsen der Bestand wieder auf 0 geht )
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 19.11.2004 um 16:46 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.11.2004, 17:07 Uhr
KaraHead



hier ein kleiner aber nicht fertiger Ansatz:

C++:
int main()
{
  int vrate, anz_fu, anz_weg, anf;
  
  std::cout<<"Anzahl Füchse momentan: ";
  std::cin>>anz_fu;
  std::cout<<"Anzahl der abzuschiesenden: ";
  std::cin>>anz_weg;
  std::cout<<"Vermehrungsrate :";
  std::cin>>vrate;
  anf=anz_fu;  //merkt sich die anfangsanzahl der füchse
  
  for(int i=0; i<20; i++){
    anz_fu-=anz_weg; //zieht jedes Jahr ein paar füchse ab
    anz_fu= anz_fu+(anz_fu/vrate*100); //addiert die vermehrungsrate
    
    if(anz_fu>=(2*anf)) /*prüft ob es in diesem Jahr mehr oder genau doppelt soviele
    füchse sind*/

        break;    //bricht schleife ab
       if(anz_fu<=0)    //prüft ob noch füchse da sind
           break;    //wenn keine da dann abbruch
           };        
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
20.11.2004, 14:58 Uhr
~Pler
Gast


Ich hab das mal versucht schnell runterzutippen, ich hoffe es stimmt mathematisch! Ansonsten sollte es gehn, aber testen wuerde ich es schon noch mal!


C++:
#include <stdio.h>    

#define    MAXJAHRE    20
#define    MINBESTAND    2
#define    MAXBESTAND    1000
#define    MINABSCHUSS    0
#define    MAXABSCHUSS    100
#define    MINZUWACHS    -10.0
#define    MAXZUWACHS    20.0

int main( void )
{
    int
        iBestand_Start,
        iBestand_Akt,
        iAbschussrate,
        iJahr_Akt = 0;

    int
        bBedingung = 1;    // TRUE
    
    double
        dZuwachsrate;

    printf( "Bitte geben Sie den aktuellen Bestand ein:\n" );
    scanf( "%d" , &iBestand_Start );    
    while(    !( iBestand_Start < MAXBESTAND ) && !( iBestand_Start > MINBESTAND ) )
    {
            printf( "Zahl muss zwischen %d und %d liegen:\n" , MINBESTAND , MAXBESTAND );
            scanf( "%d" , &iBestand_Start );
    }    

    
    printf( "Bitte geben Sie die Anzahl der zum Abschuss freigegebenen Fuechse ein:\n" );
    scanf( "%d" , &iAbschussrate );
    while(    !( iBestand_Start < MAXABSCHUSS ) && !( iBestand_Start > MINABSCHUSS ) )
    {
        printf( "Die Zahl muss zwischen %d und %d liegen:\n" );
        scanf( "%d" , &iAbschussrate );
    }
    


    printf( "Bitte geben Sie die vorraussichtliche Zuwachsrate ein:\n" );
    scanf( "%lg" , &dZuwachsrate );
    while(    !( iBestand_Start < MAXABSCHUSS ) && !( iBestand_Start > MINABSCHUSS ) )
    {
        printf( "Die Zahl muss zwischen %lg und %lg liegen:\n" );
        scanf( "%lg" , &dZuwachsrate );
    }


    iBestand_Akt = iBestand_Start;

    while( bBedingung )
    {
        iBestand_Akt -= iAbschussrate;
        iBestand_Akt = (int)( iBestand_Akt + ( iBestand_Akt * ( dZuwachsrate / 100.0 ) ) );
        iJahr_Akt++;

        printf( "Nach dem %dten Jahr sind noch %d Fuechse da!\n" , iJahr_Akt , iBestand_Akt );
        if( ( iJahr_Akt >= MAXJAHRE ) || ( iBestand_Akt > ( iBestand_Start * 2 ) ) || ( iBestand_Akt < 0 ) )
        {
            printf( "Der Fuchsbestand ist zu hoch, gleich 0, oder es sind %d Jahre vergangen!\n" , MAXJAHRE );
            bBedingung = 0;
        }
    }

    return 0;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
20.11.2004, 15:00 Uhr
~Pler
Gast


Mann das Forum zerhackt ja mein wunderschoenes Layout!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
20.11.2004, 15:02 Uhr
~Pler
Gast


Uebrigens ist das, wie zu sehen, alles in Standart C geschrieben; wie sich das bei solchen Programmen auch gehoert.
Falls es aber unbedingt C++ sein muss, sollte es ja kein Problem sein alles zu portieren!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
20.11.2004, 15:22 Uhr
(un)wissender
Niveauwart



Zitat von Pler:

[...] wie sich das bei solchen Programmen auch gehoert.



Das musst du erklären.
Ein Warnung vorweg: in deinem Code belegst du durch einen Fehler (printf, fehlende Parameter -> Compiler erkennt das nicht) selber, dass obige Aussage vollig verkehrt und gefährlich ist.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: