myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C++ Fehler C2143...

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 06.03.12, 15:57   #1
GStylerxD
Anfänger
 
Registriert seit: Nov 2011
Beiträge: 17
Bedankt: 1
GStylerxD ist noch neu hier! | 0 Respekt Punkte
Standard C++ Fehler C2143...

Hey bin grad am lernen von Arrays in C++ bin grad bei den Vectoren ich sollte als Übung ein Programm schreiben das am Anfang den Benutzer fragt wie viel Werte der Vector speichern soll dan Werte abfragen und den Durchschnitt errechnen soll.

Soweit alle gut nur ich krieg ich andauernd die Fehler Meldung C2143 Es Fehlt ';' vor Zeichenfolge habe schon rumprobiert und gegoogled habe aber nichts gefunden.

Hier der Code :
Code:
#include <iostream>
#include <vector>

using namespace std;

int main() {
  cout << "Wie viele Werte sollen gespeichert werden ?" << endl;
  cout << "Eingabe : ";
  int eingabe;
  cin >> eingabe;

  vector<double> v(eingabe);

  for(int i = 0; i<=eingabe; i++) {
    cout "Geben sie den " << i << " Wert ein : ";
    int eingabe;
    cin >> v.push_back(eingabe);
    }

  double summe;

  for(int i = 0; i<=eingabe; i++) {
    summe = summe + v.push_back(i);
    }

  cout << "Durchschnitt : " << summe / eingabe << endl;


  return 0;
  }
Danke im vorraus!
GStylerxD ist offline   Mit Zitat antworten
Ungelesen 06.03.12, 16:50   #2
kalliknuddel
Anfänger
 
Registriert seit: Feb 2009
Ort: Berlin
Beiträge: 35
Bedankt: 18
kalliknuddel ist noch neu hier! | 0 Respekt Punkte
Standard

Zeilennunmmer in der der Fehler auftritt?
kalliknuddel ist offline   Mit Zitat antworten
Ungelesen 06.03.12, 17:00   #3
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Da war nicht nur einer, sondern gleich mehrere Fehler.
Ich habe den kompletten Code mal ausgebessert und entsprechende Kommentare hinzugefügt.

Code:
#include <iostream>
#include <vector>

using namespace std;

int main() {
    cout << "Wie viele Werte sollen gespeichert werden ?" << endl;
    cout << "Eingabe : ";
    int eingabe;
    cin >> eingabe;
    
    vector<double> v(eingabe);
    
    double help = 0;                                             //die Eingabe erst in help speichern und dann zum Vector hinzufügen 
    for(int i = 0; i < eingabe; i++) {                           //von 0 bis < eingabe, bei 0 bis = eingabe macht er eingabe + 1 Durchgänge
        cout << "Geben sie den " << i << " Wert ein : ";
        cin >> help;                                             //Eingabe in help speichern
        v.push_back(help);                                       //den Wert von help zum Vector hinzufügen
    }
    
    double summe = 0;                                            //summe am Anfang mit 0 initialisieren, da gleich addiert wird und sonst Mist rauskommen würde
    for(int i = 0; i < eingabe; i++) {                           //wieder von 0 bis < eingabe            
        summe += v.back();                                       //das letzte Element aus dem Vector zu summe addieren
        v.pop_back();                                            //das letzte Element aus dem Vector löschen
    }

    cout << "Durchschnitt : " << summe / eingabe << endl;
    return 0;
}
PS: Du hattest die Variable "eingabe" mehrfach deklariert.
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 06.03.12, 17:11   #4
GStylerxD
Anfänger
 
Registriert seit: Nov 2011
Beiträge: 17
Bedankt: 1
GStylerxD ist noch neu hier! | 0 Respekt Punkte
Standard

Danke für die Antwort!

Ehmm ist es nicht so das man die gleiche Variable in der Schleife definieren darf weil sie dan ja nur für die Schleife zählt oder nicht?
GStylerxD ist offline   Mit Zitat antworten
Ungelesen 06.03.12, 17:43   #5
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von GStylerxD Beitrag anzeigen
Ehmm ist es nicht so das man die gleiche Variable in der Schleife definieren darf weil sie dan ja nur für die Schleife zählt oder nicht?
Laut Standardisierung hast du Recht, manche Compiler schaffen das aber trotzdem nicht.
germgerm ist offline   Mit Zitat antworten
Ungelesen 06.03.12, 17:51   #6
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Es ist ja auch kein Fehler an sich. Ich habe dich ja nur darauf hingewiesen.
Ich finde es besser soetwas nicht zu tun, um unnötige Fehler(suche) zu vermeiden.
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 06.03.12, 18:03   #7
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

Und bei deinem Schleifenbeispiel würde ich direkt auf die Variablen zugreifen.

PHP-Code:
    int i;
    for(
0i<v.size(); i++)
    {
        
cout << "Geben sie den " << << " Wert ein : "// 1
        
cin >> v[i];
    }

    
double summe=0.0;

    for(
0i<v.size(); i++)
    {
        
summe summe v[i];
    } 
germgerm ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.


Sitemap

().