/*---------------------------------------------------------------------------*/ /* Hauptprogramm zur Primfaktorzerlegung */ /* Dieses Programm berechnet alle Primzahlen die zusammen multipliziert */ /* werden muessen,um auf die eingegebene Zahl zu kommen. */ /* Programm ist von Chris Schmidt und Tom Fellmann */ /* Version 10 vom 15.5.00 (cs.g@gmx.net oder T.Fellmann@gmx.de) */ /*---------------------------------------------------------------------------*/ #include #include #include #include "PrimBest.h" #include "PrimFakt.h" /*---------------------------------------------------------------------------*/ /* Funktion beinhaltet alle Aufrufe der Funktionen die abgearbeitet werden */ /* muessen um zu einen Ergebniss zu kommen. */ /*---------------------------------------------------------------------------*/ void start() { unsigned long wert,w=0,a,i; unsigned char *Feld,*zeiger,Maske[8]; Maske[0]=1; for(i=0;i<7;i++) Maske[i]=0; printf("\n\t\tPrimfaktorzerlegung\n"); printf("\t\t===================\n\n"); /* Eingabe der Zahl */ wert=eingabe(); printf("Eingabe\n"); if (wert<=2) w=1; else w=((wert-3)/8); /* Speicher bereitstellung fuer die Berechnung */ printf("Speicher\n"); Feld=Speicher(w); printf("Uebergabe\n"); zeiger=Maske; /* Bestimmung der Primzahlen bis zur eingegebenen Zahl */ printf("Bestimmung\n"); Feld=Primzahlbestimmung(wert,Feld,zeiger); /* Ausgabe des Ergebnisses (der Primfaktoren) */ printf("Ausgabe\n"); a=ausgabe(wert,Feld,zeiger); /* freigabe des benoetigten Speichers */ printf("\nFreigabe\n"); free(Feld); } /*---------------------------------------------------------------------------*/ /* Haupt-Funktion die zur abfrage dient ob das Programm ausgefuehrt werden */ /* soll. Bei Ausfuehrung des Programmes wird Funktion start() ausgefuehrt. */ /*---------------------------------------------------------------------------*/ int main() { char Eingabewert; int i=1; while(i) { printf("\n\tPrimfaktorzerlegung ausfuehren? (j/n): "); scanf("%s",&Eingabewert); switch(Eingabewert) { case 'j': start(); break; case 'n': i=0;break; default: printf("\tFalsche Eingabe!\n"); } } return 0; }