From eb1cc638ef7e5321a4b3149793c6011c0b2071ea Mon Sep 17 00:00:00 2001 From: zinee2 Date: Sat, 6 May 2017 16:28:15 +0900 Subject: [PATCH 1/3] pointer --- calc.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/calc.c b/calc.c index 85f1466..edf6cbd 100644 --- a/calc.c +++ b/calc.c @@ -3,31 +3,32 @@ int main(){ FILE *fp = NULL; - int operand1, operand2; + double operand1, operand2; char operator = ' '; - int result, line = 0; + double (* result)(double, double); + double line = 0; fp = fopen("read.txt","r"); if(fp!=NULL){ - fscanf(fp, "%d", &line); + fscanf(fp, "%lf", &line); for(int i=0; i Date: Wed, 3 Aug 2016 14:51:24 -0700 Subject: [PATCH 2/3] lab14 --- my | 8 ++++++++ my_fscanf.c | 15 +++++++++++++++ my_fscanf.h | 8 ++++++++ operators.c | 10 +++++----- operators.h | 8 ++++---- 5 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 my create mode 100644 my_fscanf.c create mode 100644 my_fscanf.h diff --git a/my b/my new file mode 100644 index 0000000..e61c6a4 --- /dev/null +++ b/my @@ -0,0 +1,8 @@ +#ifndef MY_FSCANF_H +#define MY_FSCANF_H +#include + +void my_scanf)FILE *fp, const char *format, ..); + +#endif /* !MY_FSCANF_H */ + diff --git a/my_fscanf.c b/my_fscanf.c new file mode 100644 index 0000000..014db74 --- /dev/null +++ b/my_fscanf.c @@ -0,0 +1,15 @@ +#include "my_fscanf.h" +#include +#include +void my_fscanf(FILE *fp, const char *format, ...) { + va_list list; + va_start(list, format); + while(*format) { + if(*format == '%') { + format++; + switch(*format) { + } + } + } + va_end(list); +} diff --git a/my_fscanf.h b/my_fscanf.h new file mode 100644 index 0000000..7c6bb21 --- /dev/null +++ b/my_fscanf.h @@ -0,0 +1,8 @@ +#ifndef MY_FSCANF_H +#define MY_FSCANF_H +#include + +void my_fscanf(FILE *fp, const char *format, ...); + +#endif /* !MY_FSCANF_H*/ + diff --git a/operators.c b/operators.c index d51cb3e..34999cd 100644 --- a/operators.c +++ b/operators.c @@ -1,16 +1,16 @@ #include "operators.h" -int add(int op1, int op2) { +double add(double op1, double op2) { return op1+op2; } -int minus(int op1, int op2) { +double minus(double op1, double op2) { return op1-op2; } -int mul(int op1, int op2) { +double mul(double op1, double op2) { return op1*op2; } -int div(int op1, int op2) { - return op1%op2; +double div(double op1, double op2) { + return op1/op2; } diff --git a/operators.h b/operators.h index bd08f7d..0172ff3 100644 --- a/operators.h +++ b/operators.h @@ -1,4 +1,4 @@ -int add(int op1, int op2); -int mul(int op1, int op2); -int div(int op1, int op2); -int minus(int op1, int op2); +double add(double op1, double op2); +double mul(double op1, double op2); +double div(double op1, double op2); +double minus(double op1, double op2); From abb6c03d801eacb732db0caa179cfc63ed12b11f Mon Sep 17 00:00:00 2001 From: zinee2 Date: Wed, 3 Aug 2016 14:54:33 -0700 Subject: [PATCH 3/3] lab14 --- my_fscanf.c | 1 + my_fscanf.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/my_fscanf.c b/my_fscanf.c index 014db74..d978cdd 100644 --- a/my_fscanf.c +++ b/my_fscanf.c @@ -13,3 +13,4 @@ void my_fscanf(FILE *fp, const char *format, ...) { } va_end(list); } + diff --git a/my_fscanf.h b/my_fscanf.h index 7c6bb21..100013e 100644 --- a/my_fscanf.h +++ b/my_fscanf.h @@ -1,7 +1,7 @@ #ifndef MY_FSCANF_H #define MY_FSCANF_H #include - + void my_fscanf(FILE *fp, const char *format, ...); #endif /* !MY_FSCANF_H*/