C :: Aufgabe #7

4 Lösungen Lösungen öffentlich

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:


Konsolenausgabe:

Geben Sie die Cent ein:
324
Das ergibt 3 Dollar und 24 Cent.


Lösungen:

vote_ok
von devnull (8870 Punkte) - 18.07.2013 um 17:53 Uhr
Quellcode ausblenden C-Code
/* 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;
}
vote_ok
von Pathfinder (50 Punkte) - 12.08.2016 um 18:08 Uhr
Quellcode ausblenden C-Code
#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);
}
vote_ok
von mraimbot (590 Punkte) - 08.01.2019 um 20:08 Uhr

Konsolenausgabe:

\C-Aufgaben> .\Aufgabe-0007.exe
Geld in Cent: 324
Geld in Dollar: 3.24$ (3 Dollar und 24 Cent)

Quellcode ausblenden C-Code
///////////////////////////////////////////////////////////
//! @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;
}
vote_ok
von kathleenw (3600 Punkte) - 18.08.2020 um 09:32 Uhr
Quellcode ausblenden C-Code
#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);
}