Hallo, ich bin Anfänger und beschäftige mich seit ein paar Tagen mit C++. 
Ich will ein Programm schreiben, dass von 1-100 und danach von 1-max(Eine Zahl,die man vorher eingeben soll), alle Primzahlen errechnet und ausgibt.
Ich habe mir gedacht, dass ich erst einmal anfange indem ich ein Programm schreibe, dass mir beantwortet, ob eine Zahl,die ich eingebe, eine Primzahl ist oder nicht, weil das ja eigentlich die Grundlage für mein eigentliches Programm ist.
Ich habe folgendes geschrieben:
Nun ist mein Problem, dass mein Programm falsche Aussagen liefert : z.B.: Bei 55 gibt es aus, dass es eine Primzahl sei.
Kann mir wer helfen? Danke im Voraus
|| Eigentlich müsste man irgendwie schreiben, dass nur wenn alle Zahlen von 2 bis n-1 keine Teiler von der eingegebenen Zahl sind, eine Primzahl vorliegt. Weiß aber nicht wie (;
(denn das Programm würde z.B. rechnen 55:3 --> hat keinen Rest von 0 --> gibt aus, dass es eine Primzahl ist)

Ich will ein Programm schreiben, dass von 1-100 und danach von 1-max(Eine Zahl,die man vorher eingeben soll), alle Primzahlen errechnet und ausgibt.
Ich habe mir gedacht, dass ich erst einmal anfange indem ich ein Programm schreibe, dass mir beantwortet, ob eine Zahl,die ich eingebe, eine Primzahl ist oder nicht, weil das ja eigentlich die Grundlage für mein eigentliches Programm ist.
Ich habe folgendes geschrieben:
Code:
#include "../../std_lib_facilities.h"
#include <conio.h>
// Programm,dass ausgibt, ob eingegebene Zahl Primzahl ist oder nicht
int main()
{
int zahl; // die überprüft werden soll
int teiler;
cout << " Geben sie eine Zahl ein, von der Sie wissen wollen, ob es eine Primzahl ist! \n\n";
while(cin >> zahl)
{
if(zahl==2) cout <<" \n \n Es ist eine Primzahl \n \n";
else for(teiler=2; teiler<=(zahl-1); ++teiler)
{
if(zahl%teiler==0)
{
cout <<" \n\n Diese Zahl ist keine Primzahl \n \n" ;
break;
}
else if(zahl%teiler!=0)
{
cout <<" \n\n Diese Zahl ist eine Primzahl \n \n";
break;
}
}
}
getch();
}
Nun ist mein Problem, dass mein Programm falsche Aussagen liefert : z.B.: Bei 55 gibt es aus, dass es eine Primzahl sei.
Kann mir wer helfen? Danke im Voraus

|| Eigentlich müsste man irgendwie schreiben, dass nur wenn alle Zahlen von 2 bis n-1 keine Teiler von der eingegebenen Zahl sind, eine Primzahl vorliegt. Weiß aber nicht wie (;
(denn das Programm würde z.B. rechnen 55:3 --> hat keinen Rest von 0 --> gibt aus, dass es eine Primzahl ist)
Zuletzt bearbeitet: