Using atoi and strtod instead of fscanf
This commit is contained in:
parent
74e3d00e44
commit
340b1f207d
16
ex24.c
16
ex24.c
@ -1,3 +1,4 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "dbg.h"
|
#include "dbg.h"
|
||||||
|
|
||||||
@ -26,6 +27,7 @@ int main(int argc, char *argv[])
|
|||||||
Person you = {.age = 0};
|
Person you = {.age = 0};
|
||||||
int i = 0;
|
int i = 0;
|
||||||
char *in = NULL;
|
char *in = NULL;
|
||||||
|
char tmp[MAX_DATA];
|
||||||
|
|
||||||
printf("What's your First Name? ");
|
printf("What's your First Name? ");
|
||||||
in = fgets(you.first_name, MAX_DATA-1, stdin);
|
in = fgets(you.first_name, MAX_DATA-1, stdin);
|
||||||
@ -36,7 +38,10 @@ int main(int argc, char *argv[])
|
|||||||
check(in != NULL, "Failed to read last name.");
|
check(in != NULL, "Failed to read last name.");
|
||||||
|
|
||||||
printf("How old are you? ");
|
printf("How old are you? ");
|
||||||
fscanf(stdin, "%d", &you.age);
|
in = fgets(tmp, MAX_DATA-1, stdin);
|
||||||
|
check(in != NULL, "Failed to read age.");
|
||||||
|
you.age = atoi(tmp);
|
||||||
|
check(you.age != -1, "Failed to convert age to int.");
|
||||||
|
|
||||||
printf("What color are your eyes:\n");
|
printf("What color are your eyes:\n");
|
||||||
for(i = 0; i <= OTHER_EYES; i++) {
|
for(i = 0; i <= OTHER_EYES; i++) {
|
||||||
@ -45,12 +50,17 @@ int main(int argc, char *argv[])
|
|||||||
printf("> ");
|
printf("> ");
|
||||||
|
|
||||||
int eyes = -1;
|
int eyes = -1;
|
||||||
fscanf(stdin, "%d", &eyes);
|
in = fgets(tmp, MAX_DATA-1, stdin);
|
||||||
|
check(in != NULL, "Failed to read eye color selection.");
|
||||||
|
eyes = atoi(tmp);
|
||||||
check(eyes <= OTHER_EYES && eyes > 0, "Do it right, that's not an option.");
|
check(eyes <= OTHER_EYES && eyes > 0, "Do it right, that's not an option.");
|
||||||
you.eyes = eyes - 1;
|
you.eyes = eyes - 1;
|
||||||
|
|
||||||
printf("How much do you make an hour? ");
|
printf("How much do you make an hour? ");
|
||||||
fscanf(stdin, "%f", &you.income);
|
in = fgets(tmp, MAX_DATA-1, stdin);
|
||||||
|
check(in != NULL, "Failed to read income.");
|
||||||
|
you.income = strtod(tmp, NULL);
|
||||||
|
check(you.income != -1, "Failed to convert income.");
|
||||||
|
|
||||||
printf("----- RESULTS -----\n");
|
printf("----- RESULTS -----\n");
|
||||||
printf("First Name: %s", you.first_name);
|
printf("First Name: %s", you.first_name);
|
||||||
|
Loading…
Reference in New Issue
Block a user