C-Programm – letzte Ziffer anzeigen

Die letzte Ziffer einer Zahl ausgeben lassen…

#include <stdio.h>

void main(void) {
    int n,letzteZiffer;

    /* 
       
      n mod 10 
    = n % 10 
    = Rest, nach der Division durch 10
     
    "Die Division mit Rest (Modulo) wird in der Programmierung relativ häufig verwendet. 
    Die Syntax ist dabei die eines Operators. Mit mod kann geprüft werden, 
    ob eine Zahl gerade ist: if ( (x mod 2) == 0), dann ist x gerade. 
    Modulo kann man immer benutzen, wenn man alle X Schleifendurchläufe einen speziellen 
    Programmcode ausführen will. Auch bei vielen Berechnungen und Algorithmen ist er 
    sinnvoll einsetzbar. Allgemein kann man mit mod prüfen, 
    ob eine Zahl durch eine andere genau teilbar ist, dann ist der Modulo nämlich Null." - wiki

    */

    printf("Bitte eine Zahl eingeben: ");
    scanf("%d", &n);
    letzteZiffer = n % 10;
    printf("\nletzteZahl %d\n", letzteZiffer);
}

C-Programm – Steuerzeichen

“Als Steuerzeichen bezeichnet man die Zeichen eines Zeichensatzes, die keine darstellbaren Zeichen repräsentieren. (Darstellbare Zeichen sind z. B. Buchstaben, Ziffern und Satzzeichen). Ursprünglich wurden sie zur Ansteuerung von Textausgabegeräten wie Textdruckern, Telegrammgeräten oder Fernschreibern verwendet. Durch Steuerzeichen ist es möglich, Steuerungsbefehle für die Ausgabegeräte innerhalb des Zeichensatzes zu übertragen, anstatt die Steuerungsinformationen über ein anderes Protokoll zu übertragen.” – Wiki


(Einige dieser Steuerzeichen habe ich bereits in meiner .bashrc eingetragen, um den Bash-Prompt Farbe zu verleihen.)


Steuerzeichen Bedeutung
\a
BEL (bell) – akkustisches Warnsignal
\b
BS (backspace) – setzt Cursor um eine Position nach links
\f
FF(formfeed) – ein Seitenvorschub wird ausgelöst.
\n
NL (newline) – Cursor geht zum Anfang der nächsten Zeile
\r
CR (carriage return) – Cursor springt zum Anfang der aktuellen Zeile
\t
HT (horizontal tab) – Zeilenvorschub zur nächsten horizontalen Tabulatorposition (meistens acht Leerzeichen weiter)
\v
VT (vertical tab) – Cursor springt zur nächsten vertikalen Tabulatorposition
\"
” wird ausgegeben
\'
‘ wird ausgegeben
\?
? wird ausgegeben
\\
\ wird ausgegeben
\0
NULL (ist die Endmarkierung eines Strings)
\nnn
Ausgabe eines Oktalwerts (z.B. \033 = ESCAPE-Zeichen)
\xhh
Ausgabe eines Hexdezimalwerts
\033[0m
normaler Text
\033[1m
Fettschrift
\033[4m
unterstrichen
\033[30m
Schriftfarbe Schwarz
\033[31m
Schriftfarbe Rot
\033[32m
Schriftfarbe Grün
\033[33m
Schriftfarbe Gelb
\033[34m
Schriftfarbe Blau
\033[35m
Schriftfarbe Violett
\033[36m
Schriftfarbe Türkis
\033[40m
Hintergrundfarbe Schwarz
\033[41m
Hintergrundfarbe Rot
\033[42m
Hintergrundfarbe Grün
\033[43m
Hintergrundfarbe Gelb
\033[44m
Hintergrundfarbe Blau
\033[45m
Hintergrundfarbe Violett
\033[46m
Hintergrundfarbe Türkis


Es folge Beispiele, wo dies angewendet wurde…

#include <stdio.h>

main() {
    printf("\033[1m\033[31mDieser Text ist fett und rot.\033[0m\n");
    return(0);
}
#include <stdio.h>

int main() {
        printf("Dies ist ein Test und es folgt ein Zeilenumbruch\n");
        printf("\tTab einfügen und noch ein Zeilenumbruch\n");
        printf("Dieser Text wird überschrieben\r");
        printf("Das Leer \bzeichen wird entfernt");
        printf("\n\n\n");
        printf("\tJ\n");
        printf("\tu\n");
        printf("\ts\n");
        printf("\tt for\tF\n");
        printf("\t\tu\n");
        printf("\t\tn");
        return 0;
}

/* Ausgabe:

Dies ist ein Test und es folgt ein Zeilenumbruch
        Tab einfügen und noch ein Zeilenumbruch
Das Leerzeichen wird entfernt%

        J
        u
        s
        t for   F
                u
                n
*/

C-Programm – Schaltjahr Berechnung

ALGORITHMUS Schaltjahr


Beschreibung:

  • das Programm soll testen, ob eine Folge von Jahren jeweills ein Schaltjahr ist
  • wenn das Jahr größer 1582 ist
  • wenn das Jahr durch 4, aber nicht durch 100 teilbar ist, handelt es sich um ein Schaltjahr
  • ist das Jahr durch 400 teilbar, handelt es sich ebenfalls um ein Schaltjahr


Daten:

  • Jahr (Startwert)
  • Jahr (Endwert)
  • Schrittweite


Kern-(Algorithmus):

Einlesen von "Startwert" + "Endwert" + "Schrittweite"
WENN "Startwert" < 1582 ODER "Startwert" >= "Endwert" ODER Schrittweite <= 0
	DANN Fehler-Meldung
ANSONSTEN
	FÜR "Startwert" BIS "Endwert"
		WENN ("Startwert" / 4 ohne Rest UND "Startwert / 100 mit Rest) ODER ("Startwert" / 400 ohne Rest)
			DANN Ausgabe: "Ja"
		ANSONSTEN
			Ausgabe: "Nein"
		ENDE WENN
	ENDE FÜR
ENDE WENN


C-Programm:

#include "stdio.h"

int main(void) {
	int jahr_startwert,jahr_endwert,schrittweite;

	printf("\n\tK a l e n d e r\n");

	printf("\nBitte den Startwert (Jahrszahl) eingeben: ");
	scanf("%d", &jahr_startwert);

	printf("Bitte den Endwert (Jahreszahl) eingeben: ");
	scanf("%d", &jahr_endwert);

	printf("Bitte die Schrittweite (Jahre) eingeben: ");
	scanf("%d", &schrittweite);

	/* Beginn des gregorianischen Kalerndes - 1582*/
	if (jahr_startwert < 1582 || jahr_startwert >= jahr_endwert || schrittweite <= 0) {
		printf("\nFalsche Angabe!");
	} else {
		printf("\nJahr | Schaltjahr?");
		printf("\n------------------");

		for (jahr_startwert; jahr_startwert <= jahr_endwert; jahr_startwert=jahr_startwert+schrittweite) {
			if ((jahr_startwert % 4 == 0) && (jahr_startwert % 100 != 0) || (jahr_startwert % 400 == 0)) {
				printf("\n%d | Ja",jahr_startwert);
			}
			else {
				printf("\n%d | Nein",jahr_startwert);
			}
		}
	printf("\n\n");
	}
	return (0);
}