第 1 页 共 1 7 页 集美大学诚毅学院 《高级语言程序设计》课程设计 实验报告 题目:洗牌和发牌模拟 专业:计算机科学与技术 班级: 姓名: 成绩: 指导教师: 完成日期:2008 年 6月 26 日 第 2 页 共 17 页 一、目的 1. 进一步掌握和利用C 语言进行程设计的能力; 2、 进一步理解和运用结构化程设计的思想和方法; 3、 初步掌握开发一个小型实用系统的基本方法; 4、 学会调试一个较长程序的基本方法; 5、 学会利用流程图或 N-S图表示算法; 6、 掌握书写程设计开发文档的能力(书写课程设计报告); 二、内容与设计思想 (1 ).系统功能与分析(填写你所设计的菜单及流程图) ◆系统功能综述 本文本编辑器通过菜单的选择可以实现对扑克牌的构建、洗牌和发牌的功能,并可将最初始的扑克牌的花色与面值显示出来以及发牌后的花色与面值显示出来 ◆ 设计的主菜单 选择执行的 操作 程序初始化主窗口 1 低效洗牌 2 低效发牌 4 高效洗牌3 退出 第 3 页 共 17 页 ◆ N-S流程图 main()主函数 定义显示菜单的函数 定义构建扑克牌的函数 定义低效洗牌的函数 定义低效发牌的函数 定义高效洗牌、发牌的函数 定义扑克牌花色的函数 定义扑克牌面值的函数 初始化二维数组 deck 为 0 初始化一维数组 huase 初始化一维数组 dianshu 调用菜单函数 调用构建扑克牌函数 根据根据 当为真时 输入用户所需要的选择 根据用户的选择进行功能 第 4 页 共 1 7 页 第 5 页 共 17 页 v oid su it(stru ct pu ke pk[52]) v oid face(stru ct pu ke pk[52]) 判断行数,打印正确的花色 判断列数,打印正确的面值 第 6 页 共 17 页 ◆ 分析与设计说明 每个函数的基本功能及函数的重要变量的意义: v oid menu () /*打印主菜单栏*/ v oid make(stru ct pu ke pk[52]) /*构建一副扑克并打印起初的扑克顺序*/ v oid ordinary _shu ffle(stru ct pu ke pk[52]) /*进行低效洗牌*/ v oid ordinary _deal(stru ct pu ke pk[52]) /*进行低效发牌*/ v oid effectiv e(int deck[][13],char hu ase[],char dianshu []) /*进行高效洗牌、发牌*/ v oid su it(stru ct pu ke pk[52]) /*打印扑克的花色*/ v oid face(stru ct pu ke pk[52]) /*打印扑克的面值*/ 各函数中的重要变量的意义详见下...