通信人家园
标题: 跪求 哪位高手的帮忙 [查看完整版帖子] [打印本页]
时间: 2007-6-27 17:46
作者: LY7029
标题: 跪求 哪位高手的帮忙
<p>各位大哥大姐们,小弟平时学业不精,现有一课题设计求助啊</p><p>用C语言做一个程序设计</p><p>题目:</p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly;"><b><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体;">会议人员信息管理系统:</span></b><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体;"><br/> <p></p></span></p><p></p><p></p><p></p><p></p><p></p><p></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly; mso-char-indent-count: 2.0;"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体;">(<span lang="EN-US">1</span>)基本要求与内容:<span lang="EN-US">a.</span>使用汉字菜单;<span lang="EN-US">b.</span>具有建立数据库功能;<span lang="EN-US">c.</span>具有数据输入功能;<span lang="EN-US">d.</span>具有数据删除功能;<span lang="EN-US">e.</span>具有各种查询(如按编号、姓名查询等)及输出功能;<span lang="EN-US">f.</span>其它功能;<span lang="EN-US"><br/> <p></p></span></span></p><p></p><p></p><p></p><p></p><p></p><p></p><p><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"><span style="mso-spacerun: yes;"> </span></span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">(<span lang="EN-US">2</span>)描述及绘制出系统功能结构框图</span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">时间紧迫啊,望哪位高手看过后,帮我做一下</span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p><p><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"></span></p>
[此贴子已经被作者于2007-8-7 14:11:59编辑过]
时间: 2007-6-28 10:16
作者: sbjepfi
让别人给你弄这个,不大可能吧。
时间: 2007-6-28 15:55
作者: vxin_yf
<p>顶</p>
时间: 2007-6-28 22:09
作者: LY7029
标题: [原创]
<p>小弟也是没办法了,我知道这个课题很复杂,不过我水平实在有限,而且老师也催得上交急,哪位高手就出手帮我一下吧!</p><p>现在是整天急得睡不着觉啊!
</p>
时间: 2007-6-30 12:18
作者: LY7029
<p>看了至少给点提示咯!</p><p>指点一下总可以吧!</p>
时间: 2007-6-30 19:06
作者: qqqq
C是要用TC么?那有点虐对于学生来说。
时间: 2007-6-30 19:06
作者: qqqq
<p>/* DBF.c<br/> *<br/> * DBF.Com -- dBASE III / FoxBASE+ Database structure lister<br/> *<br/> * Copyright (c) 1988, by Matrix Software Systems<br/> * All rights reserved<br/> *<br/> * This program will list the structure of any dBASE III /FoxBASE +<br/> * database file in a format similar to "List Structure." It is similar<br/> * to another PD program (ListStru.COM) except that this version handles<br/> * wildcards, comes complete with source code (for use with Turbo C),<br/> * and is about one-half the size.<br/> *<br/> *<br/> * This program is provided on an "as-is" basis. No warranty, expressed<br/> * or implied, covers this program. Matrix Software Systems disclaims<br/> * all conditions and warranties, whether express or implied with regard<br/> * to this program, including all implied conditions or warranties of<br/> * merchantibility and fitness for a particular purpose.<br/> *<br/> * This program is NOT public domain. It may be freely distributed as<br/> * long as the following conditions are met:<br/> *<br/> * 1. Any and all copies must include the above copyright notice.<br/> * 2. The software must be distributed in its original ARC format<br/> * which contains the files DBF.COM, DBF.C, and READ.ME.<br/> * 3. No fee may be charged for any copy, aside from a possible small<br/> * duplication and handling fee. (I sincerely doubt you could sell<br/> * this if you wanted to...)<br/> *<br/> *<br/> * To compile the source code, you will need Turbo C (V1.0).<br/> *<br/> * tcc -Ic:\tc\include -Lc:\tc\lib -K -O -Z -d -f- -mt dbf.c<br/> * exe2bin dbf.exe dbf.com<br/> *<br/> */</p><p>#include <stdio.h><br/>#include <fcntl.h><br/>#include <io.h><br/>#include <errno.h><br/>#include <dir.h><br/>#include <string.h></p><p><br/>/* A few typedefs from Amigaland. Makes porting code a hell of a lot easier */<br/>#define VOID void<br/>typedef unsigned char UBYTE;<br/>typedef unsigned short UWORD;<br/>typedef unsigned long ULONG;<br/>typedef char BYTE;<br/>typedef short WORD;<br/>typedef char *STRPTR;</p><p><br/>STRPTR usagemessage[] = {<br/> "DBF.Com -- Copyright (c) 1988, by Matrix Software Systems",<br/> " -- All Rights Reserved --",<br/> " ",<br/> "List dBASE III / FoxBASE+ database file structures",<br/> "Usage: DBF <filename.ext> [<filename.ext>...]",<br/> " Filenames may include path and/or wildcards (* and ?)",<br/> " If no extension is specified, '.DBF' is assumed.",<br/> " ",<br/> "
lease send comments/requests to the following locations:",<br/> " CompuServe: 75126,2223",<br/> " BIX: dlove",<br/> ""<br/>};<br/> <br/>/* dBASE III database header size and offset information */<br/>#define SIZEOF_DBF_HEADER 32<br/>#define HOFF_VERSION 0<br/>#define HOFF_UPDATE_DAY 3<br/>#define HOFF_UPDATE_MONTH 2<br/>#define HOFF_UPDATE_YEAR 1<br/>#define HOFF_RECORDS 4<br/>#define HOFF_HEADER_SIZE 8<br/>#define HOFF_RECORD_SIZE 10</p><p>#define hdr_version(x) ( (WORD)*(x) )<br/>#define hdr_update_day(x) ( (WORD)*(x+HOFF_UPDATE_DAY) )<br/>#define hdr_update_month(x) ( (WORD)*(x+HOFF_UPDATE_MONTH) )<br/>#define hdr_update_year(x) ( (WORD)*(x+HOFF_UPDATE_YEAR)+1900)<br/>#define hdr_records(x) (*((ULONG *)(x+HOFF_RECORDS)))<br/>#define hdr_size(x) (*((UWORD *)(x+HOFF_HEADER_SIZE)))<br/>#define hdr_rsize(x) (*((UWORD *)(x+HOFF_RECORD_SIZE)))<br/>#define num_fields(x) ((hdr_size(x)-32)>>5)</p><p><br/>/* dBASE field header size and offset information */<br/>#define SIZEOF_DBF_FIELD 32<br/>#define FOFF_TYPE 11<br/>#define FOFF_LENGTH 16<br/>#define FOFF_DECIMAL 17</p><p>#define fld_name(x) (x)<br/>#define fld_type(x) (x[FOFF_TYPE])<br/>#define fld_length(x) ((UWORD)x[FOFF_LENGTH])<br/>#define fld_decimal(x) ((UWORD)x[FOFF_DECIMAL])</p><p></p><p><br/>/* Prototypes */<br/>WORD main(int, char**);<br/>STRPTR fixname(STRPTR,struct ffblk *);<br/>WORD liststru(STRPTR);<br/>VOID usage(void);</p><p><br/>WORD<br/>main(argc,argv)<br/>WORD argc;<br/>char *argv[];<br/>{<br/> static char filename[256];<br/> static struct ffblk ffblk;<br/> register STRPTR st;<br/> <br/> if (argc < 2) { /* Show usage if no argument given */<br/> usage();<br/> } else {<br/> while(--argc) {<br/> strcpy(filename,*(++argv));<br/> <br/> /* Assume the extension .dbf unless otherwise specified */<br/> for (st = filename; *st != '\0' && *st != '.'; st++);<br/> if (*st == '\0')<br/> strcpy(st,".dbf");</p><p> /* Now check for a matching file. If no match is found, assume<br/> * the argument is a directory name, append "<a href="file://\\*.dbf">\\*.dbf</a>" and attempt<br/> * to match a file there. If there are still no matches found,<br/> * print a warning message and skip to the next arg. */</p><p> if (findfirst(filename,&ffblk,0)) {<br/> sprintf(filename,"%s%s",*argv,"<a href="file://\\*.dbf">\\*.dbf</a>");<br/> if (findfirst(filename,&ffblk,0)) {<br/> printf("Could not locate %s.",*argv);<br/> continue;<br/> }<br/> }</p><p> /* If we get here, findfirst() found a matching file. So fix the<br/> * filename to eliminate any wildcards and attempt to process it.<br/> * Loop until all matches have been handled. */<br/> do {<br/> liststru(fixname(filename,&ffblk));<br/> } while (!findnext(&ffblk));<br/> }<br/> }<br/>}</p><p><br/>STRPTR<br/>fixname(filename,ffblk)<br/>STRPTR filename;<br/>struct ffblk *ffblk;<br/>{<br/> static char drive[MAXDRIVE];<br/> static char dir[MAXDIR];<br/> static char file[MAXFILE];<br/> static char ext[MAXEXT];</p><p> /* Tear the filename apart to get the drive and directory */<br/> fnsplit(filename,drive,dir,file,ext);<br/> <br/> /* Then reassemble it with the correct filename */<br/> sprintf(filename,"%s%s%s",drive,dir,ffblk->ff_name);<br/> <br/> /* For convenience, return a pointer to the fixed filename */<br/> return(filename);<br/>}</p><p><br/>WORD<br/>liststru(filename)<br/>STRPTR filename;<br/>{<br/> static char header[SIZEOF_DBF_HEADER];<br/> static char field[SIZEOF_DBF_FIELD];<br/> register int fp;<br/> register int size,i;<br/> register STRPTR format,type;<br/> <br/> printf("Structure for database : %s\n",filename);</p><p> /* Attempt to open the file (Note that O_BINARY MUST be present!) */<br/> fp = open(filename,O_RDONLY|O_BINARY|O_DENYNONE);<br/> if (fp) {<br/> /* Attempt to read the database header */<br/> size = read(fp,&header[0],SIZEOF_DBF_HEADER);<br/> if (size == SIZEOF_DBF_HEADER) {</p><p> /* Got it, so print out the header information */<br/> /* Uncomment the next line to check the dbf version #. For dBASE III<br/> and FoxBASE + files it will be 3 (or 83 if there is an associated<br/> .dbt file) */<br/> /* printf("Version #%d\n",hdr_version(header)); */</p><p> printf("Number of data records : %10ld\n",hdr_records(header));<br/> printf("Date of last update : %02d-%02d-%4d\n",<br/> hdr_update_month(header),hdr_update_day(header),<br/> hdr_update_year(header));<br/> printf("Field Field name Type Width Dec\n");<br/> printf("----- ---------- ---- ----- ---\n");<br/> <br/> /* Finally, print out each field */<br/> for (i = 1; i <= num_fields(header); i++) {<br/> size = read(fp,&field[0],SIZEOF_DBF_FIELD);<br/> if (size == SIZEOF_DBF_FIELD) {<br/> format = "%-9s %5d\n";<br/> printf("%5d %-10s ",i,fld_name(field));<br/> switch(fld_type(field)) {<br/> case 'C':<br/> type = "Character";break;<br/> case 'D':<br/> type = "Date";break;<br/> case 'L':<br/> type = "Logical";break;<br/> case 'M':<br/> type = "Memo";break;<br/> case 'N':<br/> type = "Numeric";<br/> format = "%-9s %5d %3d\n";break;<br/> default:<br/> /* Egads! A goto! */<br/> goto error;<br/> }<br/> printf(format,type,fld_length(field),fld_decimal(field));<br/> } else<br/> /* Oh No! Another one! */<br/> goto error;<br/> }<br/> /* Finally, print out the total record size. Notice that this is one<br/> * byte larger than the sum of the individual field length printed<br/> * above. dBASE adds one byte to the beginning of every record<br/> * for internal use (deletion state). */</p><p> printf("** Total ** %5d\n",hdr_rsize(header));<br/> } else {<br/>error:<br/> puts("Database file corrupt!");<br/> }<br/> close(fp);<br/> } else<br/> printf("Couldn't open database : %s\n",filename);<br/>}</p><p><br/>void usage()<br/>{<br/> register STRPTR *st;<br/> for(st = usagemessage; **st; st++)<br/> puts(*st);<br/>}<br/></p>
时间: 2007-6-30 19:07
作者: qqqq
上面是<strong>使用TURBO C读数据库文件</strong>
时间: 2007-8-7 14:09
作者: LY7029
<p>看到你的回贴时已是我做完课程设计后很久了,虽然程序是通过老师这关了,不过那个设计有很多地方不完善,看了你的贴后又让我学到了新的方法。</p><p>很是感激啊!努力ing!</p>
通信人家园 (https://www.txrjy.com/) |
Powered by C114 |