|
计算器程序
程序名称: |
dPicoc for Nspire |
平台: |
TI-Nspire |
系统/软件要求: |
ndless |
版本号: |
2.1n |
类型: |
其他 |
作者: |
移植:diameter==安安~ |
大小(K): |
87 |
更新日期: |
2013-06-05 |
描述: |
nspire可用的on-Calc c语言解释器 |
已知缺陷: |
标准库有问题 |
源代码: |
闭源 |
移植成功,但是ndless的标准库有很多问题,很多函数能否正常使用未知
具体的支持函数列表放在二楼
使用方法:在根目录下建一个叫“dpicoc”的文件夹,把要执行的源文件都放到里面
程序初始化为灰度模式,支持ndless的机器理论上都可以使用。程序已在clickpad上测试通过
想在机器上编辑文件的可以考虑使用nTxt
例1:hello world- #include <stdio.h>
- int main()
- {
- puts("Hello world!\n");
- return 0;
- }
复制代码 例2:求和(标准库的atol无法使用,只能自己实现)- #include <stdio.h>
- #include <ctype.h>
- long atol(char *nptr)
- {
- int c; /* current char */
- long total; /* current total */
- int sign; /* if '-', then negative, otherwise positive */
- /* skip whitespace */
- while ( isspace((int)(unsigned char)*nptr) )
- ++nptr;
- c = (int)(unsigned char)*nptr++;
- sign = c; /* save sign indication */
- if (c == '-' || c == '+')
- c = (int)(unsigned char)*nptr++; /* skip sign */
- total = 0;
- while (isdigit(c)) {
- total = 10 * total + (c - '0'); /* accumulate digit */
- c = (int)(unsigned char)*nptr++; /* get next char */
- }
- if (sign == '-')
- return -total;
- else
- return total; /* return result, negated if necessary */
- }
- int main()
- {
- char buf[128];
- int n;
- puts("input a number:");
- gets(buf);
- n = atol(buf);
- sprintf(buf,"1+2+3+...+%d = %d",n,n*(n+1)/2);
- puts(buf);
- return 0;
- }
复制代码
例3:bmp文件读取(文件io正常~)- #include <stdio.h>
- int main()
- {
- int width,s,height,offset,x,y;
- FILE * fp = fopen("/documents/dpicoc/C_C.bmp.tns","rb");
- if (fp==NULL)
- {
- puts("cannot open file");
- return -1;
- }
- fseek(fp,0x1C,SEEK_SET);
- fread(&s,sizeof(short),1,fp);
- if (s != 24)
- {
- puts("not a 24-bit bitmap");
- fclose(fp);
- return -1;
- }
- fseek(fp,0x12,SEEK_SET);
- fread(&width ,sizeof(int),1,fp);
- fread(&height,sizeof(int),1,fp);
- fseek(fp,0xA,SEEK_SET);
- fread(&offset,sizeof(int),1,fp);
- fseek(fp,offset,SEEK_SET);
-
- char buf[128];
- unsigned char r,g,b,c;
- int i;
- sprintf(buf,"width = %d,height = %d\noffset = %d\n",width,height,offset);
- puts(buf);
- puts("press enter..");
- gets(buf);
- clrscr();
- for (y = 0;y < height;++y)
- {
- for (x = 0;x < width;++x)
- {
- fread(&b,1,1,fp);fread(&g,1,1,fp);fread(&r,1,1,fp);c = (r+g+b)/3>>4;
- setpixel(x,height-y,c);
- }
- }
- fclose(fp);
- gets(buf);
- return 0;
- }
复制代码
附件:程序、一些例子:
dPicoc.zip
(85.58 KB, 下载次数: 21)
|
评分
-
查看全部评分
|