Hi
ich komm absolut nicht weiter
Das kann vorkommen.
und hab hin und her probiert
Das hingegen sollte nicht vorkommen. Überlege dir zuerst, wie du glaubst, dass es funktionieren würde, dann schreibe den Code, dann suche Fehler in diesem Code und verbessere sie. Durch trial & error Code zu schreiben ist sehr ineffizient.
Gehen wir mal durch, was du eigentlich willst: Du willst Zahlen addieren (sagst du zumindest). Das heisst, dass du solange in einer Schleife bleiben willst, wie Zahlen eingegeben werden. Momentan hast du in deinem Code geschrieben, dass du abbrechen willst, falls eine 0 eingegeben wird. Wieso? Ist das keine Zahl?
Zudem hast du ein recht grosses Array der Eingaben definiert. Brauchst du die Eingaben später noch? Die Fragestellung verlangt das zumindest nicht.
Also, aus den grundlegenden Aufgaben
1. Lese Zahlen, solange neue kommen
2. Berechne die Summe aus allen EIngaben
lassen sich folgende Grundbausteine erkennen:
1.
C++:
int tmp = 0;
while(scanf("%d", &tmp)) {
}
(Siehe Definition von
scanf(): Der Rückgabewert besagt, wie viele Werte gelesen wurden. Die Schleife wiederholt also, bis ein ungültiger oder gar kein Wert gelesen werden konnte)
2.
C++:
int sum = 0;
//...
sum += tmp;
Und jetzt muss das nur noch zusammengesetzt werden - wie, sollte aber klar sein.
Damit du dennoch ein bisschen Feedback zu deinem Code hast:
C++:
int main()
{
int Null=0; //Hat vfl_freak ja schon gesagt: Macht keinen Sinn. Zudem, wenn schon, dann bitte const int Null = 0. Ansonsten kann man 0 verändern, was mathematisch definitiv nicht erlaubt ist.
int Zahl, i; //i ist nicht initialisiert und wird unten dennoch verwendet - das führt zu Fehlern / undefiniertem Verhalten.
int summe; //Auch diesen Wert solltest du auf 0 setzen.
int Anzahl = 999;
int Punkte[999]; //Du darfst (und solltest) hier int Punkte[Anzahl]; schreiben, damit es keine Probleme gibt, wenn du die Anzahl veränderst.
printf("Bitte Zahl eingeben:\n\n");
printf("Zahl 1: "); //Der gesamte Block ist überflüssig und könnte im Loop stehen.
scanf("%d", &Zahl); //Du speicherst diese Zahl nirgends.
if(Zahl>Null){ //Erlaubst du keine negativen Zahlen? Dann unsigned int verwenden.
for(i=2; i<Anzahl; i++){ //Wenn du die Anzahl tatsächlich limitieren willst, ist das ok. Ginge aber auch ohne Limit direkt (siehe meinen Vorschlag oben)
printf("Zahl %d: ", i);
scanf("%d", &Punkte[i]); //Damit schreibst du immer an Punkte[0]. Nimm stattdessen &Punkte[i].
if(Punkte==Null){ //Ebenso: Punkte[i]
printf("Summe lautet: \n"); //Also die Summe hättest du schon ausgeben können...
}
Alles in allem liegt mir noch etwas am Herzen, was schon im Anfangstext steht: Ich glaube nicht, dass du dich sehr eingehend mit der Aufgabenstellung befasst hast. Es gibt einen Unterschied zwischen "Ich komme nicht weiter" und -"Ich habe mal irgendwas hingeklatscht und es geht nicht, gebt mir mal Tips".
Wir sind eine Community, die sehr gerne hilft, wenn jemand nicht weiterkommt, und klar ist alles als Anfänger manchmal schwierig. Aber bitte: Beschäftige dich in Zukunft ein bisschen mehr mit der Planung. Und während du gerne Fragen stellen darfst, wenn etwas unklar ist, so gilt doch als Grundregel: Erstmal googlen. Damit käme man z.B. auf
http://www.c-howto.de/tutorial-arrays-felder-uebungen-loesung-teil1.html als erstes

Resultat.
Siehst du: Wir finden so ganz einfache Aufgaben wie deine auch nicht besonders prickelnd: Sie sind wirklich zu basic. Wenn du eine Frage zu einzelnen Funktionen hast, Frage zu generellen Stilrichtungen, Fragen zu Aufgaben, deren Lösung du nicht findest, ist das alles ok. Aber ein Mindestmass an eigenem Aufwand dürfen wir schon erwarten, meinst du nicht?
Denn schlussendlich sollst du ja etwas lernen, und eine der vielen Grundregeln beim Programmieren ist, dass man lernen muss, wie man sucht (googlet) und findet. Wie gesagt: Bei Unklarheiten darfst du immer nachfragen, aber Fragestellungen à la "Hier ist mein allererster Versuch, der nicht funktioniert" sind hier eher unerwünscht.
Gruss
cwriter