从Github下载

从CSDN下载

//

// ViewController.h

// SimpleCalculator

//

// Created by Mewlan Musajan on 11/2/17.

//Copyright (c) 2017 Mewlan Musajan. All Rights reserved.

//

#include #include #include #define V_STR0 "非法指令!%c"

#define V_STR1 "请输入两个整数,用空格隔开:"

#define V_STR2 "********简易计算器********%c"

#define V_STR3 "ADD%s加法%c"

#define V_STR4 "SUB%s减法%c"

#define V_STR5 "MUL%s乘法%c"

#define V_STR6 "DIV%s除法%c"

#define V_STR7 "MENU%s显示菜单%c"

#define V_STR8 "ETR%s重新输入两个整数%c"

#define V_STR9 "EXIT%s退出%c"

#define V_STRa "*************************%c"

#define V_STRb "请选择指令:"

#define V_STRc "执行加法运算, %d + %d = %d%c"

#define V_STRd "执行减法运算, %d - %d = %d%c"

#define V_STRe "执行乘法运算, %d * %d = %d%c"

#define V_STRf "执行除法运算,%d / %d = %0.3f%c"

#define V_STRg "iWillook SimpleCalculator [Version 1.0]%c(c) Copyright 2017 iWillook Inc. 保留所有权利。%c%c"

#define V_STRk "请输入两个整数:"

typedef enum command

{

add,

sub,

mul,

div_,

menu,

etr,

exit_

} CMD;

int a, b, c1;

float c2;

/***ViewModel***/

void menuView();

void starLine();

void cmdInputView();

void numInputView();

void addView();

void subView();

void mulView();

void div_View();

/***ViewController***/

void errViewCtrl();

void initailViewCtrl();

/***Controller***/

void numInputCtrl();

char * cmdInputCtrl();

void addCtrl();

void subCtrl();

void mulCtrl();

void div_Ctrl();

void selectFuncCtrl(char *cmd);

//

// ViewController.c

// SimpleCalculator

//

// Created by Mewlan Musajan on 11/2/17.

//Copyright (c) 2017 Mewlan Musajan. All Rights reserved.

//

#include "ViewController.h"

/***ViewController***/

void initailViewCtrl()

{

printf(V_STRg, '\n', '\n', '\n');

printf(V_STR1);

numInputCtrl();

printf(V_STR2, '\n');

menuView();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

}

void errViewCtrl()

{

printf(V_STR0, '\n');

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

}

/***ViewModel***/

void menuView()

{

printf(V_STR3, "\t\t", '\n');

printf(V_STR4, "\t\t", '\n');

printf(V_STR5, "\t\t", '\n');

printf(V_STR6, "\t\t", '\n');

printf(V_STR7, "\t\t", '\n');

printf(V_STR8, "\t\t", '\n');

printf(V_STR9, "\t\t", '\n');

starLine();

}

void starLine()

{

printf(V_STRa, '\n');

}

void cmdInputView()

{

printf(V_STRb);

}

void numInputView()

{

printf(V_STRk);

}

void addView()

{

printf(V_STRc, a, b, c1, '\n');

}

void subView()

{

printf(V_STRd, a, b, c1, '\n');

}

void mulView()

{

printf(V_STRe, a, b, c1, '\n');

}

void div_View()

{

printf(V_STRf, a, b, c2, '\n');

}

/***Controller***/

void numInputCtrl()

{

scanf("%d %d", &a, &b);

}

void addCtrl()

{

c1 = a + b;

}

void subCtrl()

{

c1 = a - b;

}

void mulCtrl()

{

c1 = a * b;

}

void div_Ctrl()

{

c2 = a / b;

}

char * cmdInputCtrl()

{

char cmd[8];

scanf("%s", cmd);

return(cmd);

}

void selectFuncCtrl(char *cmd)

{

CMD _cmd;

strupr(cmd);

if (strcmp(cmd, "ADD") == 0)

{

_cmd = add;

} else if (strcmp(cmd, "SUB") == 0)

{

_cmd = sub;

} else if (strcmp(cmd, "MUL") == 0)

{

_cmd = mul;

} else if (strcmp(cmd, "DIV") == 0)

{

_cmd = div_;

} else if (strcmp(cmd, "MENU") == 0)

{

_cmd = menu;

} else if (strcmp(cmd, "ETR") == 0)

{

_cmd = etr;

} else if (strcmp(cmd, "EXIT") == 0)

{

_cmd = exit_;

} else {

errViewCtrl();

}

switch (_cmd)

{

case add:

addCtrl();

addView();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

break;

case sub:

subCtrl();

subView();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

break;

case mul:

mulCtrl();

mulView();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

break;

case div_:

div_Ctrl();

div_View();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

break;

case menu:

starLine();

menuView();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

break;

case etr:

numInputView();

numInputCtrl();

cmdInputView();

selectFuncCtrl(cmdInputCtrl());

break;

case exit_:

exit(0);

break;

default:break;

}

}

//

// main.c

// SimpleCalculator

//

// Created by Mewlan Musajan on 11/2/17.

//Copyright (c) 2017 Mewlan Musajan. All Rights reserved.

//

#include "ViewController.h"

int main(int argc, char const *argv[])

{

initailViewCtrl();

return 0;

}

C语言阶段考核一

要求完成个人项目:简易计算器

分值:10分

功能要求:

1、  功能菜单的显示

2、  可以不断重复选择不同的指令,直到程序退出为止。

3、  实现两个数的加法,减法,乘法,除法四种运算

4、  可以重新输入新的操作数

