|
|
|
@ -2,53 +2,59 @@
|
|
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
|
{
|
|
|
|
|
if (argc != 2) {
|
|
|
|
|
printf("ERROR: You need one argument.\n");
|
|
|
|
|
if (argc < 2) {
|
|
|
|
|
printf("ERROR: You need at least one argument.\n");
|
|
|
|
|
// this is how you abort a program
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int i = 0;
|
|
|
|
|
for (i = 0; argv[1][i] != '\0'; i++) {
|
|
|
|
|
char letter = argv[1][i];
|
|
|
|
|
|
|
|
|
|
switch (letter) {
|
|
|
|
|
case 'a':
|
|
|
|
|
case 'A':
|
|
|
|
|
printf("%d: 'A'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'e':
|
|
|
|
|
case 'E':
|
|
|
|
|
printf("%d: 'E'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'i':
|
|
|
|
|
case 'I':
|
|
|
|
|
printf("%d: 'I'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'o':
|
|
|
|
|
case 'O':
|
|
|
|
|
printf("%d: 'O'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'u':
|
|
|
|
|
case 'U':
|
|
|
|
|
printf("%d: 'U'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'y':
|
|
|
|
|
case 'Y':
|
|
|
|
|
// why i > 2? is this a bug?
|
|
|
|
|
if (i > 2) {
|
|
|
|
|
// it's only sometimes Y
|
|
|
|
|
printf("%d: 'Y'\n", i);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
printf("%d: %c is not a vowel\n", i, letter);
|
|
|
|
|
int arg = 1;
|
|
|
|
|
for (arg = 1; arg < argc; arg++) {
|
|
|
|
|
for (i = 0; argv[arg][i] != '\0'; i++) {
|
|
|
|
|
printf("(%d) ", arg);
|
|
|
|
|
|
|
|
|
|
char letter = argv[arg][i];
|
|
|
|
|
|
|
|
|
|
// lowercase letters
|
|
|
|
|
if (letter >= 'A' && letter <= 'Z') {
|
|
|
|
|
letter += ('a' - 'A');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch (letter) {
|
|
|
|
|
case 'a':
|
|
|
|
|
printf("%d: 'a'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'e':
|
|
|
|
|
printf("%d: 'e'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'i':
|
|
|
|
|
printf("%d: 'i'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'o':
|
|
|
|
|
printf("%d: 'o'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'u':
|
|
|
|
|
printf("%d: 'u'\n", i);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'y':
|
|
|
|
|
// why i > 2? is this a bug?
|
|
|
|
|
if (i > 2) {
|
|
|
|
|
// it's only sometimes Y
|
|
|
|
|
printf("%d: 'y'\n", i);
|
|
|
|
|
} else {
|
|
|
|
|
printf("%d: %c is not a vowel\n", i, letter);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
printf("%d: %c is not a vowel\n", i, letter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|