Add new assignments.

This commit is contained in:
paulusja
2025-11-13 11:01:22 +01:00
parent 7c56254b97
commit 0db804eabc
3 changed files with 150 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
/*
* Ergänzen Sie im untenstehenden Programm die fehlenden Funktionen. addiereText bekommt dabei eine Folge von
* Zahlenwörtern kleiner zehn übergeben und ermittelt daraus die Summe. Groß- und Kleinschreibung soll keine Rolle spielen.
* Zudem liefert die Funktion 0, wenn ein Zahlenwort nicht aufgelöst werden konnte, ansonsten 1.
*
* 1. Beispielhafter Programmablauf:
* >> Addiere: Fuenf achT SIEBEN
* Das Ergebnis lautet 20.
*
* 2. Beispielhafter Programmablauf:
* >> Addiere: fuenf achtzehn sieben
* Falsche Eingabe.
*/
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "../02_strings/eingabe.h"
#define MAX_EINGABE_LEN 100
char *wandleKlein(char *text);
int wandleZahl(const char *wort);
int addiereText(const char *text, int *erg);
int main()
{
char eingabeText[MAX_EINGABE_LEN];
int erg;
gibTextEin("Addiere: ", eingabeText, MAX_EINGABE_LEN);
if(addiereText(eingabeText, &erg))
printf("Das Ergebnis lautet %d.\n", erg);
else
printf("Falsche Eingabe.\n");
return EXIT_SUCCESS;
}
+38
View File
@@ -0,0 +1,38 @@
/*
* Erweitern Sie das folgende Programm, sodass es die Funktion qsort der Standard-Bibliothek verwendet,
* um das enthaltene String-Array sortiert auszugeben. Es sollen zuerst die Strings ohne Zahlen ausgegeben werden
* und am Ende die mit Zahlen. Die Strings ohne Zahlen sollen aufsteigend sortiert werden, die mit Zahlen absteigend.
* Sie können davon ausgehen, dass die im Array enthaltenen Strings immer nur aus Buchstaben oder nur aus Zahlen bestehen.
* Es ist also ausreichend, das erste Zeichen mittels isdigit(...) zu prüfen.
*
*/
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void gibStringsAus(const char *strings[], unsigned int anzahl);
int main()
{
const char *strings[] = {"789", "Zorro", "Adam", "Werner", "123", "Bernd", "Hubert", "456"};
unsigned int anzahlStrings = sizeof(strings)/sizeof(strings[0]);
printf("Vor Sortierung:\n");
gibStringsAus(strings, anzahlStrings);
printf("\nNach Sortierung:\n");
gibStringsAus(strings, anzahlStrings);
return EXIT_SUCCESS;
}
void gibStringsAus(const char *strings[], unsigned int anzahl)
{
for(int i = 0; i < anzahl; i++)
{
printf("%s\n", strings[i]);
}
}