First working version of ch25 ex24.c
This commit is contained in:
parent
566a7584d7
commit
0a6404f838
66
ex24.c
Normal file
66
ex24.c
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include "dbg.h"
|
||||||
|
|
||||||
|
#define MAX_DATA 100
|
||||||
|
|
||||||
|
typedef enum EyeColor {
|
||||||
|
BLUE_EYES, GREEN_EYES, BROWN_EYES,
|
||||||
|
BLACK_EYES, OTHER_EYES
|
||||||
|
} EyeColor;
|
||||||
|
|
||||||
|
const char *EYE_COLOR_NAMES[] = {
|
||||||
|
"Blue", "Green", "Brown", "Black", "Other"
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct Person {
|
||||||
|
int age;
|
||||||
|
char first_name[MAX_DATA];
|
||||||
|
char last_name[MAX_DATA];
|
||||||
|
EyeColor eyes;
|
||||||
|
float income;
|
||||||
|
} Person;
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
Person you = {.age = 0};
|
||||||
|
int i = 0;
|
||||||
|
char *in = NULL;
|
||||||
|
|
||||||
|
printf("What's your First Name? ");
|
||||||
|
in = fgets(you.first_name, MAX_DATA-1, stdin);
|
||||||
|
check(in != NULL, "Failed to read first name.");
|
||||||
|
|
||||||
|
printf("What's your Last Name? ");
|
||||||
|
in = fgets(you.last_name, MAX_DATA-1, stdin);
|
||||||
|
check(in != NULL, "Failed to read last name.");
|
||||||
|
|
||||||
|
printf("How old are you? ");
|
||||||
|
fscanf(stdin, "%d", &you.age);
|
||||||
|
|
||||||
|
printf("What color are your eyes:\n");
|
||||||
|
for(i = 0; i <= OTHER_EYES; i++) {
|
||||||
|
printf("%d) %s\n", i+1, EYE_COLOR_NAMES[i]);
|
||||||
|
}
|
||||||
|
printf("> ");
|
||||||
|
|
||||||
|
int eyes = -1;
|
||||||
|
fscanf(stdin, "%d", &eyes);
|
||||||
|
check(eyes <= OTHER_EYES && eyes > 0, "Do it right, that's not an option.");
|
||||||
|
you.eyes = eyes - 1;
|
||||||
|
|
||||||
|
printf("How much do you make an hour? ");
|
||||||
|
fscanf(stdin, "%f", &you.income);
|
||||||
|
|
||||||
|
printf("----- RESULTS -----\n");
|
||||||
|
printf("First Name: %s", you.first_name);
|
||||||
|
printf("Last Name: %s", you.last_name);
|
||||||
|
printf("Age: %d\n", you.age);
|
||||||
|
printf("Eyes: %s\n", EYE_COLOR_NAMES[you.eyes]);
|
||||||
|
printf("Income: %f\n", you.income);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
error:
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user