Ok I'm trying to make strings correspond to numbers but I having problems getting the information to and from the function convert (see code below). Can Anyone tell me what I'm doing wrong? I'm getting a warning about incompatable pointer type to do with the array I'm trying tp passing. Oh and is there any way I can tidy up 'convert', i can't seem to use strcmp with a switch?
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------Code:#include<stdio.h> int convert(char name[40][40]); main() { char name[40][40]; int array[12]; int i,x; for(i=1;i<=12;i++){ printf("Please enter note %d in the series:",i); scanf("%s",name[i]); array[i]=convert(name[i]); } for(i=0;i<=11;i++) printf("%d\n\t",array[i]); } int convert(char name[40][40]){ int x,i=1; for(i=1;i<=12;i++){ if( strcmp(name[i],"C") == 0 || strcmp( name[i], "c")==0 ||strcmp( name[i], "B#" ) == 0 || strcmp( name[i], "bb")==0){ x=0; } else if( strcmp( name[i], "C#" ) == 0 || strcmp( name[i], "c#")==0||strcmp( name[i], "Db" ) == 0 || strcmp( name[i], "db")==0 ){ x=1; } else if( strcmp( name[i], "D" ) == 0 || strcmp( name[i], "d")==0){ x=2; } else if( strcmp( name[i], "D#" ) == 0 || strcmp( name[i], "d#")==0||strcmp( name[i], "Eb" ) == 0 || strcmp( name[i], "eb")==0 ){ x=3; } else if( strcmp( name[i], "E" ) == 0 || strcmp( name[i], "e")==0||strcmp( name[i], "Fb" ) == 0 || strcmp( name[i], "fb")==0 ){ x=4; } else if( strcmp( name[i], "F" ) == 0 || strcmp( name[i], "f")==0||strcmp( name[i], "E#" ) == 0 || strcmp( name[i], "e#")==0 ){ x=5; } else if( strcmp( name[i], "F#" ) == 0 || strcmp( name[i], "f#")==0||strcmp( name[i], "Gb" ) == 0 || strcmp( name[i], "gb")==0 ){ x=6; } else if( strcmp( name[i], "G" ) == 0 || strcmp( name[i], "g")==0 ){ x=7; } else if( strcmp( name[i], "G#" ) == 0 || strcmp( name[i], "g#")==0||strcmp( name[i], "Ab" ) == 0 || strcmp( name[i], "ab")==0 ){ x=8; } else if( strcmp( name[i], "A" ) == 0 || strcmp( name[i], "a")==0 ){ x=9; } else if( strcmp( name[i], "A#" ) == 0 || strcmp( name[i], "a#")==0||strcmp( name[i], "Bb" ) == 0 || strcmp( name[i], "bb")==0 ){ x=10; } else if( strcmp( name[i], "B" ) == 0 || strcmp( name[i], "b")==0||strcmp( name[i], "Cb" ) == 0 || strcmp( name[i], "cb")==0 ){ x=11; } else { printf("Not a Vaild Entry!!!\n"); printf("Please enter note %d in the series AGAIN:",i); scanf("%s",name[i]); convert(name[i]); } } return x; }
Any help would be greatly appreciated



LinkBack URL
About LinkBacks



