First you go to the trouble of declaring a function pointer to system.
Then you throw it all away by redefining it to point to puts.
Then it appears that you try to index an int, but you have reversed the usual naming convention for main, which is
int main (int argc, char **argv)