forked from paulusja/info1_uebungen
54 lines
1.5 KiB
C
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;
|
|
} |