Quellcode Aufgabe 8

Dieses Programm gibt alle Primzahlen bis zu einer bestimmten Grenze aus

/* * * * * * * * * * * * * * * * 
* Name: Christian Klisch *
* Klasse: ITA 1b *
* Datum: 18.01.2000 *
* Dateiname: aufg8.c *
* Zweck: Primzahlen *
* * * * * * * * * * * * * * * */

#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()
{

//Variablen Deklarieren
int primzahl,teiler,grenze,zahl,rechnen,ypos,anzahl;
char frage;


//Wiederholungsschleife
do{


//Bildschirm löschen
clrscr();


//Eingabe der Berechnungsgrenze
printf("Primzahlenberechnung\n\n");
printf("Bitte geben Sie die Berechnungsgrenze an: ");


//Löschen des Tastaturpuffers
fflush(stdin);


//Eingabe der bis zu brechenden Grenze
scanf("%d",&grenze);


//An dieser Position soll gestartet werden
gotoxy(1,4);
printf("ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ");


//Festlegen der Anfangszahl und des Zahlenzählers
zahl=1;
anzahl=0;


//Schleifenstart: Wird wiederholt, bis Zahl die Grenze erreicht hat
while(zahl<grenze)
{


//Festlegen der Behauptungen und des ersten Teilers
primzahl=1;
teiler=2;


//Schleifenstart: Wird wiederholt, solange der Teiler <=zahl/2 oder <=Wurzel aus Zahl#
while(teiler<=zahl/2||teiler<=sqrt(zahl))
{


//Berechnung des Rests
rechnen=zahl%teiler;


//IF-Zweig: Fragt, ob der Rest = 0 ist
if(rechnen==0)
{

//Wenn Teiler 0 ist, wird Primzahl falsch:
primzahl=0;
}


//Teiler um 1 erhöhen
teiler++;


//Ende der Inneren While Schleife
}


//Frage nach Primzahl Ergebnis
if(primzahl==1)
{

//Erhöhung des Primzahlzählers, falls Primzahl wahr ist
anzahl++;


//Ausgabe der Primzahl
printf(" %7d",zahl);


//Zeile/Seitenumbruch
//Position in Variable packen
ypos=wherey();


//Wenn Position 22 erreicht wurde dann...
if(ypos==22)
{


//Zeichne Strich
printf("ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n Weiter mit (Enter)");


//Pause bis (Enter)
getch();


//Nach Klick wird die Fläche der Primzahlen gelöscht und zur Ausgangsposition gegangen
//Markiert Fensterausschnitt
window(1,5,80,25);
//Löscht markierten Fensterausschnitt
clrscr();
//Markiere ganzen Bildschirm
window(1,1,80,25);
//gehe zu Startposition der Ausgabe
gotoxy(1,5);


}


}


//Zahlwert wird um 1 erhöht um die nächste Zahl berechnen zu können
zahl++;


//Erste Schleife Ende
}


//Zeige diese Meldung, wenn alle Zahlen aus dem Bereich aufgezählt worden sind
printf("\nÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄMehr als%5d Primzahlen gibt es nichtÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ",anzahl);
getch();


//Wiederholungsabfrage
//Bildschrim löschen
clrscr();
printf("Nochmal? (j) Standard (n) Abbruch ");
fflush(stdin);
scanf("%c",&frage);


//Solange nicht (n) getippt wurde, wird immer wieder neu angefangen
}while(frage!='n');


//Ende MAIN
}

Home << Schule << ITA-Mappe << Softwareentwicklung und Anmendung <<
Online: 1 | IP: | 19.11.2017 - 15:07:23  
©
Christian Klisch   - Alle Rechte vorbehalten - Impressum