Hallo, ich bin es mal wieder.
Ich habe mal eine Frage zu exit() bzw. return.
Was genau hab ich davon? Wie verwende ich nun den Rückgabewert eines Programms?
Gruß
Andre
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "grech.c"
int main(int argc, char *argv[]){
char test[argc][100];
double x[argc],z=0;
int y=0;
int i,j;
for(i=0;i<argc;i++){
strcpy(test[i],argv[i]);
printf("%s ",test[i]);
}
if(argc<4){
printf("\nAufruf: %s Zahl_1 op Zahl_2 op Zahl_n",argv[0]);
exit(1);
}
//Zahlen umwandeln mit atof()-Funktion
for(y=1;y<=argc;y+=2)
{
x[y]=atof(test[y]);
//Wenn Operand vor der Zahl ein Minus ist, wird die Zahl negiert.
if(test[y-1][0]=='-')
x[y]=x[y]-(2*x[y]);
}
for(y=2;y<=argc;y+=2)
{
if(test[y][0]=='/'){
if(x[y+1]==0){
printf("Es darf nicht durch 0 geteilt werden!");
exit(2);
}
z=x[y-1]/x[y+1];
x[y-1]=0;
x[y+1]=z;
test[y][0]='+';
printf("z=%f x[y+1]=%f\n",z,x[y+1]);
}
if(test[y][0]=='x'){
z=x[y-1]*x[y+1];
x[y-1]=0;
x[y+1]=z;
test[y][0]='+';
printf("z=%f x[y+1]=%f\n",z,x[y+1]);
}
}
z=0;
for(y=1;y<=argc;y+=2)
z=z+x[y];
printf("\nRechnung: ");
for(i=1;i<argc;i++){
printf("%s",argv[i]);
}
printf("\nErgebnis: %f\n",z);
system("pause");
return 0;
}