序号: 30
学号:
课 程 设 计
设计课程名称: C语言程序设计
题 目:多功能计算器、洗牌发牌、学生文件处理、链表处理
学 生 姓 名:
学 院(系):信息科学与工程学院 专 业 班 级:
指 导 教 师: 闫玉宝 专业技术职务:
设计时间: 2013 年 6 月 11 日 ( 2013 年 6 月 20 日
课程设计任务书
一、??课程设计目的:
本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:
1. 巩固和加深学生对C语言课程的基本知识的理解和掌握
2. 掌握C语言编程和程序调试的基本技能
3. 利用C语言进行基本的软件设计
4. 掌握书写程序设计说明文档的能力
5. 提高运用C语言解决实际问题的能力
二. 课程设计要求:
1. 分析课程设计题目的要求
2. 写出程序流程图
3. 编写程序代码及重要的解释,调试程序使其能正确运行
4. 设计完成的软件要便于操作和使用
4. 设计完成后提交课程设计报告
三.设计内容:
题一:
设计一个多功能计算程序(计算器模拟)
实现功能:
具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘R’退出。
例如:输入:2 +5
输出:7
1.概要设计:
该程序运用switch语句,进行运算法则的多路选择,采用循环,使得程序能够连续输入,运用字符串函数对符号进行处理。
2.流程图:
3.程序如下:
/*计算器*/
#include /*头文件*/
#include
void main()
{
float num1,num2;
char ch;
float values;
printf("按C清屏,按R退出:\n");
printf("输入计算式:\n");
scanf("%f",&num1);
start:/*循环体*/
ch=getchar();/*捕捉输入的字符'+''-''*''/'*/
scanf("%f",&num2);
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;
break;
}
case '/':
{
if(num2==0)
{
printf("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",&ch);/*取消换行符的影响*/
if(ch=