Ciao ragazzi, ho dei problemi a passare dei valori da riga di comando. Mi spiego, dovrei fare una sorta di calcolatrice su riga di comando, devo digitare 12 operatore 12 e deve tornarmi un risultato.
Il fatto è che non vuole fare quello che dico io.
ho usato degli if con delle condizioni del tipo if argv[2] (secondo parametro?) è uguale a '+' somma, se è uguale a meno...
dove sbaglio?
vi posto il codice, premetto che è il primo prog C che faccio
/*
*
* esercizio 1 - arith valore1 operatore valore2
*
*/
ciao graziecodice:#include <math.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> int main (int argc, char **argv) { int num1, num2, num3; float ris; char op; if (argc = 3) { num1 = atoi(argv[1]); num2 = atoi(argv[3]); num3 = atoi(argv[2]); op = (char)num3; printf("\n\n L'operazione che hai richiesto è %d %c %d \n\n\n", num1, argv[2], num2); if (op=='+'){ ris = num1 + num2; } if (op=='-'){ ris = num1 - num2; } if (op=='*'){ ris = num1 * num2; } if (op=='/' && num2!=0){ ris = num1 / num2; } else{ printf("Non si può fare una divisione per 0!!!"); } if (op=='&'){ ris = num1 % num2; } } //if (argc = 2) { //num2 = atoi(argv[2]); //if (argv[2]=='sqr'){ //ris = num2 * num2; //} //if (argv[2]=='sqrt' && num2!=0){ //ris = sqrt(num2); // } //if (argc != 2 && argc != 3) { //perror("Numero parametri errato"); //exit(0); //} //printf("Il risultato dell'operazione è %lf\n\n", ris); //exit(0); // } }

Rispondi quotando