c语言实习报告文档格式.docx

上传人:b****2 文档编号:923288 上传时间:2023-04-29 格式:DOCX 页数:45 大小:304.77KB
下载 相关 举报
c语言实习报告文档格式.docx_第1页
第1页 / 共45页
c语言实习报告文档格式.docx_第2页
第2页 / 共45页
c语言实习报告文档格式.docx_第3页
第3页 / 共45页
c语言实习报告文档格式.docx_第4页
第4页 / 共45页
c语言实习报告文档格式.docx_第5页
第5页 / 共45页
c语言实习报告文档格式.docx_第6页
第6页 / 共45页
c语言实习报告文档格式.docx_第7页
第7页 / 共45页
c语言实习报告文档格式.docx_第8页
第8页 / 共45页
c语言实习报告文档格式.docx_第9页
第9页 / 共45页
c语言实习报告文档格式.docx_第10页
第10页 / 共45页
c语言实习报告文档格式.docx_第11页
第11页 / 共45页
c语言实习报告文档格式.docx_第12页
第12页 / 共45页
c语言实习报告文档格式.docx_第13页
第13页 / 共45页
c语言实习报告文档格式.docx_第14页
第14页 / 共45页
c语言实习报告文档格式.docx_第15页
第15页 / 共45页
c语言实习报告文档格式.docx_第16页
第16页 / 共45页
c语言实习报告文档格式.docx_第17页
第17页 / 共45页
c语言实习报告文档格式.docx_第18页
第18页 / 共45页
c语言实习报告文档格式.docx_第19页
第19页 / 共45页
c语言实习报告文档格式.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言实习报告文档格式.docx

《c语言实习报告文档格式.docx》由会员分享,可在线阅读,更多相关《c语言实习报告文档格式.docx(45页珍藏版)》请在冰点文库上搜索。

c语言实习报告文档格式.docx

3.详细设计

3.1主函数

主函数的形式比较简单,它主要不是实现函数功能,它主要是提供函数调用和形成菜单,其C程序如下:

voidmain()

{

while(n!

=11)

*形成菜单:

printf("

*******************主菜单*******************\n\n"

);

1.工地ADD;

\n2.配件ADD;

\n3.销售商ADD;

\n4.销售商-配件-工地ADD;

\n5.工地DEL;

\n6.配件DEL;

\n7.销售商DEL;

\n8.销售商-配件-工地DEL;

\n9.查询与供应商所在城市相同的零件-供应商记录对;

\n10.查询与供应商所在城市相同的项目-供应商记录对;

\n11.退出系统;

\n请选择:

"

*提供函数的调用:

scanf("

%d"

&

n);

if(n==1)

add1();

elseif(n==2)

add2();

elseif(n==3)

add3();

elseif(n==4)

add4();

elseif(n==5)

del1();

elseif(n==6)

del2();

elseif(n==7)

del3();

elseif(n==8)

del4();

elseif(n==9)

modify1();

elseif(n==10)

modify2();

}}

*流程图如下:

3.2输入模块

数据信息存放在文件中,用结构体存放,方便数据输入与数据的保存。

另外,要先对个输入函数进行声明。

*C程序如下:

/************************输入工地信息*****************/

voidadd1()

charf='

y'

;

inti,j;

structbuildingbuild[M];

FILE*fp;

if((fp=fopen("

c.txt"

"

w+"

))==NULL)

exit(0);

}

while(f=='

{

for(i=0;

i<

M;

i++)

输入工地名:

%s"

build[i].name);

请输入工地号:

canf("

build[i].num);

请输入工地所在城市:

build[i].city);

fprintf(fp,"

%s%s%s\n"

build[i].name,build[i].num,build[i].city);

}

for(j=0;

j<

j++)

printf("

build[j].name,build[j].num,build[j].city);

是否继续y/n:

\n"

%c"

f);

}

fclose(fp);

/*********************输入配件信息********************/

voidadd2()

intI,j;

d.txt"

N;

请输入配件名称:

pj[i].p_name);

请输入配件编号:

pj[i].p_num);

请输入配件颜色:

pj[i].p_colour);

请输入配件重量:

pj[i].p_weight);

请输入配件产地:

pj[i].p_area);

%s%s%s%s%s\n"

pj[i].p_name,pj[i].p_num,pj[i].p_colour,pj[i].p_weight,pj[i].p_area);

for(j=0;

pj[j].p_name,pj[j].p_num,pj[j].p_colour,pj[j].p_weight,pj[j].p_area);

/**********************输入销售商信息*******************/

voidadd3()

e.txt"

A;

请输入销售商名称:

bus[i].b_name);

请输入销售商编号:

bus[i].b_num);

请输入销售商状态:

bus[i].b_state);

请输入销售商所在城市:

bus[i].b_city);

%s%s%s%s\n"

bus[i].b_name,bus[i].b_num,bus[i].b_state,bus[i].b_city);

