这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/SE/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/SE/homework/10283
这个作业的目标 制作一个简易的中文语言编译器
作业正文
其他参考文献

1.编程题目

汉字是迄今为止持续使用时间最长的文字,也是上古时期各大文字体系中唯一传承至今者,中国历代皆以汉字为主要的官方文字。我们在感叹汉字的源远流长时,也不禁感慨,为什么没有一门使用汉字编程的语言?

小杨同学想到:用汉字来进行编程一定很有趣,来请你帮帮他。

2.编程要求

请编写一个程序,制作一个简易的中文语言编译器,即使用中文语法进行编程,输入为逐行输入,每行为一个语句,一个语句代变一个操作,满足以下语法要求(括号内代变格式类型,具体参考样例):

变量定义:整数 (变量名) 等于 (数字)

运算(加法):(变量名) 增加 (数字)

运算(减法):(变量名) 减少 (数字)

输出:看看 (变量名) or 看看 “(字符串内容)”

附加要求:

选择:如果 (判断语句) 则 (操作语句) 否则 (操作语句)

若否则后没有任何操作使用(无)来进行填充(参考样例2)

3.遇到问题:

问题:[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode



参考:https://blog.csdn.net/qq_38316655/article/details/82830565

问题:如何通过 GitHub Desktop 上传代码到 GitHub 远程仓库(暂时未完成)

参考:http://www.bubuko.com/infodetail-2631368.html

4.记录

行数:64

用时:>4天

首次编译时间:2s+

编译时间: 0.33s

5.代码:

include<stdio.h>

include<string.h>

include<malloc.h>

include<math.h>

int num(char n[])

{

if(strcmp(n,"零") == 0) return 0;

else if(strcmp(n,"一") == 0) return 1;

else if(strcmp(n,"二") == 0) return 2;

else if(strcmp(n,"三") == 0) return 3;

else if(strcmp(n,"四") == 0) return 4;

else if(strcmp(n,"五") == 0) return 5;

else if(strcmp(n,"六") == 0) return 6;

else if(strcmp(n,"七") == 0) return 7;

else if(strcmp(n,"八") == 0) return 8;

else if(strcmp(n,"九") == 0) return 9;

else if(strcmp(n,"十") == 0) return 10;

else return -1;

}

void chinese(int x)

{

switch(x)

{

case 0:printf("零");break;

case 1:printf("一");break;

case 2:printf("二");break;

case 3:printf("三");break;

case 4:printf("四");break;

case 5:printf("五");break;

case 6:printf("六");break;

case 7:printf("七");break;

case 8:printf("八");break;

case 9:printf("九");break;

case 10:printf("十");break;

}

}

int main()

{

char zhengshu[100],name[100],is[100],n[100],c[100],v[100],b[100],l[100],z[100],m[100],k[100],p[100],o[100];

char a[10],oper[10],ruguo[10];

int x,i;

scanf("%s %s %s %s",zhengshu,name,is,n);

getchar();

if(strcmp(zhengshu,"整数") == 0)

{

if(strlen(n) == 2)

{

x = num(n);

if(x != -1)

{

for(i = 0 ; i < 2 ; i++)

{

scanf("%s %s %s\n",a,oper,is);

if(strcmp(oper,"增加") == 0) x += num(is);

if(strcmp(oper,"减少") == 0) x -= num(is);

            }
scanf("%s",ruguo);
}
if(strcmp(ruguo,"如果")==0){//cvblmzkpo
scanf("%s %s %s %s %s %s %s %s ",k,p,is,o,b,c,l,m);
if(x > 8){
chinese(x);
printf("%s",c);
} else{
printf("%s",m);
}
}
}
}

}

6.测试

第一次个人编程作业&#183;寒假的更多相关文章

  1. 第一次UML编程作业

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...

  2. 第一次个人编程作业:我的分数我做主 - 软件工程与 UML

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE ...

  3. Bean_sprout的第一次编程作业

    第一次编程作业 一.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 120 · Estim ...

  4. Stanford coursera Andrew Ng 机器学习课程编程作业(Exercise 2)及总结

    Exercise 1:Linear Regression---实现一个线性回归 关于如何实现一个线性回归,请参考:http://www.cnblogs.com/hapjin/p/6079012.htm ...

  5. 11061160_11061151_Pair Project: Elevator Scheduler软件工程结对编程作业总结

    软件工程结对编程作业总结 11061160  顾泽鹏 11061151  庞梦劼 一.关于结对编程 这次的软工任务既不是单打独斗的个人任务,也不是集思广益的团队项目,而是人数为两人的结对编程.两个人合 ...

  6. 第一次博客作业(初识C++)

    Q1:学习<C++语言程序设计>课程之前,你知道什么是编程吗?谈谈上这门课之前你对编程的理解,以及你对自己编程能力的评估. A1:开始课程之前,我认为编程是这样的:用计算机的语言写一份流程 ...

  7. oo 第一次博客作业

    oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高 ...

  8. [BUAA软工]第一次博客作业---阅读《构建之法》

    [BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  9. 2018 OO第一次总结(作业1-3)

    第一次作业1.程序分析 (1)OO度量 (2)类图: (3)分析与评价: 这次作业由于作业整体设计难度不大,因此按照去年暑假上的OO先导课老师讲的设计方法很容易实现一个还不错的面向对象式程序,类与类之 ...

随机推荐

  1. Django之F与Q查询

    F查询 from django.db.models import F,Q # 1.查询库存数大于卖出数的书籍 res = models.Book.objects.filter(kucun__gt=F( ...

  2. C# WPF 一个设计界面

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF 一个设计界面 今天正月初三,大家在家呆着挺好,不要忘了自我充电. 武汉人民加油, ...

  3. Angularjs集成于ASP.NET MVC数据绑定重构

    这几天,对程序重构,主要针对angularjs的绑定: 第一个例子: 下面是一段html程序: 不管是name或者是ng-model的属性值,它都有一定规律"StartX"和&qu ...

  4. mybatis + oracle 自增 结合navicate

    1.navicate建表 //T_USER表建立序列T_USER_SQCREATE SEQUENCE T_USER_SQ INCREMENT BY NOMAXVALUE NOCYCLE CACHE ; ...

  5. ansible基本使用(一)

    ansible是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...

  6. go 函数传递结构体

    我定义了一个结构体,想要在函数中改变结构体的值,记录一下,以防忘记 ep: type Matrix struct{ rowlen int columnlen int list []int } 这是一个 ...

  7. 卸载软件后,win10应用与功能中仍有残留,解决方案。

    这个问题我已经找到解决办法了,首先打开“应用和功能”列表, 然后往下拉看到“相关设置”打开其中的“程序和功能”一项, 然后找出你想删除的应用进行卸载.

  8. HTML5基础-新增标签+新增属性+布局案例

    html5中常用的结构标签 article 文章 header 头部 nav 导航 section 区域 aside 侧边栏 hgroup 区块的相关信息 figure 定义一组内容及标题 figca ...

  9. cf1037E

    题解:考虑逆序处理询问,用一个set来维护能去的人,每次减少边的时候,维护一下这个set就可以,具体看代码 int main(){ int n, m, k; cin >> n >&g ...

  10. Tutorial: Publishing additional services for printing

    Complexity:IntermediateData Requirement:Use your own data There may be occasions when you need to pu ...