ArcticFrezzer
Cadet 4th Year
- Registriert
- Feb. 2011
- Beiträge
- 108
Liebe CB'ler
Ich soll ein Programm programmieren das einen Wertebereich bis 1000 untersuchen soll. (Den Wertebereich kann man selber eingeben) Weiter soll eine einstellige Ziffer eingegeben werden nach der geprüft werden soll.
Es sollen alle Zahlen innerhalb des Wertebereichs ausgegeben werden, die durch die eingegebene Ziffer teilbar sind oder die Ziffer enthalten.
Ich hab schon einen Quelltext geschrieben aber der Funktioniert nicht immer so wie er soll. Er gibt also ab und an gar keine Zahlen aus.
Könnt ihr irgendwo nen Fehler sehn? Ich muss noch dazu sagen das ich erst seit ca nen halben Jahr programmier. Also hab gerade mal nen Array im Unterricht kennengelernt.
//Funktion von Spiel
//Funktionsaufruf von Spiel//
void spiel ()
// Variablen von Spiel
{
int links =0;
int rechts =0;
int ziffer =0;
int Einer =0;
int Zehner =0;
int Hunderter =0;
int Tausender =0;
int vergleich =0;
int exit =0;
//Überschrift von Spiel
system("cls");
printf("Gesellschaftsspiel\n------------------------\n");
//Wert Eingabe von Spiel
//Linke Grenze
//---------------------------------------------------------------------//
printf("Geben sie die linke Grenze ein: ");
scanf("%d",&links);
if(links<1)
{
system("cls");
printf("!!!der Wert darf nicht kleiner als 1 sein\n\n");
printf("\n");
spiel();
}
if(links>=1000)
{
system("cls");
printf("!!der Wert darf nicht Groesser als 1000 sein\n");
printf("\n");
spiel();
}
//rechte Grenze
//-----------------------------------------------------------------------//
printf("Linke Zahlengrenze: (%d)\n",links);
printf("Geben sie die rechte Grenze ein (max. 1000): ");
scanf("%d",&rechts);
if(rechts<=links)
{
system("cls");
printf("der Wert darf nicht kleiner oder gleich wie (%d) sein\n",links);
printf("\n");
spiel();
}
if(rechts>1000)
{
system("cls");
printf("der Wert darf nicht Groesser als 1000 sein\n");
printf("\n");
spiel();
}
//Teiler
//---------------------------------------------------------------------//
printf("Linke Zahlengrenze: (%d)\n",links);
printf("Rechte Zahlengrenze: (%d)\n",rechts);
printf("Geben sie denn Teiler von (1) bis (9) ein:");
scanf("%d",&ziffer);
if(ziffer>9)
{
system("cls");
printf("der Wert muss einstellig und groesser 0 sein\n",links);
printf("\n");
spiel();
}
//---------------------------------------------------------------------//
printf("Gesellschaftsspiel\n------------------------\n");
printf("Linke Zahlengrenze: (%d)\n",links);
printf("Rechte Zahlengrenze: (%d)\n",rechts);
printf("Teiler: (%d)\n",ziffer);
printf("Ergebnisse:\n-------------------------------------------------------------\n");
//Prüft die vorhandenheit der ziffer in den Zahlen und teilt die zahl in Einer,Zehner,Hunderter,Tausender//
for (links;links<=rechts;links++)
{
Einer = links-Tausender-Hunderter-Zehner;
Zehner = (links-Tausender-Hunderter)/10;
Hunderter = (links-Tausender)/100;
Tausender = links/1000;
//Prüft die vorhandenheit der Ziffer in den einzelnen Zahl Sigmenten.//
if (Einer == ziffer||Zehner == ziffer||Hunderter == ziffer || Tausender == ziffer)
{
printf ("\n<%d>",links);
}
//Prüft die Zahl ob sie durch die ziffer Teilbar ist
else
{
vergleich=links/ziffer;
if(vergleich==0)
{
printf("\n%d",links);
}
}
}
printf("\n------------------------------------------------------------------------------\n");
printf("\n Was wollen Sie tun?\n\n");
printf("\n\n\nwiederholen(1)\nzurueck zum Hauptmenue(2)?\n\n");
printf("Waehlen sie:");
scanf("%d",&exit);
if(exit==2)
{
system("cls"); main();
}
if(exit==1)
{
system("cls"); spiel();
}
else
{
system("cls");
printf("\n!Falsche Eingabe\n");
main();
}
}
Ich soll ein Programm programmieren das einen Wertebereich bis 1000 untersuchen soll. (Den Wertebereich kann man selber eingeben) Weiter soll eine einstellige Ziffer eingegeben werden nach der geprüft werden soll.
Es sollen alle Zahlen innerhalb des Wertebereichs ausgegeben werden, die durch die eingegebene Ziffer teilbar sind oder die Ziffer enthalten.
Ich hab schon einen Quelltext geschrieben aber der Funktioniert nicht immer so wie er soll. Er gibt also ab und an gar keine Zahlen aus.
Könnt ihr irgendwo nen Fehler sehn? Ich muss noch dazu sagen das ich erst seit ca nen halben Jahr programmier. Also hab gerade mal nen Array im Unterricht kennengelernt.
//Funktion von Spiel
//Funktionsaufruf von Spiel//
void spiel ()
// Variablen von Spiel
{
int links =0;
int rechts =0;
int ziffer =0;
int Einer =0;
int Zehner =0;
int Hunderter =0;
int Tausender =0;
int vergleich =0;
int exit =0;
//Überschrift von Spiel
system("cls");
printf("Gesellschaftsspiel\n------------------------\n");
//Wert Eingabe von Spiel
//Linke Grenze
//---------------------------------------------------------------------//
printf("Geben sie die linke Grenze ein: ");
scanf("%d",&links);
if(links<1)
{
system("cls");
printf("!!!der Wert darf nicht kleiner als 1 sein\n\n");
printf("\n");
spiel();
}
if(links>=1000)
{
system("cls");
printf("!!der Wert darf nicht Groesser als 1000 sein\n");
printf("\n");
spiel();
}
//rechte Grenze
//-----------------------------------------------------------------------//
printf("Linke Zahlengrenze: (%d)\n",links);
printf("Geben sie die rechte Grenze ein (max. 1000): ");
scanf("%d",&rechts);
if(rechts<=links)
{
system("cls");
printf("der Wert darf nicht kleiner oder gleich wie (%d) sein\n",links);
printf("\n");
spiel();
}
if(rechts>1000)
{
system("cls");
printf("der Wert darf nicht Groesser als 1000 sein\n");
printf("\n");
spiel();
}
//Teiler
//---------------------------------------------------------------------//
printf("Linke Zahlengrenze: (%d)\n",links);
printf("Rechte Zahlengrenze: (%d)\n",rechts);
printf("Geben sie denn Teiler von (1) bis (9) ein:");
scanf("%d",&ziffer);
if(ziffer>9)
{
system("cls");
printf("der Wert muss einstellig und groesser 0 sein\n",links);
printf("\n");
spiel();
}
//---------------------------------------------------------------------//
printf("Gesellschaftsspiel\n------------------------\n");
printf("Linke Zahlengrenze: (%d)\n",links);
printf("Rechte Zahlengrenze: (%d)\n",rechts);
printf("Teiler: (%d)\n",ziffer);
printf("Ergebnisse:\n-------------------------------------------------------------\n");
//Prüft die vorhandenheit der ziffer in den Zahlen und teilt die zahl in Einer,Zehner,Hunderter,Tausender//
for (links;links<=rechts;links++)
{
Einer = links-Tausender-Hunderter-Zehner;
Zehner = (links-Tausender-Hunderter)/10;
Hunderter = (links-Tausender)/100;
Tausender = links/1000;
//Prüft die vorhandenheit der Ziffer in den einzelnen Zahl Sigmenten.//
if (Einer == ziffer||Zehner == ziffer||Hunderter == ziffer || Tausender == ziffer)
{
printf ("\n<%d>",links);
}
//Prüft die Zahl ob sie durch die ziffer Teilbar ist
else
{
vergleich=links/ziffer;
if(vergleich==0)
{
printf("\n%d",links);
}
}
}
printf("\n------------------------------------------------------------------------------\n");
printf("\n Was wollen Sie tun?\n\n");
printf("\n\n\nwiederholen(1)\nzurueck zum Hauptmenue(2)?\n\n");
printf("Waehlen sie:");
scanf("%d",&exit);
if(exit==2)
{
system("cls"); main();
}
if(exit==1)
{
system("cls"); spiel();
}
else
{
system("cls");
printf("\n!Falsche Eingabe\n");
main();
}
}