--- Mohammed Derhalli <[EMAIL PROTECTED]>
wrote:
> Hi
>
> I want to write a program that reads a string s
> then sums the number assciated to each string in teh
> alphabet like the following schema:
>
>
a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9,j=10,k=20,l=30,m=40,n=50,o=60,p=70,
>
>
q=80,r=90,s=100,t=200,u=300,v=400,w=500,x=600,y=700,z=800.
>
> I wrote the following program for the first 10
> characters of the schema. But it didn't work
> properly.
>
> can u fix it?
>
> Here is the program:
> ================
>
>
> int main(int argc, char *argv[])
> {
> char *s;
> int *t,n,a=0,i;
>
> cout << "Enter a string";
> cin >> s ;
> n=strlen(s);
> for (i=0;i<n;i++)
> {
> switch(s[i])
> {
> case 'a':
> {a=a+1;
> t[1]=a;}
>
> case 'b':
> {a=a+1;
> t[2]=a;}
>
> case 'c':
> {a=a+1;
> t[3]=a;}
> case 'd':
> {a=a+1;
> t[4]=a;}
> case 'e':
> {a=a+1;
> t[5]=a;}
> case 'f':
> {a=a+1;
> t[6]=a;}
> case 'g':
> {a=a+1;
> t[7]=a;}
> case 'h':
> {a=a+1;
> t[8]=a;}
> case 'i':
> {a=a+1;
> t[9]=a;}
> case 'j':
> {a=a+1;
> t[10]=a;}
>
>
> }
> a=a+t[i];
>
> }
> cout << "the length is " << a;
> system("PAUSE");
> return 0;
> }
>
>
> Mohammed
>
Without going through all of you logic, for the char
'a' all of the case statements get executed. If you
do not want all of them executed, you need a:
break;
statement at the end of each case. Also, the braces
in the case statements are not necessary.
Ray
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check.
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html