1、 课 程 设 计 设计课程名称: C 语言程序设计 题 目:多功能计算器、洗牌发牌、学生文件处理、链表处理 学 生 姓 名: 学 院(系):信息科学与工程学院 专 业 班 级: 1 课程设计任务书课程设计任务书 一、一、 课程设计目的:课程设计目的: 本课程设计是计算机科学与技术专业重要的实践性环节之一,是 在学生学习完 程序设计语言(C) 课程后进行的一次全面的综合练习。 本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决
2、实际问题的能力 二二. . 课程设计要求:课程设计要求: 1. 分析课程设计题目的要求 2. 写出程序流程图 3. 编写程序代码及重要的解释,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 4. 设计完成后提交课程设计报告 三设计内容:三设计内容: 题一:题一: 设计一个多功能计算程序(设计一个多功能计算程序(计算器模拟)计算器模拟) 实现功能: 具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。 依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然 后输出结果。结果可以作为下一个运算的第一运算数。按C清屏, 按R退出。 例如:输入:2 +5 输出:7 2 1
3、.1.概要设计概要设计: : 该程序运用switch语句,进行运算法则的多路选择,采 用循环,使得程序能够连续输入,运用字符串函数对符号进 行处理。 2.2.流程图:流程图: 3.程序如下:程序如下: /*计算器*/ #include /*头文件*/ 结束 结果 3 #include void main() float num1,num2; char ch; float values; printf(“按 C 清屏,按 R 退出:n“); printf(“输入计算式:n“); scanf(“%f“, start:/*循环体*/ ch=getchar();/*捕捉输入的字符+-*/*/ scan
4、f(“%f“, while(1)/*while 循环*/ switch(ch)/*多路选择*/ case +: values=num1+num2; printf(“%f“,values); num1=values;/*记入所得值并把它作为下一次运算的第一个数*/ break; case -: values=num1-num2; printf(“%f“,values); num1=values; break; case *: values=num1*num2; printf(“%f“,values); num1=values; 4 break; case /: if(num2=0) printf
5、(“Error!,please input again.n“);/*除数不能为 0*/ ch=getchar();/*去除换行键的影响*/ goto start;/*跳出到 start,再进行*/ else values=num1/num2; printf(“%f“,values); num1=values; break; /*end switch*/ scanf(“%*c%c“,/*取消换行符的影响*/ if(ch=c| ch=C)/*清屏*/ system(“cls“); scanf(“%*c%c“, if(ch=r|ch=R)/*退出*/ printf(“nn 谢谢使用! ! !“);
6、break; scanf(“%f“, /*end while*/ /*end main*/ 4.程序运行如下:程序运行如下: 5 按 c 清屏: 按 r 退出: 题二:银行存取款机器的模拟题二:银行存取款机器的模拟 洗牌和发牌模拟洗牌和发牌模拟 用随机数开发一个可用来实现具体的玩牌游戏中的洗 牌和发牌的模拟程序。 实现功能: 洗牌功能 发牌功能: 54张牌,随机发给4个玩家,要求显示各 玩家及底牌. 6 设计模拟4副牌的程序 1.1.概要设计:概要设计: 运用二维数组,先存储对应的牌数,对牌的花色,数字 进行存储。然后采用随机函数,随机抽取,进行交换。单独 处理大小王的问题。将洗好的牌分发。