int main( void ) { if( test_function( 0xffffffff ) ) fail( __LINE__ ); if( rshift_i( 256 ) != 8 ) fail( __LINE__ ); if( rshift_i( -256 ) != -8 ) fail( __LINE__ ); if( lshift_i( 3 ) != 24 ) fail( __LINE__ ); if( lshift_i( -3 ) != -24 ) fail( __LINE__ ); if( div_i( -1 ) != 0 ) fail( __LINE__ ); if( div_i( 100000 ) != 1 ) fail( __LINE__ ); if( mod_i( -1 ) != -1 ) fail( __LINE__ ); if( mod_i( -100000 ) != -13600 ) fail( __LINE__ ); if( div_f( -1 ) != -0.25 ) fail( __LINE__ ); if( div_f( 10 ) != 2.5 ) fail( __LINE__ ); _PASS; }
int main(int argc, char *argv[]) { int resul; if (argc != NARGS) { printf ("Uso: calc [arg1] [op] [arg2], onde arg1 e arg são inteiros e op é +, -, x, / \n"); exit(0); } switch (*argv[2]) { case '+': resul = add_i(atoi(argv[1]), atoi(argv[3])); break; case '-': resul = sub_i(atoi(argv[1]), atoi(argv[3])); break; case 'x': resul = mul_i(atoi(argv[1]), atoi(argv[3])); break; case '/': resul = div_i(atoi(argv[1]), atoi(argv[3])); break; default: printf("Operação inválida!\n"); printf ("Uso: calc [arg1] [op] [arg2], onde arg1 e arg são inteiros e op é +, -, x, / \n"); exit(0); } printf(" = %d\n", resul); exit(0); }