Problem with Switch/Case and nested Switch/Case

Im trying to create a program that, depending on 2 variables, multiplies another variable by a static number. A friend suggested I use case/switch instead of if/else statements, which is what I was using before.

Here is the code:[INDENT]
var a:String=String (OCC.text) [/INDENT]
[INDENT]var b:String=String (DCC.text) [/INDENT]
[INDENT]var c:Number=Number (ATC.text)
[/INDENT]
[INDENT=2]
switch (a){
[/INDENT]
[INDENT=3]case ‘UM’:
[/INDENT]
[INDENT=4]switch (b){
[/INDENT]
[INDENT=5]case ‘AD’:
[/INDENT]
[INDENT=6]var ab:Number = new Number (c1.0);
[/INDENT]
[INDENT=6]CA.text = String(ab);
[/INDENT]
[INDENT=6]break;
[/INDENT]
[INDENT=5]case ‘NC’:
[/INDENT]
[INDENT=6]var ac:Number = new Number (c
2.0);
[/INDENT]
[INDENT=6]CA.text = String(ac);
[/INDENT]
[INDENT=6]break;
[/INDENT]
[INDENT=5]case ‘KY’
[/INDENT]
[INDENT=6]var ad:Number = new Number (c3.0);
[/INDENT]
[INDENT=6]CA.text = String (ad);
[/INDENT]
[INDENT=6]break;
[/INDENT]
[INDENT=4]}
[/INDENT]
[INDENT=3]case ‘AD’:
[/INDENT]
[INDENT=4]switch (b){
[/INDENT]
[INDENT=5]case ‘UM’:
[/INDENT]
[INDENT=6]var ba:Number = new Number(c
5.0);
[/INDENT]
[INDENT=6]CA.text = String(ac);
[/INDENT]
[INDENT=6]break;
[/INDENT]
[INDENT=5]case ‘NC’:
[/INDENT]
[INDENT=6]var bc:Number = new Number (c*6.0);
[/INDENT]
[INDENT=6]CA.text = String (bc);
[/INDENT]
[INDENT=6]break;
[/INDENT]
[INDENT=5]default:
[/INDENT]
[INDENT=6]CA.text = “ABC”
[/INDENT]
[INDENT=3]}
[/INDENT]
[INDENT=2]}
[/INDENT]

The problem is that when OCC is ‘UM’’ and DCC is ‘AD’ and ATC is 1, I get “ABC”. Im new to AS, so any help is much appreciated.