I am working on a program that simulates a bank. When I go to the first case 'A', instead of just printing OK or ERROR I am getting this weird output and I can't figure out why. Can someone please explain that?
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int ballance;
int status;
char name[10];
}client;
int main()
{
client cli[10];
int n, number,i;
char c;
int money;
for(i=0;i<10;i++){
cli[i].status=0;
}
scanf("%d",&n);
fflush(stdin);
scanf("%c%d",&c,&number);
do{
switch(c){
case 'A':{
if(cli[number-1].status==0){
scanf("%s",&cli[number-1].name);
cli[number-1].status=1;
printf("OK\n");
}else{
printf("ERROR\n");
}
break;
}
case 'B':{
if(cli[number-1].status!=0){
cli[number-1].status=0;
printf("OK\n");
}else{
printf("ERROR\n");
}
break;
}
case 'C':{
if(cli[number-1].status!=0){
printf("%s %d",cli[number-1].name, cli[number-1].ballance);
}else{
printf("ERROR\n");
}
break;
}
case 'D':{
if(cli[number-1].status!=0){
scanf("%d",&money);
cli[number-1].ballance=cli[number-1].ballance+money;
printf("%s %d",cli[number-1].name, cli[number-1].ballance);
}else{
printf("ERROR\n");
}
break;
}
case 'E':{
scanf("%d",&money);
if(cli[number-1].status!=0&&money<=cli[number-1].ballance){
scanf("%d",&money);
cli[number-1].ballance=cli[number-1].ballance+money;
printf("%s %d",cli[number-1].name, cli[number-1].ballance);
}else{
printf("ERROR\n");
}
break;
}
}
n--;
}while(n>=0);
return 0;
}