5、  如果输入菜单之外的指令,系统提示“非法指令”

6、  功能截图为参考,不一定完全一样,可以进行优化

考核分数和标准:

l  总分10分

l  代码:4分

l  代码解释和提问:6分

c语言简易计算器大作业报告,简易计算器 (C语言)作业相关推荐

  1. c语言的简单程序设计实验报告,工程学院C语言程序设计实验报告

    <工程学院C语言程序设计实验报告>由会员分享,可在线阅读,更多相关<工程学院C语言程序设计实验报告(5页珍藏版)>请在人人文库网上搜索. 1.南京工程学院实验报告课程名称C 语 ...

  2. c语言第六次实验报告,第一年C语言实验报告6列

    成都理工大学计算机工程学院"编程基础"实验报告 1. 实验目的 (1)精通一维数组. 二维数组的定义,初始化以及输入和输出方法(2)掌握字符数组和字符串函数的使用(3)掌握与数组有 ...

  3. c语言求abc大小时要怎么输入,C语言 有3个数a,b,c,要求按大小顺序把它们输出。,急!!!!!有三个数abc,要求按大小顺序输出. 请问用C语...

    导航:网站首页 > C语言 有3个数a,b,c,要求按大小顺序把它们输出.,急!!!!!有三个数abc,要求按大小顺序输出. 请问用C语 C语言 有3个数a,b,c,要求按大小顺序把它们输出., ...

  4. c语言药店管理系统的前提报告,数据结构(C语言)课设5——药店的药品销售统计系统...

    数据结构(C语言)课设5--药店的药品销售统计系统 题目描述: 你在一个L药品店当一名仓库管理员,马上就要放寒假回家过年了,L药店对这一年的销售情况做了统计,但这看起来太杂乱无章了.因此,你需要对这些 ...

  5. c语言课程设计贪吃蛇报告,贪吃蛇C语言课程设计报告.doc

    贪吃蛇C语言课程设计报告 贪吃蛇游戏设计 姓名: 张力 学号: 完成日期: 月 日 一.设计目的 贪吃蛇游戏程序功能的实现主要是建立在二维数组和图形界面的应用上,通过编写游戏程序能够熟悉掌握相关数组和 ...

  6. 【c语言训练】大,小写问题,【C语言训练】大、小写问题 (C语言代码)

    #include int main() { char c; while((c=getchar())&&!= '\n') { if(c>='A' && c<= ...

  7. 录入商品信息的c语言,超市商品信息系统设计报告及程序C语言.doc

    PAGE PAGE 22 苏州科技学院 二○一三 -二○一四学年第一学期 电子与信息工程系 课程设计报告书 课程名称: 程序设计基础实践 班 级: 学 号: 姓 名: 指导教师: 二○一三年十二月 1 ...

  8. c语言 u2_printf,请大神帮我把C语言转换成VB语言

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 'VB6的写法 Option Explicit Const PI = 3.1415926 Const Num = 36 Const Num1 = Num ...

  9. 操作系统作业调度算法c语言,操作系统课程设计报告电梯调度算法c语言实现.doc...

    操作系统课程设计报告电梯调度算法c语言实现 操作系统课程设计报告电梯调度算法c语言实现 :调度 算法 电梯 课程设计 操作系统 操作系统课程设计报告 模拟操作系统课程设计 写一个简单的操作系统 篇一: ...

  10. java计算器课程报告_java计算器课程设计报告

    java计算器课程设计报告 Java 计算器 - 0 - <Java 计算器> Java 课程设计报告 姓 名: ******** 学 号: ******** 专 业: ********* ...

最新文章

  1. HIve分组查询返回每组的一条记录
  2. linux国内计算机系统,计算机系统进化论 | Linux 中国
  3. Lession 14 Do you speak Englist?
  4. java155apk_【原创】浅谈 Android APK定点爆破
  5. VirtualBox在win10下安装一个国产深度os桌面系统的操作教程
  6. IDLDrawWidaget Activex
  7. ceisum 加载geojson,webgl 加载geojson数据没有贴地
  8. android 使用pdf文件大小,Android 加载PDF文件的使用
  9. Overview of HEVC之5 帧间预测
  10. 【OpenCV学习】cvConvert的使用
  11. mysql模糊查询如果是_mysql模糊查询的一个问题
  12. kail linux镜像文件,KaLi Linux iso下载_KaLi Linux官方镜像文件下载 2018.3 官网最新版(32位/64位)_当载软件站...
  13. 金格iweboffice2003,ie文档编写时无法自动提示安装问题解决
  14. grandMA2onPC控制UE4灯光
  15. RHCE-ansible第二次实验,通过ansible远程yum安装
  16. iptables匹配statistic
  17. 常见的弱口令爆破工具
  18. 退休当月要干到月底吗_到了法定退休年龄,生日当月去办理退休,还是要提前一个月办理?...
  19. 图形学基本知识整理(概述 + 硬件知识)
  20. UTC时间、GMT时间、CST时间(北京时间)、时间戳

热门文章

  1. 【Unity3D插件】DoTween插件(三)
  2. oss文件普通下载-断点下载
  3. 华为电脑管家最新(11.1.1.95)版完美升级安装教程
  4. 数字电路的基础知识(结合Verilog)
  5. 如何用OBS录制Mac系统声音
  6. 动态苹果屏保壁纸软件Brooklyn Mac免费版
  7. Python语言程序设计(嵩天老师版)第二周代码解析
  8. android微信红包提醒,微信红包提醒怎么设置 微信红包提醒设置教程
  9. C/C++二路归并排序
  10. Faster RCNN论文总结