| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 468 人关注过本帖
标题:问题修改
只看楼主 加入收藏
sswdxwjz
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-1-4
收藏
 问题点数:0 回复次数:1 
问题修改

#include "stdafx.h"
#include "stdio.h"
#include "malloc.h"
#define LEN sizeof(struct student)
#define NULL 0

int n=0;

char menu()
{
int i;
for (i=0;i<42;i++)
{
printf("*");
}
printf("\n");
printf("* Tiny In-Mem DataBase version 0.1 *\n");
printf("* Copyright aaa All Rights Reserved *\n");
for (i=0;i<42;i++)
{
printf("*");
}
printf("\n");
printf("DBI=>");
return 0;
}

struct student
{
char column_name;
char datatype;
char nullor;
struct student *next;
}stu[];

struct student *create(void)
{
struct student *head;
struct student *p1,*p2;
int i;
char ch;
FILE *fp;
fp=fopen("c:\\create.txt","r");
ch=fgetc(fp);
while (ch!=EOF)
{
ch=fgetc(fp);
if(ch==';')
{
n=n+1;
}
}
rewind(fp);
while (ch!='(')
{
ch=fgetc(fp);
}
if (ch=='(')
{
ch=fgetc(fp);
p1=p2=( struct student *)malloc(LEN);
fscanf(fp,"%s %s %s",&p1->column_name,&p1->datatype,&p1->nullor);
ch=fgetc(fp);
while (ch!=';')
{
ch=fgetc(fp);
}
for(i=1;i<=n;i++)
{
if(i==1)
{
head =p1;
}
else
{
p2->next=p1;
}
p2=p1;
p1=(struct student *)malloc(LEN);
fscanf(fp,"%s %s %s",&p1->column_name,&p1->datatype,&p1->nullor);
ch=fgetc(fp);
}
p2->next=NULL;
}
fclose(fp);
printf("\n");
printf("---Create Table Completed!---");
return(head);
}

void load()
{
char ch;
FILE *fp;
fp=fopen("c:\\data.txt","r");
ch=fgetc(fp);
while (ch!=EOF)
{
ch=fgetc(fp);
if(ch==',')
{
n=n+1;
}
}
rewind(fp);
int i;
for (i=0;i<=(n/2);i++)
{
ch=fgetc(fp);
fread("c:\\data.txt",sizeof(struct student),1,fp);
fwrite(&stu[i],sizeof(struct student),1,fp);
}
printf("\n");
printf("---Import Sata Completed!---");
printf("---%d Records Imported Successfully---",n/2);
fclose(fp);
}

void help()
{
printf("-c 文件路径名:表示根据指定位置的文件内语句建立一个数据库表;\n");
printf("-i 数据库名 数据文件路径名:表示从制定文本文件中导入数据到数据库的表中;\n");
printf("-s 文件路径名:表示从指定文本文件中读取语句执行查询操作;\n");
printf("-u 文件路径名:表示从指定文本文件中读取语句执行更新操作;\n");
printf("-d 文件路径名:表示从指定文本文件中读取语句执行删除操作;\n");
printf("-h 帮助信息,提示各个参数的格式和含义\n");
printf("-q 退出程序;\n");
}

void quit()
{
printf("\n");
printf("---Bye!---");
}

int main(int argc, char* argv[])
{
menu();
char b[50];
char *p;
p=b;
scanf("%s",p);
p++;
struct student *head;
switch(*p)
{
case 'c': create();break;
case 'i': load();break;
case 'h': help();break;
default: printf("error\n");break;
case 'q': quit();
}

return 0;
}

显示064087.obj : error LNK2001: unresolved external symbol "struct student * stu" (?stu@@3PAUstudent@@A)
Debug/064087.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.


这是什么错误,怎么修改啊

搜索更多相关主题的帖子: Copyright version include 
2007-01-07 09:22
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
文件函数出错了好几个,
fread()去查下函数手册吧,
fscanf里面的字符串不用加&,
do while循环有所不妥,会浪费掉第一个字符。
stu[]数组长度未定义.....
都是常识性的错误,自己应该能改,不要写完马上就发上来让别人帮你改...

对不礼貌的女生收钱......
2007-01-07 10:22
快速回复:问题修改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019796 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved