建筑工地信息管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言课程设计报告

课程名称:计算机高级语言课程设计(C)教师姓名:陈喆

本科生姓名:张宸

本科生学号: ***********

本科生专业:土地资源管理

所在院系:公共管理学院

类别: C. 本科生

日期: 2016.01.14

课程设计评语

注:1、无评阅人签名成绩无效;

2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;

3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录

前言 (4)

一、题目要求 (4)

二、题目分析 (5)

三、总体设计 (5)

四、详细设计 (6)

1、主函数 (6)

2、各功能模块设计 (9)

(1)数据输入设计 (9)

(2)删除设计 (15)

(3)查询设计 (20)

(4)查找配对设计 (24)

五、上机操作 (27)

后记 (30)

附录:所有程序代码 (32)

前言

C程序课程设计的目的:为加深学生对基础知识的了解,同时提高综合程序设计能力,在课堂教学结束后,集中安排了课程设计强化训练,目的是使学生融会贯通基本算法,提高综合程序设计能力。通过前四单元的温故而知新、庖丁解牛、举一反三、熟能生巧等过程的练习之后能够解决一些简单的实际问题。

一、题目要求

设计:“建筑工地信息管理系统”

建立如下4个文件(括号内为文件中每条记录的字段内容):

(1)销售商-配件-建筑工地(销售商号码,配件号,工地号,数量)(2)建筑工地(工地号,名字,城市)

(3)配件(配件号,配件名,颜色,重量,产地)

(4)销售商(号码,名字,状态,城市)

功能:

(1)首先建立文件,然后插入数据,并进行删除、更新操作,最后进行查询操作。

(2)查询与供应商所在城市相同的零件——供应商,项目——供应商记录对。

二、题目分析

根据题目要求,建立文件,应选择结构体数组来存放数据,再定义一个全局变量和文件指针进行程序的运行,然后把数据信息存入文件中,所以要提供结构体和文件的输入输出等操作;在程序中要进行数据的插入、删除、更新、查询等操作,所以需要建立相应的模块来实现,为简便起见,还应建立一个主菜单,在每个模块中建立相应的副菜单;另外,还要提供键盘式选择菜单来实现选择功能,使程序在运行时达到要求。

三、总体设计

根据题目要求,可以将系统分为:

1)插入数据模块;

2)删除模块;

3)查询模块;

4)查找配对;

图一:系统功能模块图

四、详细设计

1、主函数

【分析】主函数一般设计得比较简便,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图:

图二 :主函数流程图

开始

显示一系列功能选择 输入n ,判断w 是否是0到4? 根据n 值调用各 功能模块函数

结束

N

【程序】

void menu()

{

int n,w; //变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内

do

{

puts("\t\t*************建筑工地信息管理****************\n\n");

puts("姓名:陈文昕");

puts("学号:20141003384");

puts(班号:175142");

puts("\t\t****************MENU*******************\n\n");

puts("\t\t\t\t1.输入"); //输入

puts("\t\t\t\t2.删除"); //删除

puts("\t\t\t\t3.查找"); //查找

puts("\t\t\t\t4.配对"); //查找配对

puts("\t\t\t\t5.Exit");

puts("\n\n\t\t**************************************\n");

printf("Choose your number (1-5):[ ]\b\b");

scanf("%d",&n);

if(n<1||n>5)

{

w=1;

getchar();

}

else w=0;

}

while(w==1);

switch(n)

{

case 1:enter();

break;

case 2:delete();

break;

case 3:search();

break;

case 4:search2();

break;

case 5:exit(0);

}

}

main()

{

menu();

}

2、各功能模块设计

(1)数据输入设计

【分析】数据信息存放在文件中,用结构体存放,方便数据输入与数据的保存。另外,输入模块中建立副菜单,用以输入四个文件的信息选项。

图三:数据输入模块流程图

【程序】

//销售商-配件-建筑工地信息输入模块

void SFB_enter()

{

int j;

char c[2];

FILE *fp;

if((fp=fopen("data1.txt","w"))==NULL)

{

printf("Cannot open the file!\n");

exit(0);

}

for(j=0;j

{

fwrite(&SFB[j],sizeof(struct SellerFitBuild),1,fp);

}

while(1)

{

printf("输入销售商号码:\n");

scanf("%d",&SFB[i].seller_code);

printf("输入配件号:\n");

scanf("%d",&SFB[i].fit_code);

printf("输入工地号:\n");

scanf("%d",&SFB[i].build_code);

printf("输入项目号:\n");

scanf("%d",&SFB[i].subject_code);

printf("输入销售数量:\n");

scanf("%d",&SFB[i].num);

if(fwrite(&SFB[i++],sizeof(struct SellerFitBuild),1,fp)!=1) printf("File write error\n");

else printf("Successful!\n");

printf("是否继续?(是[y]/否[n]) \n");

scanf("%s",c);

if(strcmp(c,"n")==0)

break;

}

fclose(fp);menu();

}

相关文档
最新文档