Tech-Review.de
Forenbeitrag von climbing93 - Eingetragen am 01.05.2010 - 16:46:50
Re: Climbings little C tut

Einmal Switch und String Operationen in nem Getraenkeautomat eingebaut:


Code:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int auswahl;
    float kosteneinwurfretourGeld;
    //String in C
    char getraenkName[11];
    printf("Getraenkeautomatnn");
    printf("Waehlen sie Ihr Getraenk aus:n1) Wassert(0.50 Fr.)n2) Limonadet(1.00 Fr.)n3) Biertt(2.00 Fr.)nn");
    auswahl rightInput(1,3);
    switch(auswahl){
        case 1:
            kosten 0.50;
            //String bauen
            strcpy(getraenkName"ihr Wasser");
        break;
        case 2:
            kosten 1;
            strcpy(getraenkName"ihre Limonade");
        break;
        case 3:
            kosten 2;
            strcpy(getraenkName"ihr Bier");
        break;
        default:
            printf("Interner Fehler, Programm wird beendet");
            return -1;
        break;
    }
    do{
        printf("Bitte werfen Sie %1.2f Euro ein: "kosten);
        scanf("%f",&einwurf);
        fflush(stdin);
    }while(einwurf kosten);
    printf("Bitte entnehmen Sie %s.n"getraenkName);
    retourGeld einwurf kosten;
    if(retourGeld 0){
    printf("Ihr Retourgeld betraegt %.2f Fr.n"retourGeld);
    }
    //Damit das programm nicht verschwindet
    system("PAUSE");
    return 0;
}
//Überprüfungsfunktion für die richtige EIngabe von Werten
int rightInput(int minint max){
    int returnRightInputcounter;
    char komma ' ';
    do{
        printf("Geben Sie");
        for(counter=min;counter <= max;counter++){
            if(counter == max){
                printf(" oder %i ein:",counter);
            }else{
                printf("%c %i",komma,counter);
            }
            komma ',';
        }
        scanf("%i",&returnRightInput);
        fflush(stdin);
    }while(returnRightInput min || returnRightInput max);
}
 


Ergibt am Ende einen Getränkeautomaten und dieses Ding Stuf ich mal als nicht quick and dirty ein.

Standardmethode, welche ich verwende um das Programm n-mal laufen zulassen ist:

Code:
int nochmals 1;
char janein;
do{
printf("Nochmal?J or Nn");
scanf("%c", &janein);
fflush(stdin);
while(janein != 'J' && janein != 'N'){
printf("Nochmal?J or Nn");
scanf("%c", &janein);
fflush(stdin);
}
}while(nochmals == 1);
 


String mach ich immo mit Char Array, welche ich dann mit der Methode strcpy(Ziel, Wert) auffülle.

Switch ist auch relativ einfach


Code:
switch(variable){
case wert:
anweisungen;
break;
default:
anweisungen;
break;
case wert1:
case wert2:
Anweisungen;
break;


gedruckt am 20.06.2013 - 03:52:24
Quelle: http://www.tech-review.de/include.php?path=forum/showthread.php&threadid=3811