1、C 语 言 课 程 实 习 报 告建筑工地信息管理系统一. 题目要求建筑工地信息管理系统要求要建立与建筑相关的四个文件信息:1)项目 2)工地3)配件 4)商家;建立文件以后,根据项目、工地或商家完成各项工作的追加、删除、修改和更新查询操作。二. 需求分析 要求整个系统设计为建筑工地的信息输入、追加、删除、修改、浏览、查询模块。三. 总体设计如示意图:开始菜单输入 追加 删除 修改 退出浏览项目 工地配件 商家查找 插入四. 详细设计1.主函数main()menu();2.菜单menu()int n,w1;doputs(“ntt*MENU*n“);puts(“tt 建筑工地信息系统 nn“);
2、puts(“tttt1.Enter data“);puts(“tttt2.Addition data“);puts(“tttt3.Delete data“);puts(“tttt4.Modify data“);puts(“tttt5.Insert data“);puts(“tttt6.Browse all“);puts(“tttt7.Browse project“);puts(“tttt8.Browse site“);puts(“tttt9.Browse outfit“);puts(“tttt10.Browse sale“);puts(“tttt11.Search date“);puts(“t
3、ttt12.Exit“);puts(“nntt*n“);printf(“Choice your number(1-12): bbb“);scanf(“%d“,if(n12)w1=1;getchar();else w1=0;while(w1=1);switch(n)case 1:enter();break;case 2:add();break;case 3:del();break;case 4:modify();break;case 5:insert();break;case 6:browse();break;case 7:browse_project();break;case 8:browse
4、_site();break;case 9:browse_outfit();break;case 10:browse_sale();break;case 11:search();break;case 12:exit(0);3各功能模块设计(1)输入模块/整个系统数据结构:struct project char site_num10;char site_name20;char site_city20;char outfit_num10;char outfit_name20;char outfit_color10;char outfit_place20;char sale_num10;char sa
5、le_name20;char sale_state10;char sale_city20;int outfit_n;proN;注意:proN中的 N 为项目数量,本程序宏定义#define N 50/流程示意图:i!=0保存 save(n)输入用户要输入职工记录的个数 ni 从 0 到 n-1 调用输入函数 input(i)/程序实现enter()int i,n;printf(“How many information(0-%d)?:“,N-1);scanf(“%d“,printf(“nEnter data nownn“);for(i=0;inn 1).site_num 2).site_nam
6、e 3).site_city 4).outfit_num 5).output_namen 6).output_color 7).output_place 8).sale_num 9).sale_name 10).sale_staten11).sale_city 12).outfit_n 13).cancle and back“);printf(“Please choose:(1-13): bbb“);scanf(“%d“,if(c13|c13|c1);doswitch(c) case 1:printf(“site_num.:“);scanf(“%s“,break;case 2:printf(“
7、site_name.:“);scanf(“%s“,break;case 3:printf(“site_city.:“);scanf(“%s“,break;case 4:printf(“outfit_num.:“);scanf(“%s“,break;case 5:printf(“outfit_name.:“);scanf(“%s“,break;case 6:printf(“outfit_color.:“);scanf(“%s“,break;case 7:printf(“outfit_place.:“);scanf(“%s“,break;case 8:printf(“sale_num.:“);sc
8、anf(“%s“,break;case 9:printf(“sale_name.:“);scanf(“%s“,break;case 10:printf(“sale_state.:“);scanf(“%s“,break;case 11:printf(“sale_city.:“);scanf(“%s“,break;case 12:printf(“outfit_n.:“);scanf(“%d“,break;case 13:menu();puts(“nNow:n“);printf_face();printf_one(i);printf(“nAre you sure?nt1).Sure 2).No an
9、d remodify 3).Back without saven“);printf(“Please choose:(1-3): bb“);scanf(“%d“,while(w1=2);return(w1);/显示主文件结构printf_face()puts(“nt*建筑工地项目信息*“);puts(“nt*“);printf(“t site_num site_name site_city“);printf(“ntnoutfit_num outfit_name outfit_color outfit_palce“);printf(“nt sale_num sale_name sale_state
10、 sale_city outfit_n“);puts(“nt*“);/显示项目文件结构printf_project1()printf(“t-项目信息-n “);printf(“n t 销售商号码*配件号*工地号*配件数目n “);puts(“ -“);/显示建筑工地文件结构printf_site1()printf(“t-工地信息-n“);printf(“nt 工地号*名称*所在地方n“);puts(“ -“);/显示配件文件结构printf_outfit1()printf(“nt -配件信息-n“);printf(“nt 配件号码*名称*颜色*产地*数量n“);puts(“ -“);/显示销售
11、商文件结构printf_sale1()printf(“nt-商家信息-n“);printf(“nt 生产商号*名称*状态*城市n“);puts(“ -“);/显示主文件数据printf_one(int i)printf(“t%6s%13s%14s“,proi.site_num,proi.site_name,proi.site_city);printf(“nt%6s%13s%14s%14s“,proi.outfit_num,proi.outfit_name,proi.outfit_color,proi.outfit_place);printf(“nt%6s%13s%14s%14s%10d“,pr
12、oi.sale_num,proi.sale_name,proi.sale_state,proi.sale_city,proi.outfit_n);puts(“nt-“);/显示主项目数据printf_project(int i)printf(“%14s%15s%13s%15d“,proi.site_num,proi.outfit_num,proi.sale_num,proi.outfit_n);puts(“n -“);/显示建筑工地文件数据printf_site(int i)printf(“%13s%11s%13s“,proi.site_num,proi.site_name,proi.site
13、_city);puts(“n -“);/显示配件文件数据printf_outfit(int i)printf(“%15s%13s%12s%11s%12d“,proi.outfit_num,proi.outfit_name,proi.outfit_color,proi.outfit_place,proi.outfit_n);puts(“n -“);/显示销售商文件数据printf_sale(int i)printf(“%12s%14s%11s%11s“,proi.sale_num,proi.sale_name,proi.sale_state,proi.sale_city);puts(“n -“)
14、;/返回到主函数printf_back()int k,w;printf(“nntSuccessful.-nn“);printf(“What do you want to do?nt1).Browse all nowt2).No and Back“);printf(“nPlease choose:(1-2): bb“);scanf(“%d“,if(w=1) browse();else menu();五、上机操作1.数据源根据输入格式,如如一组数据2.编译、连接、运行3.运行结果如图:(1)主菜单函数(2)输入函数(输入两个记录)输入两条记录后,如图:(3)追加模块(4)删除模块删除后结果:(4)
15、修改模块修改后结果:(5)浏览结果:(7)查找结果退出:六、实习心得这次实习是第一次上机实习,没有经验,一切从零开始,不过通过对相关例题得编写过程中,帐务了许多方法,也逐渐明白了结构化程序设计的原理。建筑工地信息管理系统的系统设计,不仅是简单结构化设计,还要对文件这块了解非常深入才行,这个题目要就建立四个文件,所以单纯的结构体不能储存所有文件任务,对结构体的套用非常关键,对数据在计算机理存储理解也非常关键。其实,实习最后,发现系统的设计并不是想象的那么可怕,只要理解数据在计算机内部的存储和工作方式,编写过程简单多了。通过这次实习,我发现自己在这方面提高了许多,尤其对计算机的理解更加深入。希望以后自己能坚持不懈,自己能多锻炼一些开发一些简单的系统,在综合起来,形成一个良好的编程习惯!最后,感谢老师的指导。老师的关心,是我能力提高的很大动力。