bus[j].b_name,bus[j].b_num,bus[j].b_state,bus[j].b_city);

/**********************输入总信息*******************/

voidadd4()

f.txt"

B;

请输入销售商号:

bpb[i].b_num);

请输入配件号:

bpb[i].p_num);

请输入建筑工地号:

bpb[i].num);

请输入数量:

bpb[i].num2);

bpb[i].b_num,bpb[i].p_num,bpb[i].num,bpb[i].num2);

bpb[j].b_num,bpb[j].p_num,bpb[j].num,bpb[j].num2);

3.3删除模块

建立菜单,选择要删除的信息,利用删除信息功能的函数实现信息从文件中删除掉。

*程序如下:

/*******************删除工地信息*****************/

voiddel1()

intm,i,j,k;

r+"

))==NULL)

\nerror!

!

feof(fp);

fscanf(fp,"

输入要删除第几条信息:

m);

for(k=m;

k<

k++)

strcpy(build[k].name,build[k+1].name);

strcpy(build[k].num,build[k+1].num);

strcpy(build[k].city,build[k+1].city);

(M-1);

/*******************删除配件信息*****************/

voiddel2()

strcpy(pj[k].p_name,pj[k+1].p_name);

strcpy(pj[k].p_num,pj[k+1].p_num);

strcpy(pj[k].p_colour,pj[k+1].p_colour);

strcpy(pj[k].p_weight,pj[k+1].p_weight);

strcpy(pj[k].p_area,pj[k+1].p_area);

(N-1);

/********************删除销售商信息*********************/

voiddel3()

%s%s%s%s\n"

strcpy(bus[k].b_name,bus[k+1].b_name);

strcpy(bus[k].b_num,bus[k+1].b_num);

strcpy(bus[k].b_state,bus[k+1].b_state);

strcpy(bus[k].b_city,bus[k+1].b_city);

(A-1);

/********************删除总信息**********************/

voiddel4()

strcpy(bpb[k].b_num,bpb[k+1].b_num);

strcpy(bpb[k].p_num,bpb[k+1].p_num);

strcpy(bpb[k].num,bpb[k+1].b_num);

strcpy(bpb[k].num2,bpb[k+1].num2);

3.4查询模块

输入销售商的地址,然后通过字符串比较的函数,判断产地是否相同,然后输出这些信息。

*C程序如下:

/*********************查找销售商-配件信息****************/

voidmodify1()

cs[20];

\nerror\n"

输入销售商所在城市:

cs);

if(strcmp(cs,pj[i].p_area)==0)

配件名称:

%s\n"

配件编号:

配件颜色:

配件重量:

配件产地:

/************************查找销售商-工地信息**********************/

voidmodify2()

if(strcmp(cs,build[i].city)==0)

工地名称:

工地编号:

工地所在城市:

3.5声明及结构体定义部分

该部分主要是对函数声明,以及对结构体的定义,首先要宏定义四个宏定义变量,与四个结构体变量进行对应,然后对各个子函数进行声明,其C程序如下:

#include<

stdio.h>

stdlib.h>

string.h>

#defineM5

#defineN3

#defineA5

#defineB5

structbuilding

charname[20];

charnum[20];

charcity[20];

}build[M];

structpeijian

charp_name[20];

charp_num[20];

charp_colour[20];

charp_weight[20];

charp_area[20];

}pj[N];

structbusiness

charb_name[20];

charb_num[20];

charb_state[20];

charb_city[20];

}bus[A];

structtotal

charnum2[20];

}bpb[B];

voidadd1();

voidadd2();

voidadd3();

voidadd4();

voiddel1();

voiddel2();

voiddel3();

voiddel4();

voidmodify1();

voidmodify2();

intn;

/**************定义全局变量**************/

4.测试结果分析

*菜单:

如下图所示,已经形成菜单,可以选择下一步要进行的操作。

*输入部分:

图一是对工地数据进行输入,由于最后一项无法删除,且会在删除前面某一项后,会填补倒数第二项,故而可以用全零表示无数据。

如图,数据已输入并已存入。

另外,图二是对销售商信息进行输入。

*查询部分:

如下图所示,为对销售商——工地进行配对查找,输入已有的销售商地址,即得到与之配对的工地号,功能得以实现。

*删除部分:

图一是选择要删除的数据项,可以选0到3,最后一项无法删除。

图二显示的是要删除的数据已经删除,实现了删除功能。

5.总结

此次课程设计的学习,让我的在计算机方面的认识有了更为广阔的了解。

其中在学习过程中遇到了许多麻烦。

以前在课堂上学的C语言用到上机上来,许多问题都反映了出来,得以让我的认知升级。

课程设计的学习,提高了我运用了计算机能力以及培养了我运用结构化程序设计的思想和方法,初步掌握开发一个小型实用系统的基本方法,学会调试较长的程序,学会用流程图表示算法,进一步掌握和提高利用C语言进行程序设计的能力。

程序设计的过程,

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

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2