addition of digits of number if divisible by 3 then that number is divisible by 3.
396=3+9+6=18=1+8=9.
1)store 3,6,9 using enum.
2)sum=0
3)input a string a.
4)convert each char into digit using atoi.
5)add that char to sum and store it in sum.
6)assign sum to a.
repeat this process untill you get a single character.
7)check with 3,6,9 if equals then divisible, else not..

addition of digits of number if divisible by 3 then that number is divisible by 3.
396=3+9+6=18=1+8=9.
1)store 3,6,9 using enum.
2)sum=0
3)input a string a.
4)convert each char into digit using atoi.
5)add that char to sum and store it in sum.
6)assign sum to a.
repeat this process untill you get a single character.
7)check with 3,6,9 if equals then divisible, else not..

I think this will work out.

No it won't.
A) In order to "4)convert each char into digit using atoi." you need to convert each character into a string first. The overhead for that is huge compared to char - '0' .
B) Then you "6)assign sum to a." But sum is an integer and a is a string. How do you assign an integer to a string?

If you truly think it will work, please post your working code. I'd love to see it...