tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
358
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von VB6-User231
    VB6-User231 VB6-User231 ist offline Grünschnabel
    Registriert seit
    Jan 2010
    Ort
    Jenbach(Tirol)
    Beiträge
    2
    Hallo Tutorials user

    Ich benutze gelegentlich mal Visual C++ und hab mal was geschrieben das einem sagt wie viele Stunden man an 5 tagen in der Woche arbeitet, durchschnittlich, gesamt und zuviel oder zu wenig.
    Eigentlich funktioniert es ganz gut nur bei der Wiederholungsabfrage krieg ich immer nen Access Vialation

    hier der code:
    Code :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    
    #include <iostream>
    #include <cstdio>
     
    using namespace std;
     
     
    int main()
    {
     
    int Array[4];
    int n=0;
    int m =0;
    float durchschnitt=0;
    int gesamt=0;
    char Loop;
     
    do
        {
     
            system("pause");    
     
            int error = 0;
     
            system("cls");
            system("color 0f");
     
            cout<<"Arbeitstunden Eingeben"<<endl;
            cout<<endl;
     
            for(n=0; n<5; n++)
            {
                cout<< "Tag"<< n+1 << ":"<< " ";
                cout<<" ";
                cin>> Array[n];
     
                if(cin.fail())
                {
                    error = 1;
                    cin.clear();
                    break;
                }
     
                if(Array[n]==0 || Array[n] >10)
                {
                    cout<<"Ungueltige Zahl!"<<endl;
                    cout<<"Geben Sie Bitte eine Zahl ein die Hoeher als 0 und kleiner als 10 ist"<<endl;
                    cout<<endl;
                    n--;
                }
            }
            
            for(m=0;m<5;m++)
                {
                    cout<<endl;
                    cout<<m +1 <<" "<<"Tag ="<< " "<< Array[m]<<" Stunden"<<endl;
                    gesamt = gesamt + Array[m];
                    durchschnitt = durchschnitt + Array[m];
                    cout<< endl;
                }
                    durchschnitt = durchschnitt /5;
                if(error !=1)
                {
                    cout<<"Sie arbeiten durchschnittlich "<< durchschnitt <<" Stunden "<<"am Tag."<<endl;
                    cout<<"\n";
                    cout<<"Sie arbeiten insgesamt"<<" "<< gesamt <<" Stunden"<<" "<<"an 5 tagen in der Woche."<<endl;
                }
     
                if(gesamt<=40 || durchschnitt<=8)
                {
                    gesamt = 40 - gesamt;
                    cout<<endl;
                    cout<<"Sie haben "<< gesamt <<" Stunden zu wenig gearbeitet"<<endl;
                }
                else
                {
                    gesamt = gesamt - 48;
                    cout<<endl;
                    cout<<"Sie Haben "<< gesamt <<" Stunden zu viel gearbeitet"<<endl;
                }
                    cout<<endl;
                    cout<<"Wollen Sie nochmal Ihre Arbeitstage berechnen [y/n]";
                    cin>>Loop;
        }
     
        while(Loop == 'y' || Loop == 'Y');           // Ab hier jeder andere Buchstabe außer y fürht zum Fehler
     
        return 0;
    }

    Bin für jeden Ratschlag dankbar.
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Du hast ein Array der Größe 4, willst aber 5 Elemente drin speichern.

    Gruß
    VB6-User231 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    wo genau denn (sprich: in welcher Zeile)
    Dein Debugger kann das feststellen ....

    Und poste mal vorsichtshalber die gesamte Meldung, die kommt !

    Gruß
    Klaus


    EDIT:_ Stimmt - deepthroat hat (wie meistens) Recht
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  4. #4
    Avatar von VB6-User231
    VB6-User231 VB6-User231 ist offline Grünschnabel
    Registriert seit
    Jan 2010
    Ort
    Jenbach(Tirol)
    Beiträge
    2
    Hallo nochmals

    Jup es war das Array

    Vielen dank
     

Ähnliche Themen

  1. access violation
    Von alice in wunderlan im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 26.02.10, 12:51
  2. [C] Pointer: Access Violation
    Von nickoff im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 30.03.08, 12:21
  3. Access Violation!?
    Von shader09 im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 03.03.08, 15:39
  4. [c++]Access Violation am Programmende
    Von nacho25 im Forum C/C++
    Antworten: 21
    Letzter Beitrag: 25.02.05, 23:11
  5. access vîolation
    Von derGugi im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 15.04.03, 16:10