软件设计方法实习报告文档格式.docx

上传人:b****5 文档编号:21512113 上传时间:2023-01-30 格式:DOCX 页数:25 大小:220.93KB
下载 相关 举报
软件设计方法实习报告文档格式.docx_第1页
第1页 / 共25页
软件设计方法实习报告文档格式.docx_第2页
第2页 / 共25页
软件设计方法实习报告文档格式.docx_第3页
第3页 / 共25页
软件设计方法实习报告文档格式.docx_第4页
第4页 / 共25页
软件设计方法实习报告文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

软件设计方法实习报告文档格式.docx

《软件设计方法实习报告文档格式.docx》由会员分享,可在线阅读,更多相关《软件设计方法实习报告文档格式.docx(25页珍藏版)》请在冰豆网上搜索。

软件设计方法实习报告文档格式.docx

1.安装 

Eclipse 

开发环境;

2.学习 

开发环境的使用;

3.在 

下,编写程序,完成实数的四则运算功能;

(三)、发挥部分

根据自己的程序开发水平,完成其他可展示功能程序。

-1-

二.过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、

调试过程、结果)

(一)、在 

LINUX 

下 

Shell 

命令行内执行四则运算

1、在 

Linux 

根目录 

root 

下创建自己的工作目录 

[root@localhost 

~]# 

mkdir 

std

std]# 

cd 

std]#mkdir 

calculate

calculate]# 

add 

sub 

mul 

div

ls

adddivmulsub

2.在上述的工作目录下编写四则运算的代码。

(1) 

目录下

add]# 

vi 

add.c

float 

add(float 

a,float 

b)

{

{return 

a+b;

}

add.h

#ifndef 

ADD_H_

#define 

b);

#endif

add.o:

cc 

-c 

-o 

add.o 

(2)sub 

sub]# 

sub.c

sub(float 

return 

a-b;

11 

-

sub.h

SUB_H_

sub.o:

sub.o 

(3) 

mul]# 

mul.c

mul(float 

returna 

b;

mul.h

MUL_H_

mul.o:

mul.o 

(4) 

div 

div]# 

div.c

div(float 

a/b;

div.h

12 

DIV_H_

x,float 

y);

div.o:

div.o 

(5) 

calculate 

cal.c

#include<

stdio.h>

#include"

add.h"

sub.h"

div.h"

mul.h"

int 

main 

(void)

m= 

1;

a= 

0;

=0;

sum= 

;

minus= 

multi= 

divide= 

charc= 

const 

EPSILON 

1e-10;

while(m==1)

printf("

请输入两个实数:

\n"

);

scanf("

%f 

%f"

&

a,&

运算符号是:

scanf 

("

%s"

c);

switch 

(c)

case 

'

+'

:

sum 

add(a,b);

%f+%f=%f\n"

a,b,sum);

break;

-'

minus 

=sub 

(a,b);

%f-%f=%f\n"

a,b,minus);

*'

multi 

=mul(a,b);

%f*%f=%f\n"

a,b,multi);

/'

if 

((b>

-EPSILON)&

&

(b<

EPSILON))

错误,除数不能为 

!

else

divide 

%f/%f=%f\n"

a,b,divide);

default 

未知运算符!

输入 

继续,输入其他退出程序!

%d"

m);

vpath 

%add.c 

add

%add.h 

%sub.c 

sub

%sub.h 

%mul.c 

mul

%mul.h 

%div.c 

%div.h 

obj 

cal.o 

div.o

test 

$(obj)

cal.c 

-I 

clean:

rm 

-rf 

*.o

上述程序中使用了 

gcc 

与 

makefile 

①在 

的终端命令中有 

指令

◆ 

预处理(Pre-Processing)

使用-E 

参数可以让 

在预处理结束后停止编译过程:

-E 

hello.c 

hello.i

编译(Compiling)

下一步是将 

hello.i 

编译为目标代码,这可以通过使用-c 

参数来完成:

-x 

cpp-output 

–c 

hello.o

或者

汇编(Assembling)

链接(Linking)

hello.o 

hello

②Makefile 

就是“自动化编译”,一旦写好,只需要一个 

make 

命令,整个工程完全自动编

译。

命令执行时,需要一个 

Makefile 

文件,以告诉 

命令需要怎么样的去编译和链

接程序。

的规则:

target 

... 

:

prerequisites 

...

command

也就是一个目标文件,可以是 

Object 

File,也可以是执行文件。

还可以是一个标签

(Label)。

就是,要生成那个 

所需要的文件或是目标。

command 

也就是 

需要执行的命令。

这是一个文件的依赖关系,target 

这一个或多个的目标文件依赖于 

中的文件,

其生成规则定义在 

中。

中如果有一个以上的文件比 

文件要新

的话,command 

所定义的命令就会被执行。

是如何工作的:

命令。

那么,

