Compare commits
2 Commits
94cd12ac82
...
353b77271d
Author | SHA1 | Date | |
---|---|---|---|
353b77271d | |||
8f9842ddfb |
1
lcthw/.gitignore
vendored
1
lcthw/.gitignore
vendored
@ -3,3 +3,4 @@ ex3
|
|||||||
ex7
|
ex7
|
||||||
ex8
|
ex8
|
||||||
ex9
|
ex9
|
||||||
|
ex10
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
CFLAGS ?= -Wall -g
|
CFLAGS ?= -Wall -g
|
||||||
GDBRUN = gdb --batch --ex run --ex bt --ex q --args
|
GDBRUN = gdb --batch --ex run --ex bt --ex q --args
|
||||||
BUILD_TARGETS = ex1 ex3 ex7 ex8 ex9
|
BUILD_TARGETS = ex1 ex3 ex7 ex8 ex9 ex10
|
||||||
|
TEST_TARGETS = ex1 ex3 ex7 ex8 ex9
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: build test
|
all: build test
|
||||||
@ -14,10 +15,10 @@ build: $(BUILD_TARGETS)
|
|||||||
|
|
||||||
.PHONY: gtest
|
.PHONY: gtest
|
||||||
gtest:
|
gtest:
|
||||||
@$(foreach bt,$(BUILD_TARGETS),$(GDBRUN) ./$(bt) &&) \
|
@$(foreach bt,$(TEST_TARGETS),$(GDBRUN) ./$(bt) &&) \
|
||||||
echo ' gYAY'
|
echo ' gYAY'
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test:
|
test:
|
||||||
@$(foreach bt,$(BUILD_TARGETS),./$(bt) &&) \
|
@$(foreach bt,$(TEST_TARGETS),./$(bt) &&) \
|
||||||
echo ' YAY'
|
echo ' YAY'
|
||||||
|
62
lcthw/ex10.c
Normal file
62
lcthw/ex10.c
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#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;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user