C :: Aufgabe #7
4 Lösungen
Programmier-Basics: Centrechner
Anfänger - C
von Freki
- 27.12.2012 um 14:51 Uhr
Schreiben Sie ein Programm, das eine Zahl in Cent einliest.
Das Programm soll die Anzahl von Dollar und Cent
wie folgt ausgeben:
Das Programm soll die Anzahl von Dollar und Cent
wie folgt ausgeben:
Konsolenausgabe:
Geben Sie die Cent ein:
324
Das ergibt 3 Dollar und 24 Cent.
Lösungen:
/* cent.c devnull,18-07-2013 */
#include <stdlib.h>
#include <stdio.h>
/* main */
int main()
{
char scent[20];
char sdollar[20];
int cent,dollar;
printf("Der Centbetrag: " );
scanf( "%s", scent );
cent=atoi(scent);
dollar=cent/100;
cent%=100;
sprintf(sdollar,"%d Dollar",dollar);
sprintf(scent,"%d Cent",cent);
printf("Das ergibt %s%s%s%s.\n", (dollar||cent)?"":"gar nix",
(dollar)?sdollar:"",
(dollar&¢)?" und ":"",
(cent)?scent:"");
return 0;
}
#include <stdio.h>
/*Bekanntmachung der Funktionen*/
int centToDollar(int *cent);
int restCent(int *cent);
/*Globale Variablen und Zeiger*/
/* Zeiger auf Funktionen:
*1. Wert ist der Rückgabewert
*2. Wert ist der Zeigername der Funktion
*3. Wert ist der Übergabetyp (hier auch ein Zeiger)
*/
int (*umrechnenDollar)(int *) = centToDollar;
int (*umrechnenCent)(int *) = restCent;
/* Main-Funktion*/
int main(void)
{
/*Variablendefinition und Initialisierung*/
int betragCent = 0;
int check = 0;
/*Erste Konsolenausgabe*/
printf("Geben Sie den Centbetrag ein\n");
check = scanf("%i", &betragCent);
/*Typenüberprüfung*/
if(check != 0){
printf("%i Cent sind %i Dollar und %i Cent \n", betragCent, umrechnenDollar(&betragCent), umrechnenCent(&betragCent));
}
else{
printf("Eingabe war keine Zahl\n");
}
return (0);
}
/*Funktionslogik*/
int centToDollar(int *cent){
return (*cent/100);
}
int restCent(int *cent){
return ((*cent)-umrechnenDollar(cent)*100);
}Konsolenausgabe:
\C-Aufgaben> .\Aufgabe-0007.exe
Geld in Cent: 324
Geld in Dollar: 3.24$ (3 Dollar und 24 Cent)
///////////////////////////////////////////////////////////
//! @file Aufgabe-0007.c
//! @date 08.01.2019
//! @author Sebastian Schröder
//! @details
//! Compiler : gcc 5.1.0
//! C-FLAGS : -pipe -std=c99 -Wall -Wextra -pedantic -Werror -D_DEFAULT_SOURCE -O0 -g -o Aufgabe-0005.exe Aufgabe-0005.c
//! Testumgebung: Windows 10 - Windows PowerShell
//!
//! Aufgabe: Programmier-Basics: Centrechner
//! Schreiben Sie ein Programm, das eine Zahl in Cent einliest.
//! Das Programm soll die Anzahl von Dollar und Cent wie folgt ausgeben:
//! Konsolenausgabe:
//! Geben Sie die Cent ein: 324
//! Das ergibt 3 Dollar und 24 Cent.
///////////////////////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
int getNumber (int min, const char *output);
int main (/*int argc, char **argv*/) {
int cent = getNumber (0, "Geld in Cent: ");
printf ("Geld in Dollar: %.2f$ (%i Dollar und %i Cent)", (float) cent / 100.0f, cent / 100, cent % 100);
return EXIT_SUCCESS;
}
int getNumber (int min, const char *output) {
int value = 0;
int check = 0;
char ch;
do {
printf ("%s", output);
check = scanf ("%i", &value);
while ((ch = getchar ()) != '\n' && ch != EOF);
if (1 != check) {
printf("Eingabe ungueltig. Eingabe muss eine positive Ganzzahl sein.\n");
}
if (value < min) {
printf("Eingabe ungueltig. Eingabe muss mindestens %i betragen.\n", min);
check = 0;
}
} while (check != 1);
return value;
}
#include <stdio.h>
int main(void)
{
int cent;
printf("Geben sie die Cent ein: \n");
scanf("%d", ¢);
printf("Das ergibt %d Dollar und %d Cent.\n", cent/100, cent - (cent/100) * 100);
}