1、make 

会在当前目录下找名字叫“Makefile”或“makefile”的文件。

2、如果找到,它会找文件中的第一个目标文件(target),并把这个文件作为最终的目

标文件。

3、如果 

edit 

文件不存在,或是 

所依赖的后面的 

.o 

文件的文件修改时间要比 

个文件新,那么,他就会执行后面所定义的命令来生成 

这个文件。

4、如果 

所依赖的.o 

文件也存在,那么 

会在当前文件中找目标为.o 

文件的依

赖性,如果找到则再根据那一个规则生成.o 

文件。

5、C 

文件和 

文件存在时 

会生成 

文件,然后再用 

文件生命 

的终极任

务,也就是执行文件 

了。

这就是整个 

的依赖性,make 

会一层又一层地去找文件的依赖关系,直到最终编译

出第一个目标文件。

在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,

那么 

就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make

根本不理。

只管文件的依赖性。

Vpath

中如果没有指明 

这个变量,make 

只会在当前的目录中去找寻依赖文件和

目标文件。

如果定义了这个变量,那么,make 

就会在当当前目录找不到的情况下,到所

指定的目录中去找寻文件了。

Vpath 

的使用方法:

<

pattern>

directories>

为符合模式<

的文件指定搜索目录<

vapth 

使用方法中的<

需要包含“%”字符。

“%”的意思是匹配零或若干字符,

(需引用“%”,使用“\%"

)例如,“%.h”表示所有以 

“.h”结尾的文件。

指定了要搜索的文件集,而<

则指定了<

的文件集的搜索的目录。

(如果某文件在当前目录没有找到的话) 

我们可以连续地使用 

语句,以指定不同

搜索策略。

如果连续的 

语句中出现了相同的<

,或是被重复了的

,那么,make 

会按照 

语句的先后顺序来执行搜索。

3. 

在 

目录下使用 

make

cc-c 

add/add.c

sub/sub.c

mul/mul.c

div/div.c

4. 

运行四则运算程序

./test

54

+

5.000000+4.000000=9.000000

1

5.000000-4.000000=1.000000

*

5.000000*4.000000=20.000000

50

/

2

(二)、Eclipse 

的学习使用

下,编写程序,完成实数的四则运算功能

(1)、点击 

file 

下的新建(new)一个 

工程(c 

project);

(2)、在出现的对话框中,输入 

project 

name,点 

Finsh,完成 

的创建;

(3)、新建 

源程序:

file->

new->

source;

(4)、新建头文件:

headfile;

(5)、在 

source 

中输入 

name,输入文件名要加上后缀.c 

或.h;

(6)、在 

窗口中输入需要的 

程序和各个头文件,复制上述代码即可;

(7)、单击“Build 

Debug'

for 

test'

”,然后再单击“Run 

test”运行。

(三)、其他可展示功能程序

十进制正整数转换为二进制或八进制

math.h>

ten_two(int 

num)

inti=0;

arr[20]={};

for( 

i++)

arr[i] 

num 

2;

if(num 

== 

0)

for(;

i>

i--)

arr[i]);

arr[20];

ten_eight(int 

i=0;

8;

main(void)

select 

a[20]={};

请输入一个十进制整数\n"

num);

十进制转二进制,2 

十进制转八进制\n"

select);

switch(select)

转换为二进制:

ten_two 

(num);

转换为八进制:

ten_eight(num);

您的输入有误,请重新输入!

运行结果如下:

请输入一个十进制数

8

十进制转八进制

1000

10

12

三、小结

这一周的课程设计是本学期所有课程设计里最令我纠结的一个,归根结底还是个大问

题:

一个是基础知识掌握不牢;

二是就是设计时粗心大意,小错误不断;

三是检错能力差,

不能根据报错结果找出错误原因。

以下是我设计时遇到的问题及解决方法:

1.编辑头文件时,分号容易漏掉,导致语法性错误

2.Makefile 

时 

前面的空格一定要用 

TAB 

键,否则检测会报“缺少分隔符”

3.GCC 

的调试中出现了一些语法错误,gcc 

有很多种写法规则,因为类别太多导致容易混

淆。

4.编写 

不规范,错误很多,多目录下的 

与同目录下的 

虽然不

同,但也有相同之处,不能做到举一反三。

5.关于如何在主程序下的 

中引用 

add、sub 

等的 

makefile,通过查资料在陈浩编

写的“跟我一起写 

Makefile”找到了答案。

问题看上去虽然不多,但每一个问题都曾使我焦头烂额很长时间,一直到星期四下午

才把一切都弄好。

这次课程设计虽然给我带来了很多麻烦,但也同时激发了我对软件设计

的挑战和兴趣,这次设计是结束了,但我会在课余时间继续专研,扩展自己该领域的知识

面,不断的前进与挑战自我。

成绩日期批阅人

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1