《C语言程序设计》课程设计报告-景点查询系统.docx

上传人:good****022 文档编号:116539643 上传时间:2022-07-05 格式:DOCX 页数:69 大小:476.39KB
返回 下载 相关 举报
《C语言程序设计》课程设计报告-景点查询系统.docx_第1页
第1页 / 共69页
《C语言程序设计》课程设计报告-景点查询系统.docx_第2页
第2页 / 共69页
《C语言程序设计》课程设计报告-景点查询系统.docx_第3页
第3页 / 共69页
点击查看更多>>
资源描述
课 程 设 计 报 告题目: 景点查询系统 课程名称: C语言程序设计 专业班级: 信息安全201302班 学 号: 姓 名: 指导教师: 报告日期: 2014年10月10日 计算机科学与技术学院 任务书一、主要内容建立国内景点信息系统,提供创建、编辑和综合查询等基本业务管理和服务。二、任务要求收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交课程设计报告。三、 参考文献1曹计昌,卢萍,李开. C语言程序设计,北京:科学出版社,20132李开,卢萍,曹计昌. C语言实验与课程设计,北京:科学出版社,20113张引. C程序设计基础课程设计, 杭州: 浙江大学出版社,20074黄明,梁旭,万洪莉. C语言课程设计,北京: 电子工业出版社,2006四、系统功能系统主要是提供景点信息的快速查询、检索和统计。应该具有按城市、按景区等查询景点信息;组合条件检索景点信息;按城市等统计景点情况等。五、系统数据系统主要涉及“城市”、“景区”和“景点”3类信息。“城市”信息由城市编号、城市名称、景区级别、监督电话和咨询电话等数据项目组成,“景区”信息由景区编号、景区名称、景区地址、门票价格、开放时间和咨询电话等数据项目组成,“景点”信息由景点号、景点名称、景点位置、浏览时间和景点特点等数据项目组成。在磁盘上,建议采用3个文件分别存储“城市”、“景区”和“景点”的数据。在“景区”信息中增加城市编号,在“景点”信息中增加城市编号和景区编号。华中科技大学计算机学院C语言程序设计课程设计目 录任务书II目 录I1 引言11.1 课题背景和意义11.2 国内外研究现状11.3 课程设计的主要研究工作12 系统需求分析与总体设计22.1 系统需求分析22.2 系统总体设计23 系统详细设计23.1 有关数据结构的定义33.2 主要算法设计34 系统实现与测试134.1 系统实现134.2 系统测试165 总结与展望235.1 全文总结235.2 工作展望23体会24参考文献25附录 程序清单26I华中科技大学计算机学院C语言程序设计课程设计1 引言1.1 课题背景和意义在现代的社会中,由于人们越来越多的关注到了旅游带来的好处,外出旅游就成为了一种时尚的方式。面对众多的旅游景点,选择就成为了人们所面临的一大问题,在日常使用中, 我们常常会无法快速的了解到某一景点的详细信息。鉴于以上的种种要求,我们就需要一个能方便查询我们想要的信息的软件。我的课设就是基于以上的种种要求。1.2 国内外研究现状目前国内外对于旅游方面的发展都是很迅速地。在景点的查询方面,国内外也是有许多优秀的软件。1.3 课程设计的主要研究工作深入探讨有关方面的问题,掌握开发一个软件所需要的能力,对目前某些软件需要修改的地方做出自己的改进,并自主编译出一款相应的软件系统。2 系统需求分析与总体设计2.1 系统需求分析对于大多数用户来说,他们最想要了解的就是各旅游景点的门票、开放时间、交通、简介等相关信息。于是,本软件就着重从这些方面出发来满足用户的需求。2.2 系统总体设计本系统注重查询的功能,用户可以根据省、市、景区、景点等方式来对所要寻找的信息进行查询。同样,由于信息会有部分更新,所以,也提供了修改和添加功能,让用户可以更方便的处理这款软件。具体程序结构见图1。帮助主题关于系统清屏景点插入景点修改景点删除数据保存数据加载数据备份数据恢复图1城市景点查询景点详细城市查询省区查询查询主过程文件编辑帮助3 系统详细设计3.1 有关数据结构的定义数据结构及用法说明:处理的数据:省、市、景点、景区的名称以及其相应的分级,以结构体存储。struct ss /景点结构体 char name50; /省、市、景点名称 int flag; /级别 struct ss * right; struct ss * down;*head;因表述能力有限,故直接采用图来说明:图2 本程序采用如图2的方式来构建十字链表。3.2 主要算法设计模块1:创建链表。此次所用的创建方法是用三个函数的嵌套及递归完成的,具体程序如下:struct ss *creat1() /生成景点名称 int t=0,bo=0; char c=0; struct ss * loc_head=NULL; loc_head=(struct ss *) malloc (sizeof(struct ss);while(c=fgetc(fin)!=n) if(c=.) loc_head-namet=0; loc_head-flag=3; loc_head-down=NULL; loc_head-right=creat1(); return loc_head; loc_head-namet+=c; struct ss *creat2() /生成城市名称 int t=0; char c; struct ss * loc_head=NULL; loc_head=(struct ss *) malloc (sizeof(struct ss); loc_head-namet=0; while(c=fgetc(fin)!=*) if(c!=:) loc_head-namet+=c; while(c=fgetc(fin)!=:) loc_head-namet+=c; loc_head-namet=0; loc_head-flag=2; loc_head-right=creat1(); /递归生成下一级景点名 loc_head-down=creat2(); /递归生成同级城市名 return loc_head; struct ss *creat3() /生成省区名称 int t=0;char c;struct ss * loc_head=NULL;loc_head=(struct ss *) malloc (sizeof(struct ss);while(c=fgetc(fin)!=EOF) if(c=*) while(c=fgetc(fin)!=n) loc_head-namet+=c; if(c=n) loc_head-namet=0; loc_head-flag=1; loc_head-right=creat2(); /递归生成下一级城市名 loc_head-down=creat3(); /递归生成同级的省名 return loc_head; 程序运行时,首先调用creat3(),接下来在生成省名后,会直接进入下一级的生成,这个完全是考虑数据读入而设计的读入方式,下面附上部分数据:*河北承德:避暑山庄.秦皇岛:山海关景区.北戴河风景名胜区.保定:安新白洋淀景区.保定:野三坡景区.石家庄:西柏坡景区.清西陵.唐山市: 清东陵.南湖景区.说明:程序运行时,先生成省会名,然后后成城市名,然后生成景点名,景点名结束会,再次生成城市名,然后景点名,依次下去,直到生成结束。模块2:遍历链表遍历采用的方式是深度搜索的方法。具体程序如下:int x=1; /控件递归结束 struct ss *found,*father; /在递归中记录下位置 struct ss *search (struct ss *loc_head,char s) /定位查找目标 struct ss *p; p=loc_head; if(p!=NULL&p!=0 xa&p!=0 x2a&x=1&p!=-1) if(strcmp(p-name,s)=0) x=0; found=p; return p; else father=p; search(p-right,s); search(p-down,s); return NULL;int searchdata(struct ss *loc_head,char s) /整合上面的search函数便于操作 x=1;search(loc_head,s);if(x=0) return 1;else return 0;说明:在查找的过程中,x为控制变量,判断是否继续查找,father、found分别表示所查数据的父结点及所查数据,使用深度搜索将整个链表遍历。模块3:数据删除void deletedata(struct ss *loc_head,char s) /删除数据 if(searchdata(loc_head,s)=1) father-right=found-right; free(found); else printf(NOT FOUND!n);说明:先匹配所查信息,如果满足要求则删除,重点是查找。模块4:数据添加void adddata(struct ss *loc_head,char t) /添加数据 struct ss *add; add=(struct ss *) malloc (sizeof(struct ss); add-right=found-right; add-flag=found-flag; add-down=NULL; strcpy(add-name,t); found-right=add;说明:先匹配所查信息,然后在所要求位置添加新的信息,重点同样是查找。模块5:数据保存void savessj(struct ss *loc_head)struct ss *p=loc_head;int i=0;if(p!=NULL&p!=0 xa&p!=0 x2a&x=1&p!=-1) if(p-flag=1) fprintf(fin,*%sn,p-name); else if(p-flag=2) fprintf(fin,%s:,p-name); else if(p-flag=3&p-right!=0 xa) fprintf(fin,%s.,p-name); else fprintf(fin,%s.n,p-name); savessj(p-right); savessj(p-down); 说明:数据保存采用了与创建链表相同的方式,用深度遍历的方式遍历链表,同时将其存储到相应文件中。模块6:详细信息输出为节省内存空间,详细信息未读入程序中,只是在需要时才进行匹配输出。void detail(struct ss *loc_head,char s) /详细信息输出 FILE *fout;int len=0,t=100;char c50,q,o;struct ss * p=loc_head;fout=fopen(data2.txt,r);while(slen+);while(1) q=fgetc(fout); if(q=EOF) printf(NOT FOUNDn); getch(); ClearScreen(); return ; else if(q=*) fgetc(fout); fgets(c,len,fout); t=compare(c,s); if(compare(c,s)=1) /puts(c); ClearScreen(); printf(%s,c); while(o=fgetc(fout)!=*) putchar(o); printf(n按任意键继续.n); getch(); ClearScreen(); return ; 说明:该模块本身就采用了模糊查找的模式,只需要前一部分的名字即可匹配成功,同时,如上所说,考虑到信息量太大的因素,故此文件单独列出,并未在一开始直接读入程序,只是在需要是进行查找输出。模块7、8、9:省区名查询、城市名查询、城市景点名查询。从正常角度来考虑,一般用户都会是,先看所在省区,然后再选城市,接着看城市里的景点名,然后再来详细了解这个景点。因此,我设计了这些功能查询模块。BOOL SearchSheng()struct ss *p;p=head;while(p!=-1) printf(%-10s,p-name); p=p-down; printf(n按任意键继续.n); getch(); ClearScreen(); return TRUE;BOOL SearchCity()char s50;struct ss *p;ClearScreen(); printf(请输入所要查的省份、直辖市或自治区n);gets(s);if(searchdata(head,s)=1) p=found-right; else printf(NOT FOUNDn); return TRUE; if(found-flag=2) printf(请选择城市景点查询n); printf(按任意键继续n); getch(); ClearScreen(); return TRUE; else if(p-name0=0) p=p-right; while(p!=0 xa) printf(%sn,p-name); p=p-right; else while(p!=0 x2a) printf(%-10s,p-name); p=p-down; printf(n按任意键继续.n); getch(); ClearScreen(); return TRUE;BOOL SearchJingdian()char s50;struct ss *p;ClearScreen(); printf(请输入所要查询的城市n);gets(s);if(searchdata(head,s)=1) p=found; else printf(NOT FOUNDn按任意键继续n); getch(); ClearScreen(); return TRUE; if(found-flag=1) printf(请选择城市查询n); printf(按任意键继续n); getch(); ClearScreen(); return TRUE; else p=p-right; while(p!=0 xa) printf(%sn,p-name); p=p-right; printf(按任意键继续.n); getch(); ClearScreen(); return TRUE;说明:这几个模块的重点同样都是在遍历上,只要解决了这个问题,这几个功能都比较容易设计好。模块10:帮助文件BOOL AboutSys(void)BOOL bRet = TRUE;ScreenFresh();printf(ntt 【* Programming Instructions *】n);Delay(); printf( tn);Delay();printf( t 系统支持快捷键操作,简单的鼠标操作和键盘操作; n);Delay();printf( t 本系统大量使用了标注,尽量使程序明了易懂; n);Delay();printf( t 运用较多的结构,用三方向的十字交叉链表储存信息; n);Delay();printf( t 运用数组,指针,结构与联合及文件输入输出,控制台等知识。n);Delay();printf( t 系统主要提供景点信息的快速查询、检索; n);Delay();printf( t 本程序有景点信息查询,信息录入,修改,删除等功能. n);Delay();printf( n);Delay();printf( 【参考文献】:tttttt n 1曹计昌,卢萍,李开. C语言程序设计,北京:科学出版社,2008; n);Delay();printf( 2李开,卢萍,曹计昌. C语言实验与课程设计,北京:科学出版社,2011;n); printf( n); return bRet;说明:为了使用户能更好的使用本软件。模块11:界面及其它相关部分 (这里过于散乱,程序在后面一起附上)4 系统实现与测试4.1 系统实现这部分可首先叙述一下你的系统实现的软硬件环境;根据3.1的设计,用C语言定义各种数据类型;程序代码部分在这里不需要给出来,只需要叙述清楚在系统中包括哪些函数,各函数的说明,如何利用这些函数实现系统各模块的功能,以及函数间的调用关系(也可用附加图表示出来)。程序详见附录。一、软硬件环境,如下图:二、函数说明: /*框架函数的声明*/void TextInterface(void);/*系统界面初始化*/void ClearScreen(void); /*清屏*/void ShowMenu(void); /*显示主菜单栏*/void PopMenu(int num); /*弹出下拉菜单*/void PopOn(SMALL_RECT *, WORD, LABEL_BUNDLE *, HOT_AREA *); /*弹出窗口屏幕信息维护*/void PopOff(void); /*关闭弹出窗口*/void DrawBox(SMALL_RECT *parea); /*绘制子菜单边框*/void LocateSubMenu(int num, SMALL_RECT *parea); /* 弹出菜单定位*/void MarkMainMenu(int num); /* 标记被选中的主菜单项*/void MarkSubMenu(int num); /* 标记被选中的子菜单项*/void SetMainHotArea(void); /* 给主菜单栏设置热区*/void RunSystem(void); /* 系统功能模块的选择和运行*/void CloseSys(); /* 关闭系统并退出*/void ShowTime(void); /* 动态显示系统时间*/inline void Gotoxy(COORD pos);/* 将光标置于坐标pos处*/inline void Delay(void);/* 时间暂延0.05s*/inline void ScreenFresh(void);/* 刷屏函数*/void Start(void);/* 进入欢迎界面*/void WriteKeyWord(char *str,COORD pos);/* 将关键字显示出来*/int MyStrstr(char *s,char *t);/* 在s串中查找t串*/*功能函数模块函数的声明*/BOOL ExeFunction(int main_menu_num, int sub_menu_num);struct ss *creat1() /生成景点名称struct ss *creat2() /生成城市名称struct ss *creat3() /生成省区名称struct ss *search (struct ss *loc_head,char s) /定位查找目标void deletedata(struct ss *loc_head,char s) /删除数据void adddata(struct ss *loc_head,char t) /添加数据void savessj(struct ss *loc_head) /存储数据int compare(char a,char b) /匹配字符串void detail(struct ss *loc_head,char s) /详细信息输出BOOL SearchSheng() /省份信息查询BOOL SearchCity() /城市信息查询BOOL SearchJingdian() /城市景点名查询BOOL ExitSys(void); /退出系统 BOOL Theme(void); /主题BOOL AboutSys(void); /帮助 BOOL Clear(void); /清屏BOOL RestoreData(); /存储 BOOL BackupData(); /数据恢复具体运行方式见下图: NY创建链表欢迎界面(主题)菜单界面初始化退出系统?选择相应功能并运行结束开始4.2 系统测试首先叙述一下常用的软件测试方法,在选择几个主要的功能模块(自行掌握数量,关键要体现你的水平的一些模块)描述测试过程,(1)先明确模块的功能、设计目标等(2)分析、叙述如何选取测试数据(3)运行结果(这时可用截图)(4)分析运行结果、确认程序满足该模块的设计目标。测试方法:黑盒:这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。 白盒:此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。系统测试:1、 欢迎界面2、数据保存3、数据加载4、数据备份5、数据恢复6、退出7、插入景点8、省区查询9、城市查询10、城市景点名查询11、景点详细信息查询12、帮助主题13、关于系统14、清屏5 总结与展望5.1 全文总结对自己的工作做个总结,主要工作如下:(1)学习了界面的制作,能简单运用文本界面来完成一些相应的任务,并能对其进行一定的修改。(2)熟悉并掌握了链表的用法。(3)学习了有关遍历的各种方法,学到了许多数据结构的知识。(4)了解了一款软件制作的过程,对软件的制作有了一定的基础。5.2 工作展望在今后的研究中,围绕着如下几个方面开展工作。(1)对于主界面的优化问题。文本界面看起来还是不那么舒服,在以后还是要向图形界面发展,UI这一块儿还是很重要的。(2)多写,多做,熟练运用自己所学的知识,将所学知识融会贯通。并且能在以后的时间里,做出更好的,让自己满意的作品。 体会首先,最大的体会就是开发一款软件不容易啊!为了完成这款软件,我们需要研究有关界面的知识,还要研究链表的知识,数据结构的知识,以及其它的很多东西。看似一个很简单的东西,真正做起来的时候就会发现有许多的困难之处。别的不说,就是一写长了,人就可能会糊掉,就可能不知道自己前面是怎么想的了。不过也正是这样,我总结的方法就是:1、多做注释。这样有利于程序的阅读;2、程序写的时候要摆整齐;3、写函数一个一个的调。这一点感触颇深,一个大一点的程序,会有很多的函数,如果开始不调好的话,到后面组合之后再来就很尴尬了。其次,另一个大的体会就是基础一定要打好,如果没有一个好的基础的话,说来完成一个大的软件纯属扯淡。参考文献1 刘云生. 现代数据库技术. 北京: 国防工业出版社,2001.38462 阳小华,刘振宇,谭敏生等.元搜索引擎系统合成算法的约束条件.软件学报,2002,13(7):126412703 Rogic S, Mackworth A K, Ouellette F B. Evaluation of gene-finding programs on mammalian sequences. Genome Res., 2001, 11(5): 8178324 Krogh A. Two methods for improving performance of an HMM and their application for gene-finding. In: Gaasterland T, Karp P, Karplus K, et al., eds. Proc. Int. Conf. Intell. Syst. Mol. Biol., Menlo Park, CA: AAAI Press, 1997, 5:1791865 孙良.一种分布式智能信息检索系统的研究与实现:硕士学位论文.浙江大学,2002.43476 URL: http:/www.ietf.org/1id-abstracts.html附录 程序清单程序中适当加些注释以提高可读性。宋体,五号,行间距为固定12磅。/*景点查询系统2014年7月*/#include #include #include #include #include #define SCR_ROW 25 /*屏幕行数*/#define SCR_COL 80 /*屏幕列数*/FILE *fin; /读入文件 FILE *beifen1; /备份文件 struct ss /景点结构体 char name50; /省市名称 int flag; /级别 struct ss * right; struct ss * down;*head;/*屏幕窗口信息链结点结构*/typedef struct layer_node char LayerNo; /*弹出窗口层数*/ SMALL_RECT rcArea; /*弹出窗口区域坐标*/ CHAR_INFO *pContent; /*弹出窗口区域字符单元原信息存储缓冲区*/ char *pScrAtt; /*弹出窗口区域字符单元原属性值存储缓冲区*/ struct layer_node *next; /*指向下一结点的指针*/ LAYER_NODE;/*标签束结构*/typedef struct label_bundle char *ppLabel; /*标签字符串数组首地址*/ COORD *pLoc; /*标签定位数组首地址*/ int num; /*标签个数*/ LABEL_BUNDLE;/*热区结构 */typedef struct hot_area SMALL_RECT *pArea; /*热区定位数组首地址*/ char *pSort; /*热区类别(按键、文本框、选项框)数组首地址*/ char *pTag; /*热区序号数组首地址*/ int num; /*热区个数*/ HOT_AREA;/*主菜单名数组*/char *ga_main_menu = 文件(F), 编辑(E),查询(I),帮助(H);/*子菜单名数组*/char *ga_sub_menu = S 数据保存, L 数据加载,A 数据备份,F 恢复备份,X 退出 Alt+X , 1插入景点,2修改景点,3删除景点 , F 省区查询, A 城市查询,L 城市景点查询, C 景点详细查询 , T 帮助主题 F1,A 关于系统, C 清屏 Alt+C;char * gp_scr_att = NULL; /*存放屏幕上字符单元属性值的缓冲区*/int ga_sub_menu_count = 5, 3, 4, 3; /*各主菜单项下子菜单的个数*/int gi_sel_menu = 1; /*被选中的主菜单项号,初始为1*/int gi_sel_sub_menu = 0; /*被选中的子菜单项号,初始为0,表示未选中*/HANDLE gh_std_out; /*标准输出设备句柄*/HANDLE gh_std_in; /*标准输入设备句柄*/struct ss * loc_head=NULL; /*主链头指针*/LAYER_NODE * gp_top_layer = NULL; /*弹出窗口信息链链头*/CHAR_INFO * gp_buff_menubar_info = NULL; /*存放菜单条屏幕区字符信息的缓冲区*/DWORD len; /*指向变量的指针,用来存放字符的实际数目*/*框架函数的声明*/void TextInterface(void);/*系统界面初始化*/void ClearScreen(void); /*清屏*/void ShowMenu(void); /*显示主菜单栏*/void PopMenu(int num); /*弹出下拉菜单*/void PopOn(SMALL_RECT *, WORD, LABEL_BUNDLE *, HOT_AREA *); /*弹出窗口屏幕信息维护*/void PopOff(void); /*关闭弹出窗口*/void DrawBox(SMALL_RECT *parea); /*绘制子菜单边框*/void LocateSubMenu(int num, SMALL_RECT *parea); /* 弹出菜单定位*/void MarkMainMenu(int num); /* 标记被选中的主菜单项*/void MarkSubMenu(int num); /* 标记被选中的子菜单项*/void SetMainHotArea(void); /* 给主菜单栏设置热区*/void RunSystem(void); /* 系统功能模块的选择和运行*/void CloseSys(); /* 关闭系统并退出*/void ShowTime(void); /* 动态显示系统时间*/inline void Gotoxy(COORD pos);/* 将光标置于坐标pos处*/inline void Delay(void);/* 时间暂延0.05s*/inline void ScreenFresh(void);/* 刷屏函数*/void Start(void);/* 进入欢迎界面*/void WriteKeyWord(char *str,COORD pos);/* 将关键字显示出来*/int MyStrstr(char *s,char *t);/* 在s串中查找t串*/*namet=0; loc_head-flag=3; loc_head-down=NULL; loc_head-right=creat1(); return loc_head; loc_head-namet+=c; struct ss *creat2() /生成城市名称 int t=0; char c; struct ss * loc_head=NULL; loc_head=(struct ss *) malloc (sizeof(struct ss); loc_head-namet=0; while(c=fgetc(fin)!=*) if(c!=:) loc_head-namet+=c; while(c=fgetc(fin)!=:) loc_head-namet+=c; loc_head-namet=0; loc_head-flag=2; loc_head-right=creat1(); loc_head-down=creat2(); return loc_head; struct ss *creat3() /生成省区名称 int t=0;char c;struct ss * loc_head=NULL;loc_head=(struct ss *) malloc (sizeof(struct ss);while(c=fgetc(fin)!=EOF) if(c=*) while(c=fgetc(fin)!=n) loc_head-namet+=c; if(c=n) loc_head-namet=0; loc_head-flag=1; loc_head-right=creat2(); loc_head-down=creat3(); return loc_head; int x=1; /控件递归结束 struct ss *found,*father; /在递归中记录下位置 struct ss *search (struct ss *loc_head,char s) /定位查找目标 struct ss *p; p=loc_head; if(p!=NULL&p!=0 xa&p!=0 x2a&x=1&p!=-1) if(strcmp(p-name,s)=0) x=0; found=p; return p; else father=p; search(p-right,s); search(p-down,s); return NULL;int searchdata(struct ss *loc_head,char s) /整合上面的search函数便于操作 x=1;search(loc_head,s);if(x=0) return 1;else return 0; void deletedata(struct ss *loc_head,char s) /删除数据 if(searchdata(loc_head,s)=1) father-right=found-right; free(found); else printf(NOT FOUND!n);BOOL DeleteData() /函数入口 char s50;printf(请输入要删除的景点名称n);gets(s);deletedata(head,s); return TRUE; void adddata(struct ss *loc_head,char t) /添加数据 struct ss *add; add=(struct ss *) malloc (sizeof(struct ss); add-right=found-right; add-flag=found-flag; add-down=NULL; strcpy(add-name,t); found-right=add;BOOL AddData()FILE *out;char s50,t50,c;printf(添加在哪个景点后?n); gets(s);if(searchdata(head,s)=1) out=fopen(data2.txt,a+); printf(请输入景点名:n); gets(t); adddata(head,t); fprintf(out,*n%sn,t); printf(请输入详细信息,以*结束n); while(c=getchar()!=*) fputc(c,out); fputc(n,out); fputc(*,out); fputc(n,out); close(out); printf(添加成功n); else printf(NOT FOUND!n); printf(按任意键继续
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!