#include <stdio.h>

int main(int argc, char *argv[])
{
	if (argc < 2) {
		printf("ERROR: You need at least one argument.\n");
		// this is how you abort a program
		return 1;
	}

	int i = 0;
	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);
			}
		}
	}

	return 0;
}
