info1_uebungen/06/divisionMitRest.c
2026-05-07 13:54:56 +02:00

54 lines
1.5 KiB
C

/********************************************************************************************
* Schreiben Sie ein Programm, das zwei ganze Zahlen einliest und das Ergebnis der
* ganzzahligen Division der beiden Zahlen sowie den Rest ausgibt. Schreiben Sie eine Funktion,
* die beide Ergebnisse (Division + Rest) zurückgibt. Das Programm soll, wie gehabt, solange
* nach einer Eingabe fragen, bis diese gültig ist.
*
* Beispielablauf:
* Dividend
* Geben Sie eine Zahl ein: qwert
* Fehler! Keine Zahl!
* Geben Sie eine Zahl ein: 32
* Divisor
* Geben Sie eine Zahl ein: 0
* Fehler! Die Zahl darf nicht 0 sein!
* Geben Sie eine Zahl ein: 5
* Ergebnis: 32 / 5 ist 6 mit Rest 2.
********************************************************************************************/
#include <stdio.h>
#include "../io/myio.h"
int inputNonZeroNumber(const char* text);
int divideWithRemainder(int number1, int number2, int* remainder);
int main()
{
int number1 = getNumber("Geben Sie eine Zahl ein: ");
int number2 = inputNonZeroNumber("Geben Sie eine Zahl ein (!=0): ");
int remainder = 0;
int divisonResult = divideWithRemainder(number1, number2, &remainder);
printf("%d / %d = %d, R: %d\n", number1, number2, divisonResult, remainder);
return 0;
}
int inputNonZeroNumber(const char* text)
{
int result = 0;
while(result == 0)
{
result = getNumber(text);
}
return result;
}
int divideWithRemainder(int n1, int n2, int* remainder)
{
*remainder = n1 % n2;
return n1 / n2;
}