C :: Aufgabe #10

4 Lösungen Lösungen öffentlich

Programmier-Basics: Bestellungsüberprüfung

Anfänger - C von Freki - 27.12.2012 um 14:55 Uhr
Bobs Schrauben Discount verlangt folgende Preise:

5 Cent pro Schraube
3 Cent pro Mutter
1 Cent pro Unterlegscheibe

Schreiben Sie ein Programm, das den Anwender nach der Anzahl der Schrauben,
Muttern und Beilegscheiben fragt und dann den Gesamtbetrag berechnet und ausgibt.
Zusätzlich überprüft das Programm die Bestellung. Es ist normalerweise ein Fehler, wenn mehr Schrauben als Muttern bestellt werden.
In diesem Fall gibt das Programm die Meldung aus: "Kontrollieren Sie Ihre Bestellung!"
Andernfalls gibt das Programm aus: "Die Bestellung ist okay."
In jedem Fall wird der Gesamtbetrag ausgegeben.

Konsolenausgabe:

Anzahl der Schrauben:
12
Anzahl der Muttern:
8
Anzahl der Unterlegscheiben:
24

Kontrollieren Sie Ihre Bestellung!

Gesamtbetrag: 108

Lösungen:

vote_ok
von devnull (8870 Punkte) - 18.07.2013 um 18:40 Uhr
Quellcode ausblenden C-Code
/* screws.c  devnull,18-07-2013 */
#include <stdio.h>

#define SCREW_PRICE  5
#define NUT_PRICE    3
#define WASHER_PRICE 1

/* main */
int main()
{
	int cscrews,cnuts,cwashers;
	int price;
	
	printf("Anzahl Schrauben: ");
	scanf( "%d", &cscrews );
	printf("Anzahl Muttern  : ");
	scanf( "%d", &cnuts );
	printf("Anzahl Unterlegscheiben : ");
	scanf( "%d", &cwashers );

	price =  SCREW_PRICE * cscrews + 
	           NUT_PRICE * cnuts   +
	        WASHER_PRICE * cwashers;
	if (cscrews>cnuts)
		printf("\nKontrollieren Sie Ihre Bestellung!\n");
	printf("\nGesamtbetrag: %d\n",price);
	return 0;
}
vote_ok
von AgnesZeidler (100 Punkte) - 24.07.2017 um 15:05 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>

/*
Aufgabe:
Bobs Schrauben Discount verlangt folgende Preise:

5 Cent pro Schraube
3 Cent pro Mutter
1 Cent pro Unterlegscheibe

Schreiben Sie ein Programm, das den Anwender nach der Anzahl der Schrauben,
Muttern und Beilegscheiben fragt und dann den Gesamtbetrag berechnet und ausgibt.
Zusätzlich überprüft das Programm die Bestellung. Es ist normalerweise ein Fehler, 
wenn mehr Schrauben als Muttern bestellt werden.
In diesem Fall gibt das Programm die Meldung aus: "Kontrollieren Sie Ihre Bestellung!"
Andernfalls gibt das Programm aus: "Die Bestellung ist okay."
In jedem Fall wird der Gesamtbetrag ausgegeben.
*/

int main()
{
	int CountSchraube;
	int CountMutter;
	int CountUnterlegscheibe;
	int schraube = 5;
	int mutter = 3;
	int unterLegScheibe = 1;
	int total;

	printf("Anzahl der Schrauben: \n");
	scanf("%d", &CountSchraube);
	printf("Anzahl der Muttern: \n");
	scanf("%d", &CountMutter);
	printf("Anzahl der Unterlegscheiben: \n");
	scanf("%d", &CountUnterlegscheibe);
	printf("\n");

	if (CountSchraube > CountMutter) 
	{
		printf("Kontrollieren Sie Ihre Bestellung!\n\n");
	}
	else 
	{
		printf("Die Bestellung ist okay.\n\n");
	}

	total = schraube * CountSchraube + mutter * CountMutter + unterLegScheibe * CountUnterlegscheibe;

	printf("Gesamtbetrag: %d\n", total);

	return 0;
}
vote_ok
von kathleenw (3600 Punkte) - 18.08.2020 um 09:42 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
int main(void)
{
    int schrauben;
    int muttern;
    int unterlegscheiben;

    printf("Anzahl der Schrauben:");
    scanf("%d", &schrauben);
    printf("\nAnzahl der Muttern:");
    scanf("%d", &muttern);
    printf("\nAnzahl der Unterlegscheiben:");
    scanf("%d", &unterlegscheiben);
    
    if (schrauben!=muttern)
        printf("\nKontrollieren Sie ihre Bestellung\n");
    else
        printf("\nDie Bestellung ist okay\n");
    
    printf("Gesamtbetrag in Cent: %d \n\n", 5*schrauben+3*muttern+unterlegscheiben);

}

vote_ok
von psych0dad (260 Punkte) - 13.11.2020 um 14:52 Uhr
Quellcode ausblenden C-Code
/* Bestellungsüberprüfung */

#include <stdio.h>
#include <stdlib.h>
#define pschraube 5
#define pmutter   3
#define pscheibe  1

void check(int c){
    if(c!=1)
        printf("Fehler! Versuchen sie es noch ein mal!\n");
 }
    
int main(void){
    int schraube, mutter, scheibe, auswahl;
    float zuzahlen;
    int check1, check2, check3;
    
    printf(" _______________________\n");
    printf("|                       |\n");
    printf("|Bobs Schrauben Discount|\n");
    printf("|_______________________|\n\n");
    printf("-------------------------\n\n");
    printf("Preise\n");
    printf("-------------------------\n");
    printf("%d cent pro Schraube\n", pschraube);
    printf("%d cent pro Mutter\n", pmutter);
    printf("%d cent pro Unterlegscheibe\n", pscheibe);
    printf("-------------------------\n\n");
    
    do{
        do{
            printf("Anzahl der Schrauben: ");
            check1=scanf("%d", &schraube);
            check(check1);
         } while(getchar() != '\n' );

        do{
            printf("Anzahl der Muttern: ");
            check2=scanf("%d", &mutter);
            check(check2);
         } while(getchar() != '\n' );

        do{
            printf("Anzahl der Unterlegscheiben: ");
            check3=scanf("%d", &scheibe);
            check(check3);
         } while(getchar() != '\n' );
    
      
    if(schraube<mutter){
        printf("Bitte Uebrpruefen sie Ihre bestellung!\n");
        do{
            printf("Druecken sie -1-, wenn die Bestellung richtig ist.\n");
            printf("Druecken sie -2-, wenn sie die Bestellung neu eingeben mochten.\n");
            scanf("%d", &auswahl);
            switch(auswahl){
                case 1: break;
                case 2: printf("Der Bestellforgang faengt vom Neuen an.\n");
                        break;
                default: printf("Unglueltige Wahl, bitte versuchen sie es noch ein Mal.\n");
             }
         } while(getchar() != '\n' );
     }

     } while(auswahl==2 || schraube<mutter);
    
    zuzahlen=(float)(schraube*pschraube+mutter*pmutter+scheibe*pscheibe)/100;
    printf("Der zu zahlende Betrag ist: %.2f€\n", zuzahlen);
    return EXIT_SUCCESS;
 }