Die nicht initialisierte lokale Variable "n" wurde verwendet." Wo ist der Fehler?

der_garTen

Lieutenant
Registriert
Jan. 2005
Beiträge
713
Hallo.

Schreibe gerade ein Programm mit c++ mit Visual Studio 2010zur Berechnung der gewichteten summe und des harmonischen mittels. Jetzt kriege ich allerdings Fehlermeldungen und weiß nicht, woran das liegt. ich poste mal eben das Programm und dann die Fehlermeldung:

#include "stdafx.h"
#include <iostream >
using namespace std ;

int main (){
double a [10] = {12.6 ,33.77 ,51.32 ,95.11 ,19.78 ,
35.34 ,85.18 ,89.0 ,37.5 ,24.1};
double sum , harm ;
int i=0;
int n;
while(i<n)
{
sum= sum +(i*a);
harm= harm+n/(1/a);
i=i+1;
}
cout << " Gewichtete Summe : " << sum << endl ;
cout << " Harmonisches Mittel : ";
cout << harm << endl ;
return 0;
}


Fehlermeldungen:
(11): warning C4700: Die nicht initialisierte lokale Variable "n" wurde verwendet.
(13): warning C4700: Die nicht initialisierte lokale Variable "sum" wurde verwendet.
(14): warning C4700: Die nicht initialisierte lokale Variable "harm" wurde verwendet.
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
fatal error LNK1120: 1 nicht aufgelöste externe Verweise.


ich hoffe irgendwer kann mir sehr sehr schnell weiterhelfen ^^

danke schonmal im vorraus
 
Du verwendest n für einen Vergleich hast aber keine Ahnung welchen Wert n hat, da du es ja ned initialisierst. Da muss eine Fehlermeldung kommen!!!
 
okay, bin jetzt weiter. hab n, sum und harm den wert 0 zugewiesen, allerdings bekomme ich nen fatal error.

fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
 
double sum , harm ;
int i=0;
int n;
while(i<n)

welchen wert hat da n?

richtig! keinen

variablen müsen vor der erstenverwendung initialisiert werden
 
du musst n genauso initialisieren wie du es mit i machst (int n=0;)
 
ja zum glück bin ich da selber drauf gekommen. allerdings kommt nun beim kompilieren eine fehlermeldung. aber davon hab ich noch nie gehört :D
arbeite erst seit 2 wochen mit c++, deshalb tut es mir leid wenn ich mich etwas doof anstelle :(

fatal error LNK1120: 1 nicht aufgelöste externe Verweise. bekomme ich
 
Bei sum und harm is es schon schlimm weil es da falsche Ergebnisse liefern würd das Programm, aber egal^^
Ja warum der linkerfehler is ka, kenn mich ned mit c++ aus, aber die anderen Fehler sind ja universell^^
 
ja das ist gerade mal die grundversiopn. ich wills erstmal zum laufen bekommen, die grundfehler kann man immer noch korrigieren. nur dieser fehler regt mich auf
 
Das WinMain Problem könnte dadurch entstehen, dass Du ein Consolen Programm als Windows GUI / API Projekt linkst.
 
jo, habs jetzt korrigiert. comilieren geht, allerdings schließt sich jetztr das Fenster direkt und ich kann keiner ergbnisse sehen :(
 
Immer dasselbe:
Setze einen breakpoint auf die letzte Programmzeile oder öffne eine Console und starte das Programm von dort.
 
Naja, das Progamm tut nichts, da ja i,n = 0 und somit die while schleife nie gestartet wird.
Außerdem musst du noch irgendwie ne Benutzereingabe einfügen sonst gibt er zwar was aus, aber dann ist das Programm ja auch schon zu ende.
 
Du kannst auch am Schluss system('PAUSE'); einfügen.
Geht zumindest bei C also eventuell musst dus als externe Funktion deklarieren.
 
Ja nee, is klar. :rolleyes:
Früher haben die, die keine Ahnung haben, die Fragen gestellt. Heute geben die, die keine Ahnung haben, auch die Antworten.
 

Ähnliche Themen

Antworten
8
Aufrufe
3.600
wayne_757
W
Antworten
7
Aufrufe
1.718
Zurück
Oben