From 5cbfe19d48a9aab710496e59835a68d1fa4a4f93 Mon Sep 17 00:00:00 2001 From: 0niiC Date: Fri, 21 Nov 2025 03:45:38 +0700 Subject: [PATCH] lab9 --- proglabs/lab9/compile.sh | 1 + proglabs/lab9/func/func.h | 30 ++++++++++++++++++ proglabs/lab9/func/get.c | 58 +++++++++++++++++++++++++++++++++++ proglabs/lab9/func/massive.c | 29 ++++++++++++++++++ proglabs/lab9/func/menu.c | 21 +++++++++++++ proglabs/lab9/func/special.c | 18 +++++++++++ proglabs/lab9/main.c | 38 +++++++++++++++++++++++ proglabs/lab9/prog | Bin 0 -> 16128 bytes proglabs/lab9/test.txt | 0 test/ascii.c | 19 ++++++++++++ test/max.c | 28 +++++++++++++++++ test/tmp.out | Bin 0 -> 15472 bytes 12 files changed, 242 insertions(+) create mode 100755 proglabs/lab9/compile.sh create mode 100644 proglabs/lab9/func/func.h create mode 100644 proglabs/lab9/func/get.c create mode 100644 proglabs/lab9/func/massive.c create mode 100644 proglabs/lab9/func/menu.c create mode 100644 proglabs/lab9/func/special.c create mode 100644 proglabs/lab9/main.c create mode 100755 proglabs/lab9/prog create mode 100644 proglabs/lab9/test.txt create mode 100644 test/ascii.c create mode 100644 test/max.c create mode 100755 test/tmp.out diff --git a/proglabs/lab9/compile.sh b/proglabs/lab9/compile.sh new file mode 100755 index 0000000..e70a865 --- /dev/null +++ b/proglabs/lab9/compile.sh @@ -0,0 +1 @@ +gcc -std=c99 -Wall main.c ./func/get.c ./func/massive.c ./func/menu.c ./func/special.c -o prog diff --git a/proglabs/lab9/func/func.h b/proglabs/lab9/func/func.h new file mode 100644 index 0000000..6d83f4b --- /dev/null +++ b/proglabs/lab9/func/func.h @@ -0,0 +1,30 @@ +#ifndef FUNC +#define FUNC + +#include +#include +#include +#include +#define COL 10 +#define ROW 10 + +// GET +int mainget(void); +int numget(void); + +// MASSIVE +void seeMassive(wchar_t (*massive)[COL]); +void setMassive(int x, wchar_t (*massive)[COL]); +void func(int x, wchar_t (*massive)[COL]); + +// MENU +void helpMenu(void); +void setMenu(void); +void funcMenu(void); + +// SPECIAL +void clear(void); +int flush(void); +int end(int c); + +#endif diff --git a/proglabs/lab9/func/get.c b/proglabs/lab9/func/get.c new file mode 100644 index 0000000..bcc9fb5 --- /dev/null +++ b/proglabs/lab9/func/get.c @@ -0,0 +1,58 @@ +#include "func.h" + +int mainget(void){ + int t,x,y=0,num=0; + unsigned long input = 0; + while( + ((x=getchar())>=32 && t<100) + && ((x>='a' && x<='z') + || (x>='0' && x<= '9') + || (x>='A' && x<='Z'))){ + if(x>='a' && x<='z') {x -=('a'-'A');t--;} + if(x>='A' && x<='Z') {input = (input*100)+(x);t--;} + if(input>1000000000000000000){printf("input err\n\n");flush();input=0;t--;} + + if(x>='0' && x<='9'&&num<147483647){num = (num*10)+(x-'0');t--;} + else if(num>147483647){printf("num is too big!\n\n");num = 0;t--;} + if(t<0)t=0; + t++; + if(end(x))return -1; + } + + if(end(x))return -1; + + int exit = 69887384; + int help = 72697680; + + int show = 83727987; + int see = 836969; + + int set = 836984; + + int func = 70857867; + + + y=(input == exit)?-1:y; + y=(input == 'Q')?-1:y; + + y=(input == help)?1:y; + y=(input == 'H')?1:y; + + + y=(input == set)?2:y; + y=(input == 'S')?2:y; + if(y==2&&(num>=1&&num<=9)) y = 20+num; + if(y==2&&(num==10)) y = 200+num; + + + y=(input == func)?3:y; + y=(input == 'F')?3:y; + if(y==3&&(num>=1&&num<=9)) y = 30+num; + if(y==3&&(num>=10&&num<=21)) y = 300+num; + + y=(input == show)?4:y; + y=(input == see)?4:y; + + + return y; +} diff --git a/proglabs/lab9/func/massive.c b/proglabs/lab9/func/massive.c new file mode 100644 index 0000000..1c5b307 --- /dev/null +++ b/proglabs/lab9/func/massive.c @@ -0,0 +1,29 @@ +#include "func.h" + +void seeMassive(wchar_t (*massive)[COL]){ + printf("\t\t\tMassive\n\n[ ] "); + for(int i = 0;i=21 && x<=29) || x==210){ + if(x==2){setMenu();flush();} + else setMassive(x,massive); + } + + else if(x==3 || (x>=31 && x<=39) || (x>=310 && x<=320)){ + if(x==3) funcMenu(); + else func(x,massive); + } + + else if(x==4){ + seeMassive(massive); + } + + else {printf("Input Error \"%d\" is undefind command.\nInput: ",x);} + } + return 0; +} diff --git a/proglabs/lab9/prog b/proglabs/lab9/prog new file mode 100755 index 0000000000000000000000000000000000000000..5b641523d67ce840262633dbfbd21f0d2747f068 GIT binary patch literal 16128 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 bU`Lu+gknv + +int main(void){ + int x; + unsigned long input = 0; + while((x=getchar())!='\n' + && ((x>='a' && x<='z') + || (x>='A' && x<='Z'))){ + if (x<=32 && x!='\n' && x!=' ' && x!='\t') return -1; + + printf("%d\t",x); + if(x>='a' && x<='z') x -= ('a'-'A'); + printf("%d\t",x); + if(x>='A' && x<='Z') input = (input*100)+(x); + + printf("%d %lu\n",x,input); + } + return 0; +} diff --git a/test/max.c b/test/max.c new file mode 100644 index 0000000..5feea62 --- /dev/null +++ b/test/max.c @@ -0,0 +1,28 @@ +#include +#include +#include + +int main(void) { + /* Integer types */ + printf("Signed char : %d … %d\n", SCHAR_MIN, SCHAR_MAX); + printf("Unsigned char : 0 … %u\n", UCHAR_MAX); + printf("Signed short : %d … %d\n", SHRT_MIN, SHRT_MAX); + printf("Unsigned short: 0 … %u\n", USHRT_MAX); + printf("Signed int : %d … %d\n", INT_MIN, INT_MAX); + printf("Unsigned int : 0 … %u\n", UINT_MAX); + printf("Signed long : %ld … %ld\n", LONG_MIN, LONG_MAX); + printf("Unsigned long : 0 … %lu\n", ULONG_MAX); + printf("Signed long long : %lld … %lld\n", LLONG_MIN, LLONG_MAX); + printf("Unsigned long long: 0 … %llu\n", ULLONG_MAX); + + /* Floating‑point types */ + printf("\nFloat : %e … %e (precision: %d digits)\n", + -FLT_MAX, FLT_MAX, FLT_DIG); + printf("Double : %e … %e (precision: %d digits)\n", + -DBL_MAX, DBL_MAX, DBL_DIG); + printf("Long double : %Le … %Le (precision: %d digits)\n", + -LDBL_MAX, LDBL_MAX, LDBL_DIG); + + return 0; +} + diff --git a/test/tmp.out b/test/tmp.out new file mode 100755 index 0000000000000000000000000000000000000000..88d1479ddc61e130d06903a2610d01e62e8598dd GIT binary patch literal 15472 zcmeHOYfK#16~4Rpfk}Y16=Gt$@hF1UiNqQ(P^T{S@K_j9Y!eKUn?9xsyTGcji*|<= zyG_8NjY=$A?n8O~sVp@=D;e!AKN>_RB*%+Zi#VAjPofuMEy)9o)i;0 z`Z%6CHPJ`KbZez_+-1h;w1)MCk_{?E>9}g3LeZ(=N;kqKxYM_t1hsYlgf|%{RQ&8? zT*UAcbXvnWp0nU*xMiV72M>i(L4H zbhNv1#L?DR3hY^9lRzCQ5YwnMw)`jiY4l8ASW5EgM7p=M1ORu}`+Rd6LrZMd>4zf^f}mh`SOg?`G_ZyqA@ z@Lg+u)w=fQJ3nuUmB@A*tvlx|7KfjfmKsS2Ccc)x1p)5 z`P)vpb)j_!u0fba(Lwm zs<|iEjF|(d%bfeE?L<)Ta>`x?ruI0#VL?DPj z5P={9K?H&b1Q7@#@V^`ZdQVlG*oDKW9iJ*wq5UPtYTz)v!-=fs^JhR!P!sggJNf)9 zC>44~NhNfyUxlV4q5b#nEWM0>0Z2~o?AQO2&wrE@I(NEntZ2+894|vo??+Wdq^qL( zvC4bCQaY=S?>qL$ks9}PA7MX-;}zKa1L?I@M4k?Jl1U+^nivUxrD3SU*?I`b4>4H zTFtbIsSt*#WzIvCTt@eq5=!!1D!GY!8ECO#k$;mN6TcT&kMdxti2Z-$z4L*{RmJO4 z_x#Q<9&bfmUgC_$R+qQ9|2^i#Z+Gwyp_2S@-E@olbgonvQ|Xs{((aCqPZ)>rl>M;L z(2UgC2BWdQvAO-ePi!dq`C&-A`{?MwH}x%Xqb}{$76`h@A3k zi{&5F{}_fS70_p0d9{j|1wu3(91+X{Lz90M@;%`SCHD(hx12{^%_!8{{Z9t;T^!_(t{)Ehu8_K44nY2p&uuh54*8xi?s{$hsd#QUm5L54yYn+A z+fMX!AQv06(2iMlSAW}ym~D0TE4#b*RC`;meX6VLbZo#LXlw6{Axm4&3^yh7`#)uS zClhfet|)~(#p&Zdl#<46oBF+MaLGg06gH=e+lgGp9*d_FluF)n3dlq%ZBONr31uhK zsO+I!j>qE^cBG%%v6G$l`z4!iPITYw0bIw_jpoiyIPoD+C+pEMX{9qxGCG=`icV%T zlgX@eRz-c$&{PT^6{Hd>iq!dJc2c>DWAWUWiYCscF{nqKtk?79WHy(|q&G1(`m)LK zI03jdIquMia4hO1r%}5Bj%G7%xTDE2dn6m5NZMlwV1;A1+S+^SocO4Rx8vDt91as+ z+AtHJNDae>3`Ry3bAiH zRmKZlU`1MP$+n!otf!xaj39!SeSuKf2SCLwy8pwF(wZxHS!adH&xrUhdO|0Gr!`!7 zS;vLeduH8zN}>NORx@bOH4(h*BZMxnqS)8Zf1dH}tS9>tp<uAyzDE4*6?sbbo`Gs{87Wx6#6v*GL`Em;-8{X`1`TdcXOhz+y50h zkjCeKV(kC%P?E&kq6^q}Gv;f2!rPjioNdw;*?f3L{bU*@Oa zIeYW^s09Vg9 ZdR(g*;!cglUb8s