2 Übungen | |
→ | 2.6 Übung 5 |
Theorie |
Aufgabe: Programm vervollständigen |
Informieren Sie sich über Vergleichsoperatoren und logische Operatoren, siehe Abschnitt Zuweisungen und Berechnungen.
Informieren Sie sich über Funktionen zur Klassifizierung von Buchstaben, siehe Abschnitt ← Funktionen für die Arbeit mit einzelnen Zeichen.
/** @file ex048.c Uebungsaufgabe fuer Vergleichs- und Logikoperatoren.
Nur unter Windows lauffaehig.
*/
/* Copyright (C) 2014-2017 - HS Schmalkalden. All rights reserved. */
#include <stdio.h>
#include <ctype.h>
#include "he-winkey.h"
/** Hauptprogramm.
@return 0 bei Erfolg.
*/
int
main(void)
{
int c; /* Aktuell zu vearbeitendes Zeichen */
do {
/* Zeichen einlesen */
c = hsm_et_windows_key_get();
/* Zeichen vearbeiten */
if(isascii(c) ??? isprint(c)) {
if((('a' ??? c) ??? ('z' ??? c)) ??? (('A' ??? c) ??? ('Z' ??? c))) {
printf("%c ist ein Buchstabe.\n", c);
}
else {
if(('0' ??? c) ??? ('9' ??? c)) {
printf("%c ist eine Zahl.\n", c);
}
else {
printf("%c ist weder Buchstabe noch Zahl.\n", c);
}
}
}
else {
printf("Zeichen %d ist nicht druckbar.\n", c);
}
} while(c ??? HE_WINKEY_ESC);
return 0;
}
/* vim: set ai sw=4 ts=4 expandtab : */
Das Programm reagiert auf gedrückte Tasten auf der Tastatur.
Mit der Funktion hsm_et_windows_key_get() wird jeweils ein Tastendruck von der Tastatur gelesen und ein Kennwert für die gedrückte Taste bzw. Tastenkombination zurückgegeben.
Zunächst wird unterschieden, ob es sich um ein druckbares oder nicht druckbares Zeichen handelt.
Für druckbare Zeichen wird unterschieden, ob es sich um einen
Buchstaben, eine Zahl oder ein sonstiges Zeichen handelt.
Ein Buchstabe kann entweder ein Kleinbuchstabe aus dem Bereich
'a'...'z' oder ein Großbuchstabe aus dem Bereich 'A'...'Z'
sein.
Vervollständigen Sie den Quelltext, erstellen Sie das Programm
und testen Sie es.
Hinweis: Zum Erstellen des Programmes muss noch die
Quelldatei he-winkey.c mit hinzugenommen werden, diese enthält die
Funktion hsm_et_windows_key_get().
Der Include-Pfad muss C:\Temp\C enthalten, die Dateien he-winkey.h
und he-winkey.c müssen in diesem Verzeichnis liegen.