教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

C语言课程设计___建筑工地信息管理系统

来源:网络收集 时间:2026-09-22
导读: C语言课程设计 班级:052081-24学号: 目录 前言………………………………………………….............(3)1.题目要求…………………………………………………..(3)2.分析………………………………………………………..(3)3.总体设计………………………

C语言课程设计

班级:052081-24学号:

目录

前言………………………………………………….............(3)1.题目要求…………………………………………………..(3)2.分析………………………………………………………..(3)3.总体设计…………………………………………………..(3)4.详细设计…………………………………………………..(4)一.主函数…………………………………………………(4)二.功能模块设计…………………………………………(5)(1)数据输入设计……………………………………….(5)(2)删除设计…………………………….......................(10)(3)查询设计…………………………………………...(13)(4)查找配对设计……………………………………...(16)5.上机操作…………………………………………………(18)后记………………………………………………………...(20)附录:程序源清单………………………………………….(20)

=

前言

课程设计目的:C语言编程实践是学习C语言的一个重要环节,为提高学生的程序设计能力,通过课堂和上机实践使学生的程序设计能力有一个上升的台阶。通过前四单元的温故而知新、庖丁解牛、举一反三、熟能生巧等过程的练习之后能够解决一些简单的实际问题。

1、题目要求

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

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

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

(3)配件(配件号,配件名,颜色,重量,产地)(4)销售商(号码,名字,状态,城市)功能:

(1)首先建立文件,然后插入数据,并进行删除、更新操作,最后进行查询操作。(2)查询与供应商所在城市相同的零件——供应商,项目——供应商记录对。

2、分析

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

3、总体设计

根据题目要求,可以将系统分为:1)插入数据模块;2)删除模块;3)查询模块;

4)查找配对;5)功能选择菜

建筑工地信息管理系统

数据输入模块

删除模块

查询模块

查找配对模块

功能选择菜单

图1系统功能模块图

4、详细设计

一、主函数

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

开始

显示一系列功能选择

输入n,判断w是否是0到4?

N

根据n值调用各功能模块函数

结束

图2主函数流程图

【程序】

/************************主菜单*********************************/voidmenu(){

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

{puts("\t\t*************建筑工地信息管理****************\n\n");puts("姓名:覃振孔");

puts("学号:20081002799");puts("班学号:052081-24");

puts("\t\t****************目录*******************\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("Chooseyournumber(1-5):[]\b\b");scanf("%d",&n);if(n<1||n>5){w=1;getchar();}elsew=0;}

while(w==1);switch(n)

{case1:enter();break;case2:delete();break;case3:search();break;case4:search2();break;case5:exit(0);}}

main(){

menu();}

二、各功能模块设计

(1)数据输入设计

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

图3数据输入模块流程图

【程序】

/*****************************数据输入模块************************************/voidsal_enter(){intj;charc[2];FILE*fp;

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

printf("Cannotopenthefile!\n");exit(0);}

for(j=0;j<i;j++){

fwrite(&sal[j],sizeof(structsale),1,fp);}

while(1){

printf("输入销售商号码:\n");scanf("%d",&sal[i].num1);printf("输入配件号码:\n");scanf("%d",&sal[i].num2);printf("输入工地号码:\n");scanf("%d",&sal[i].num3);printf("输入数量r:\n");scanf("%d",&sal[i].num4);

if(fwrite(&sal[i++],sizeof(structsale),1,fp)!=1)

printf("Filewriteerror\n");elseprintf("Successful!\n");

printf("是否继续?(是[y]/否[n])\n");scanf("%s",c);

if(strcmp(c,"n")==0)break;}

fclose(fp);menu();}

voidbuild_enter(){intj;charc[2];FILE*fp;

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

printf("Cannotopenthefile!\n");exit(0);}

for(j=0;j<i;j++){

fwrite(&build[j],sizeof(structbuilding),1,fp);}

while(1){

printf("输入工地号:\n");scanf("%d",&build[i].num);printf("输入工地名:\n");scanf("%s",build[i].name);printf("输入工地城市:\n");scanf("%s",build[i].city);

if(fwrite(&build[i++],sizeof(structbuilding),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");

printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);

if(strcmp(c,"n")==0)break;}

fclose(fp);menu();}

voidpj_enter(){intj;charc[2];FILE*fp;

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

printf("Cannotopenthefile!\n");exit(0);}

for(j=0;j<i;j++){

fwrite(&pj[j],sizeof(structpeijian),1,fp);}

while(1){

printf("输入配件号:\n");scanf("%d",&pj[i].num);printf("输入配件名:\n");scanf("%s",pj[i].name);printf("输入配件颜色:\n");scanf("%s",pj[i].color);printf("输入配件重量:\n …… 此处隐藏:2904字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言课程设计___建筑工地信息管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/281267.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)