C语言课程设计报告模板

更新时间:2023-05-23 14:33:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言课程设计报告

题 目: 模拟计算器程序

班 级: 软件1001 组 名: 寂寞的木马 指导教师: 陈老师

日 期:

2011.05.26

目 录

1 需求分析

1.1 问题分析 1.2 采用技术 1.3 设计目标

2 总体设计 2.1 系统流程设计 2.2 系统模块设计

3 详细设计 3.1 模块功能说明 3.2 模块流程图 3.3 界面设计

4 测试结果

5 程序清单

6 设计体会

模拟计算器程序

1 需求分析

1.1 问题分析

途中遇到清屏,算法错误

1.2 采用技术 开发工具 C语言 运行环境

(1)WINDOWS2000/XP系统 (2)TurboC2.0编译环境

1.3 设计目标

编写一个程序来实现算术计算器。通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、*、等运算符号),然后将其信息存入文件中。输入一个算术计算式,就在屏幕上显示结果。

2 总体设计

2.1 系统流程设计

调用函数: #include <stdio.h> #include <conio.h> 函数声明: void menu(); void add(); void sub();

void mul(); void div(); void add_n_to_m(); 清屏功能代码

调用部分 进行功能键设置 自定义函数 用算模块

2.2 系统模块设计

void add()//加法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); printf("%lf+%lf=%lf\n",a,b,a+b); }

void sub()//减法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); printf("%lf-%lf=%lf\n",a,b,a-b); }

void mul()//乘法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b);

printf("%lf*%lf=%lf\n",a,b,a*b); }

void div()//除法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); if(b==0)//被除数不能为0 printf("error\n"); else

printf("%lf/%lf=%lf\n",a,b,a/b); }

void add_n_to_m()//累加 {

int m,n,i=0,s=0; printf("input n and m:"); scanf("%d%d",&n,&m);

if(n>m) printf("error.\n");//条件限制 else {

for(i=n;i<=m;i++) s+=i;

printf("%d+...+%d=%d\n",n,m,s); } }

3 详细设计

3.1 模块功能说明

void add(); 加法运算 void sub(); 减法运算 void mul(); 乘法运算 void div(); 除法运算

void add_n_to_m(); 数字n到m的和

3.2 模块流程图

3.3 界面设计

技术原因没能实现

4 测试结果

5 程序清单

#include <stdio.h>//头文件 #include <conio.h> void menu();//声明部分 void add(); void sub(); void mul(); void div(); void add_n_to_m(); main() { int i; while(1) {

system("cls");//清屏功能 menu();

printf("choose function:"); scanf("%d",&i); switch(i) {

case 1:add();getch();break;//调用部分 case 2:sub();getch();break; case 3:mul();getch();break; case 4:div();getch();break; case 5:add_n_to_m();getch();break; case 6: exit(0);break; }

} }

//以下是自己定义的函数 void menu()//菜单 { { {

printf("+------DI 6 ZU---+\n");说明:用行什么算法就先输入1-6,

printf("+zuyuan: ++gongneng: +\n"); 如加法就是1 printf("+ changyongheng ++1,jia fa +\n"); printf("+ jinglei ++2,jian fa +\n"); printf("+ liqiang ++3,cheng fa +\n"); printf("+ wubing ++4,chu fa +\n"); printf("+ liuguozhang ++5,n-m de he +\n"); printf("+ wuzhenhua ++6,quie +\n"); printf("+----------------------------------\n"); }

void add()//加法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); printf("%lf+%lf=%lf\n",a,b,a+b); }

void sub()//减法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); printf("%lf-%lf=%lf\n",a,b,a-b); }

void mul()//乘法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); printf("%lf*%lf=%lf\n",a,b,a*b); }

void div()//除法运算 {

double a,b;

printf("input two numbers:"); scanf("%lf%lf",&a,&b); if(b==0)//被除数不能为0 printf("error\n"); else

printf("%lf/%lf=%lf\n",a,b,a/b); }

void add_n_to_m()//累加 {

int m,n,i=0,s=0; printf("input n and m:"); scanf("%d%d",&n,&m);

if(n>m) printf("error.\n");//条件限制 else {

for(i=n;i<=m;i++) s+=i;

printf("%d+...+%d=%d\n",n,m,s); } }

6 设计体会

这次课程设计让我们学到了很多,从编程中可以看出编写一个程序的是一件很难的事。在此也要感谢其他给予我帮助的同学。

时间安排表

课程设计评定表

模拟计算器程序 学号 姓名 组长评定 项目成绩 总成绩

模拟计算器程序

附录1 每周工作记录

模拟计算器程序

组名 本 周 工 作 概 要 下 周 工

寂寞的木马

日期

13 周周报

编号

002

本周任务:解决上周所遇问题。Word 模板制作。 完成情况:ppt 前期制作完成 计算器程序 ,logo 制作完成,模板等待程序分析便可完成。

流程图制作,程序合并进行测试。解决问题。

作 计 划 是否按计划完成? 是否按计划完成?基本完成, 一键 c 清屏 出现问题, 正在讨论 中。

责任人

常永恒

建 议

模拟计算器程序

模拟计算器程序 组名 本 周 工流程图制作,程序合并进行测试。解决问题。

寂寞的木马

日期

14 周周报

编号

003

作 概 要 下 周 工解决上周所遇问题。Word 模板制作

作 计 划 是否按计划完成? 是否按计划完成?界面没有成 功,没有完 成

责任人

常永恒

建 议

模拟计算器程序

模拟计算器程序

组名 本 周 工

寂寞的木马

日期

15 周周报

编号

004

解决上周所遇问题。Word 模板制作

作 概 要 下 周 工 作 计 划 是否按计划完成? 是否按计划完成?讲解完成, 界面依旧没 解决

为组员讲解程序运行,最好能解决界面问题

责任人

常永恒

建 议

模拟计算器程序

附录2 问题记录

本文来源:https://www.bwwdw.com/article/9ad4.html

Top