请教一下如何用流程图描述它

int delete_from_list ( LIST * pList )
{
//判断链表是否存在,是否为空
if ( NULL == pList
|| NULL == pList->pNext )
{
printf ( "数据库数据为空,请先添加商品信息\r\n" );
return ERROR;
}
//定义一个数组
char str[SIZE] = {0};
printf( "请输入需要删除的商品名称\r\n" );
scanf ( "%s", str );

//定义指针变量
LIST *p = pList->pNext;
LIST *q = pList;

while ( NULL != p )
{
    //查找商品,显示商品信息
    if ( 0 == strcmp ( p->data.name, str ) )
    {
        q->pNext = p->pNext;
        free ( p );
        p = NULL;
        printf ( "商品 %s 信息已被删除!!\r\n", str );
        return OK;
    }
    p = p->pNext;
    q = q->pNext;

}
printf ( "您输入的商品名称没有找到!!\r\n" );
return ERROR;

}