hi Jose’,
vielen Dank fuer Deinen Hinweis, hier also das Programm samt
Aufgabenstellung nochmal ordentlich formatiert:
Schreiben Sie ein Programm, das einen Sägezahn vertikal
in den unten
dargestellten Formen auf Bildschirm ausgibt. Die Breite
des Bildschirms
beträgt normal 80 Spalten (numeriert von 0 bis 79). Die
Umrandung
stellt symbolisch die Bildschirm- bzw. Fenstergrenzen
dar.
Um den Sägezahn variabel gestalten zu können, sollen
folgende Parameter
von Tastatur geholt werden:
--\> LINKS : Spalte, in der die linke Spitze des
Sägezahns liegen soll
--\> RECHTS : Spalte, in der die rechte Spitze des
Sägezahns liegen soll
--\> ZEILEN : Anzahl der Zeilen, in denen der
Sägezahn von LINKS nach
RECHTS zu-
bzw. von RECHTS nach LINKS abnimmt
--\> FILL : ist 0, wenn links von den Sternen
Leerzeichen ausgegeben
werden sollen
und ist 1, wenn an Stelle der Leerzeichen
Minuszeichen
auszugeben sind
--\> ABSCHNITTE : Anzahl der Abschnitte, die auf
Bildschirm ausgegeben
werden
sollen. Ein Abschnitt besteht jeweils aus ZEILEN
Zeilen, d.h.
jeder komplette Sägezahnteil LINKS bis RECHTS
bzw. RECHTS
bis LINKS ist ein Abschnitt.
Die Parameter müssen folgende Bedingungen erfüllen:
0
void leerzeichen(int,int);
void berechnung(int,int,int,int,int);
int pruefung(int,int);
void main (void)
{
int
links=2,rechts=8,zeilen=7,abschnitte=4,zaehler,zaehler1,zeichen=0,obergrenze=80;;
printf("hidiho, herzlich willkommen zur Saege !!!\n");
printf("bitte geben Sie die rechte Spalte ein:");
do
scanf("%i",&rechts);
while (!pruefung(rechts,79));
printf("und nun die linke:");
do
scanf("%i",&links);
while (!pruefung(links,rechts));
printf("und nun die Anzahl der Zeilen:");
do
scanf("%i",&zeilen);
while (!pruefung(zeilen,zeilen));
printf("wieviele Abschnitte sollen ausgegeben werden
?");
do
scanf("%i",&abschnitte);
while (!pruefung(abschnitte,abschnitte));
printf("soll ich die leerstellen mit minuszeichen
fuellen ?");
do
scanf("%i",&zeichen);
while (!(zeichen==0 || zeichen==1));
for (zaehler1=0;zaehler1=0;zaehler--)
{
weiter=((rechts-links-0)\*zaehler /
(zeilen-1));
leerzeichen(links + weiter,zeichen);
printf("\*\n");
}
}
}
int pruefung(int eingabe,int obergrenze)
{
if (eingabe 0)
return (1); /\*wenn die Eingabe groesser als 0 und unter
der geforderten obergrenze ist,
dann sage, dass alles ok ist\*/
printf("Fehlerhafte Eingabe, bitte nochmal!");
return (0);
}