Skip to content

Instantly share code, notes, and snippets.

@stetro
Created April 27, 2012 07:08
Show Gist options
  • Save stetro/2506771 to your computer and use it in GitHub Desktop.
Save stetro/2506771 to your computer and use it in GitHub Desktop.
C Parameter Taschenrechner
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char* argv[])
{
int i=0; // Laufvariable fuer alle Parameter
long int solution; // Ergebnisvariable
char op; // aktueller Operand
// Wenn keine Parameter angegeben sind
if(argc == 1)
{
printf("Bitte geben Sie eine Rechenaufgabe an !\n");
return EXIT_FAILURE;
}
else
{
// Speichere denn ersten Wert
solution = strtol(argv[1],argv,10);
// Durchlaufe alle Parameter
for(i=1;i<argc;i++)
{
// Wenn ein neuer Wert angegeben ist
if(i % 2 == 1 && i > 2)
{
switch(op){
case '+':
solution += strtol(argv[i],argv,10);
break;
case '-':
solution -= strtol(argv[i],argv,10);
break;
case 'x':
solution *= strtol(argv[i],argv,10);
break;
case '/':
solution /= strtol(argv[i],argv,10);
break;
default:
printf("Falscher Operand !");
return EXIT_FAILURE;
break;
}
}
else
{
// Operand uebernehmen (kann nur ein Zeichen sein , daher [0])
op = argv[i][0];
}
printf("%s ",argv[i]);
}
printf("\n = %d\n",solution);
}
return EXIT_SUCCESS;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment