【问题标题】:Simple Flowcharts简单流程图
【发布时间】:2011-07-07 10:04:25
【问题描述】:
void main()
{
    int numTickets;
    float discount;
    float total = 0.0;
    int numKids = 0;
    float ticketPrice = 19.00;
    printf("Enter number of tickets: ");
    scanf("%d", &numTickets);
 if (numTickets > 10)
 {
   discount = 0.15;
 }
 else
 {
   discount = 0.0;
 }
   printf("Enter number of children: ");
   scanf("%d", &numKids);
   total = numKids*ticketPrice/2.0 + (numTickets – numKids)*ticketPrice;
   total = total*(1.0 – discount);
   printf("Total = %.2f \n", total);
}

基本上,我正在帮助我的表弟学习,其中一个问题是为此绘制流程图。问题是我忘记了我所知道的关于流程图的一切!顶部的变量减速有标准吗?其实剩下的我可以补,只是不知道怎么开始!

【问题讨论】:

    标签: c flowchart


    【解决方案1】:

    常规赋值(如您的变量初始化)应出现在普通矩形中(如http://upload.wikimedia.org/wikipedia/commons/d/d6/FlowchartExample.png 中的那些)。

    请记住,IO(如您的 printf/scanf 语句)应该是平行四边形,条件分支应该是菱形。

    【讨论】:

    • 在那张图片中它只提到变量 M 和 F 被赋值时,所以我看到我可以把 total = 0.0 放在一个矩形中,但是像要声明的折扣这样的东西呢但还没用?在使用之前会被忽略吗?还是同时被删除?
    • @confusified,这纯粹是一个约定问题。您可以省略它(最常见的,因为流程图是高级的,您不需要这些实现细节)或包含它(如果强调它的声明点很重要)。如果没有定义约定,我建议你包括它,它不会受到伤害。该矩形用于所有内存中的操作,包括变量声明。
    • 谢谢,每当我需要流程图时,其他人都不需要看到它,所以我会以任何适合我的方式去做,但考虑到这是为了我的堂兄弟考试,我想我应该找出他应该遵循的惯例。
    • @confusified,很高兴。至于惯例,我建议你的表弟问问他/她的老师对他们的期望是什么,因为这真的是个人品味的问题。
    【解决方案2】:

    非常基本的规则:

    • 变量声明(以及一般的代码块)进入矩形框
    • 条件(也包括迭代)进入菱形
    • 输出进入平行四边形

    Wikipedia 文章很有用。

    【讨论】:

    • 我主要想知道尚未初始化的变量的声明,例如声明 int i;而不是 int i = 3;
    • 正如 davin 已经指出的那样,流程图没有如此详细的规则,因为它们被认为包含高级信息
    猜你喜欢
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2018-02-26
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多