| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 981 人关注过本帖
标题:求指点,这个程序错在哪里啊?怎么保存后再打开文件,数据都乱了?
只看楼主 加入收藏
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
结帖率:60%
收藏
已结贴  问题点数:30 回复次数:10 
求指点,这个程序错在哪里啊?怎么保存后再打开文件,数据都乱了?
#include "stdio.h"  
#include "stdlib.h"
#include "io.h"  
#include "string.h"
#include "fcntl.h"
#define stu 30
int shoudsave=0;  
int fh,fp;

struct student
{
char num[13];/* 学号 */  
char name[20];  
char sex[4];  
int age;  
int mgrade;  
int egrade;
int cgrade;  
int sum;  
int ave;  
char neartime[10];/* 最近更新时间 */  
};  
typedef struct node  
{  
struct student data;  
struct node *next;  
}Node,*Link;
struct student *head = NULL;

void menu();
void printstart();
void Wrong();
void Nofind();
void printc();
void printe(Node *p);
Node* Locate(Link l,char findmess[],char nameornum[]);
void Add(Link l);
void Qur(Link l);
void Del(Link l);
void Print(Link l);

void menu()  
{  
printf
("*********************************************************************
***********");  
 printf("\t\t\t--------------------------------\n");
printf("\t\t\t+ 学生信息管理系统 +\n");  
printf("\t\t\t--------------------------------\n");  
printf("\t\t\t+ [1]----添加学生信息 +\n");
printf("\t\t\t+ [2]----删除学生信息 +\n");
printf("\t\t\t+ [3]----查询学生信息 +\n");
printf("\t\t\t+ [4]----修改学生信息 +\n");  
printf("\t\t\t+ [5]----保存学生信息 +\n");
printf("\t\t\t+ [6]----显示学生信息 +\n");
printf("\t\t\t+ [0]----退出管理系统 +\n");
printf
("*********************************************************************
***********\n");  
}  

void printstart()  
{  
printf("-----------------------------------------------------------------------\n");  
}  
void Wrong()  
{  
printf("\n=====>提示:输入错误!\n");  
}  

void Nofind()  
{  
printf("\n=====>提示:没有找到该学生!\n");  
}  

void printc() /* 本函数用于输出中文 */  
{  
printf(" 学号\t 姓名\t性别\t年龄\t数学\t英语\t计算机\n"); /*英语 数学 年龄 计算机*/
}  
void printe(Node *p)/* 本函数用于输出英文 */  


{  
printf("%d %s\t%s\t%d\t%d\t%d\t%d\n",p->data.num,p->data.name,p->data.sex,p-
>data.age,p->data.mgrade,p->data.egrade,p->data.cgrade);  
}  

Node* Locate(Link l,char findmess[],char nameornum[]) /* 该函数用于定位连表中符合要求
的接点,并返回该指针 */  
{  
Node *r;  
if(strcmp(nameornum,"num")==0) /* 按学号查询 */  
{  
r=l->next;  
while(r!=NULL)  
{  
if(strcmp(r->data.num,findmess)==0)  
return r;  
r=r->next;  
}  
}  
else if(strcmp(nameornum,"name")==0) /* 按姓名查询 */  
{  
r=l->next;  
while(r!=NULL)  
{  
if(strcmp(r->data.name,findmess)==0)  
return r;  
r=r->next;  
}  
}  
return 0;  
}  

void Add(Link l) /* 增加学生 */  
{  
Node *p,*r,*s;  
char num[13];  
r=l;  
s=l->next;  
while(r->next!=NULL)  
r=r->next; /* 将指针置于最末尾 */  
while(1)  
{  
printf("请你输入学号(按0返回主菜单):");  
scanf("%s",num);  
if(strcmp(num,"0")==0)  
break;  
while(s)  
{  
if(strcmp(s->data.num,num)==0)  
{  
printf("=====>提示:学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);  
printstart();  
printc();  
printe(s);  
printstart();  
printf("\n");  
return;  
}  
s=s->next;  
}  

p=(Node *)malloc(sizeof(Node));  

strcpy(p->data.num,num);  
printf("请你输入姓名:");  
scanf("%s",p->data.name);  
getchar();  
printf("请你输入性别:");  
scanf("%s",p->data.sex);  
getchar();  
printf("请你输入年龄:");  
scanf("%d",&p->data.age);  
getchar();  
printf("请你输入数学成绩:");  
scanf("%d",&p->data.mgrade);  
getchar();  
printf("请你输入英语成绩:");  
scanf("%d",&p->data.egrade);  
getchar();  
printf("请你输入计算机成绩:");  
scanf("%d",&p->data.cgrade);  
getchar();  
p->data.sum=p->data.egrade+p->data.age+p->data.mgrade+p->data.cgrade;  
p->data.ave=p->data.sum / 4;  
/* 信息输入已经完成 */  
p->next=NULL;  
r->next=p;  
r=p;  
shoudsave=1;  

}  
}  

void Qur(Link l) /* 查询学生 */  

{  
int sel;  
char findmess[20];  
Node *p;  

if(!l->next)  
{  
printf("\n=====>提示:没有资料可以查询!\n");  
return;  


}  
printf("\n=====>1按学号查找\n=====>2按姓名查找\n");  
scanf("%d",&sel);  
if(sel==1)/* 学号 */  
{  
printf("请你输入要查找的学号:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"num");  
if(p)  
{  
printf("\t\t\t\t查找结果\n");  
printstart();  
printc();  
printe(p);  
printstart();  
}  
else  
Nofind();  
}  
else if(sel==2) /* 姓名 */  
{  
printf("请你输入要查找的姓名:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"name");  
if(p)  
{  
printf("\t\t\t\t查找结果\n");  
printstart();  
printc();  
printe(p);  
printstart();  
}  
else  
Nofind();  
}  
else  
Wrong();  

}  

void Del(Link l) /* 删除 */  
{  
int sel;  
Node *p,*r;  
char findmess[20];  
if(!l->next)  
{  
printf("\n=====>提示:没有资料可以删除!\n");  
return;  
}  
printf("\n=====>1按学号删除\n=====>2按姓名删除\n");  
scanf("%d",&sel);  
if(sel==1)  
{  
printf("请你输入要删除的学号:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"num");  
if(p)  
{  
r=l;  
while(r->next!=p)  
r=r->next;  
r->next=p->next;  
free(p);  
printf("\n=====>提示:该学生已经成功删除!\n");  
shoudsave=1;  
}  
else  
Nofind();  
}  
else if(sel==2)  
{  
printf("请你输入要删除的姓名:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"name");  
if(p)  
{  
r=l;  
while(r->next!=p)  
r=r->next;  
r->next=p->next;  
free(p);  
printf("\n=====>提示:该学生已经成功删除!\n");  
shoudsave=1;  
}  
else  
Nofind();  
}  
else  
Wrong();  
}  

void Modify(Link l)/*修改 */
{  
Node *p;  
char findmess[20];  
if(!l->next)  
{  
printf("\n=====>提示:没有资料可以修改!\n");  
return;  
}  
printf("请你输入要修改的学生学号:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"num");

p=l->next;  
if(p)  
{  
printf("请你输入新学号(原来是%s):",p->data.num);  
scanf("%s",p->data.num);  
printf("请你输入新姓名(原来是%s):",p->data.name);  
scanf("%s",p->data.name);  
getchar();  
printf("请你输入新性别(原来是%s):",p->data.sex);  
scanf("%s",p->data.sex);  
printf("请你输入新的年龄原来是%d):",p->data.age);  
scanf("%d",&p->data.age);  
getchar();  
printf("请你输入新的数学成绩(原来是%d分):",p->data.mgrade);  
scanf("%d",&p->data.mgrade);  
getchar();
printf("请你输入新的英语成绩(原来是%d分):",p->data.egrade);  
scanf("%d",&p->data.egrade);
getchar();  
printf("请你输入新的计算机成绩(原来是%d分):",p->data.cgrade);  
scanf("%d",&p->data.cgrade);  
getchar();  
  
p->data.sum=p->data.egrade+p->data.age+p->data.mgrade+p->data.cgrade;  
p->data.ave=p->data.sum/4;  
printf("\n=====>提示:资料修改成功!\n");  
shoudsave=1;  
}  
else  
Nofind();  

}  

void Disp(Link l)  
{  
int count=0;  
Node *p;  
p=l->next;  

if(!p)  
{  
printf("\n=====>提示:没有资料可以显示!\n");  
return;  
}  
printf("\t\t\t\t显示结果\n");  
printstart();  
printc();  
printf("\n");  
while(p)  
{  
printe(p);  
p=p->next;  
}  
printstart();  
printf("\n");  
}  


void Save(Link l) //保存
{  
FILE* fp;  
Node *p;  
int flag=1,count=0;  
fp=fopen("c:\\student","wb");  
if(fp==NULL)  
{  
printf("\n=====>提示:重新打开文件时发生错误!\n");  
exit(1);  
}  
p=l->next;  

while(p)  
{  
if(fwrite(p,stu,1,fp)==1)  
{  
p=p->next;  
count++;  
}  
else  
{  
flag=0;  
break;  
}  
}  
if(flag)  
{  
printf("\n=====>提示:文件保存成功.(有%d条记录已经保存.)\n",count);  
shoudsave=0;  
}  
fclose(fp);  
}

void Print(Link l)//打印
{
FILE* fp;  
Node *p;  
int flag=1,count=0;  
fp=fopen("c:\\student","rb");  
if(fp==NULL)  
{  
printf("\n=====>提示:重新打开文件时发生错误!\n");  
exit(1);  
}  
p=l->next;

printc();
printstart();  
while(p)
{  
printe(p);  
p=p->next;
printf("\n");
}
}

void main()  
{  
Link l;/* 连表 */  
FILE *fp; /* 文件指针 */  
int sel;  
char ch;  
char jian;
int count=0;

Node *p,*r;  
printf("\t\t\t\t学生信息管理系统\t\t\t\t\n");  
l=(Node*)malloc(sizeof(Node));  
l->next=NULL;  


r=l;  

fp=fopen("C:\\student","rb");  
if(fp==NULL)  
{  
printf("\n=====>提示:文件还不存在,是否创建?(y/n)\n");  
scanf("%c",&jian);  
if(jian=='y'||jian=='Y')  
fp=fopen("C:\\student","wb");  
else  
exit(0);  
}  
printf("\n=====>提示:文件已经打开,正在导入记录......\n");  

while(!feof(fp))  
{  
p=(Node*)malloc(sizeof(Node));  
if(fread(p,stu,1,fp)) /* 将文件的内容放入结点中 */  
{  
p->next=NULL;  
r->next=p;  
r=p; /* 将该结点挂入l链中 */  
count++;  
}  
}  

fclose(fp); /* 关闭文件 */  
printf("\n=====>提示:记录导入完毕,共导入%d条记录.\n",count);  

while(1)  
{  
menu();  
printf("请你选择操作:");  
scanf("%d",&sel);  

if(sel==0)  
{  
if(shoudsave==1)  
{ getchar();  
printf("\n=====>提示:资料已经改动,是否将改动保存到文件中(y/n)?\n");  
scanf("%c",&ch);  
if(ch=='y'||ch=='Y')  
Save(l);  
}  
printf("\n=====>提示:你已经退出系统,再见!\n");  
break;  
}  
switch(sel)  
{  
case 1:Add(l);break; /* 增加学生 */  
case 2:Del(l);break;/* 删除学生 */  
case 3:Qur(l);break;/* 查询学生 */  
case 4:Modify(l);break;/* 修改学生 */  
case 5:Save(l);break;/* 保存学生 */
case 6:Print(l);break;/* 显示学生 */
case 9:printf("\t\t\t==========帮助信息==========\n");break;  
default: Wrong();getchar();break;  
}  
}  
}
搜索更多相关主题的帖子: 时间 
2010-12-28 14:48
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
收藏
得分:0 
没人吗?额。。。还是顶上去先。。。
2010-12-28 15:27
Graces
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2010-12-10
收藏
得分:6 
好长啊,帮顶,解释一下呗
2010-12-28 15:38
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:6 
0.0   



            找有耐心的施主吧!!



2010-12-28 15:45
loveminttea
Rank: 3Rank: 3
来 自:河南科技学院
等 级:论坛游侠
帖 子:95
专家分:146
注 册:2010-10-14
收藏
得分:6 
#include "stdio.h"  
#include "stdlib.h"
#include "io.h"  
#include "string.h"
#include "fcntl.h"
#define stu 30
int shoudsave=0;  
int fh,fp;

struct student
{
char num[13];/* 学号 */  
char name[20];  
char sex[4];  
int age;  
int mgrade;  
int egrade;
int cgrade;  
int sum;  
int ave;  
char neartime[10];/* 最近更新时间 */  
};  
typedef struct node  
{  
struct student data;  
struct node *next;  
}Node,*Link;
struct student *head = NULL;

void menu();
void printstart();
void Wrong();
void Nofind();
void printc();
void printe(Node *p);
Node* Locate(Link l,char findmess[],char nameornum[]);
void Add(Link l);
void Qur(Link l);
void Del(Link l);
void Print(Link l);

void menu()  
{  
printf
("********************************************************************* ");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t+ 学生信息管理系统 +\n");  
printf("\t\t\t--------------------------------\n");  
printf("\t\t\t+ [1]----添加学生信息 +\n");
printf("\t\t\t+ [2]----删除学生信息 +\n");
printf("\t\t\t+ [3]----查询学生信息 +\n");
printf("\t\t\t+ [4]----修改学生信息 +\n");  
printf("\t\t\t+ [5]----保存学生信息 +\n");
printf("\t\t\t+ [6]----显示学生信息 +\n");
printf("\t\t\t+ [0]----退出管理系统 +\n");
printf
("********************************************************************* \n");
}  

void printstart()  
{  
printf("-----------------------------------------------------------------------\n");  
}  
void Wrong()  
{  
printf("\n=====>提示:输入错误!\n");  
}  

void Nofind()  
{  
printf("\n=====>提示:没有找到该学生!\n");  
}  

void printc() /* 本函数用于输出中文 */  
{  
printf(" 学号\t 姓名\t性别\t年龄\t数学\t英语\t计算机\n"); /*英语 数学 年龄 计算机*/
}  
void printe(Node *p)/* 本函数用于输出英文 */  


{  
printf("%d %s\t%s\t%d\t%d\t%d\t%d\n",
p->data.num,p->data.name,p->data.sex,
p->data.age,p->data.mgrade,p->data.egrade,p->data.cgrade);
}  
Node* Locate(Link l,char findmess[],char nameornum[]) /* 该函数用于定位连表中符合要求
的接点,并返回该指针 */  
{  
Node *r;  
if(strcmp(nameornum,"num")==0) /* 按学号查询 */  
{  
r=l->next;  
while(r!=NULL)  
{  
if(strcmp(r->data.num,findmess)==0)  
return r;  
r=r->next;  
}  
}  
else if(strcmp(nameornum,"name")==0) /* 按姓名查询 */  
{  
r=l->next;  
while(r!=NULL)  
{  
if(strcmp(r->data.name,findmess)==0)  
return r;  
r=r->next;  
}  
}  
return 0;  
}  

void Add(Link l) /* 增加学生 */  
{  
Node *p,*r,*s;  
char num[13];  
r=l;  
s=l->next;  
while(r->next!=NULL)  
r=r->next; /* 将指针置于最末尾 */  
while(1)  
{  
printf("请你输入学号(按0返回主菜单):");  
scanf("%s",num);  
if(strcmp(num,"0")==0)  
break;  
while(s)  
{  
if(strcmp(s->data.num,num)==0)  
{  
printf("=====>提示:学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);  
printstart();  
printc();  
printe(s);  
printstart();  
printf("\n");  
return;  
}  
s=s->next;  
}  

p=(Node *)malloc(sizeof(Node));  

strcpy(p->data.num,num);  
printf("请你输入姓名:");  
scanf("%s",p->data.name);  
getchar();  
printf("请你输入性别:");  
scanf("%s",p->data.sex);  
getchar();  
printf("请你输入年龄:");  
scanf("%d",&p->data.age);  
getchar();  
printf("请你输入数学成绩:");  
scanf("%d",&p->data.mgrade);  
getchar();  
printf("请你输入英语成绩:");  
scanf("%d",&p->data.egrade);  
getchar();  
printf("请你输入计算机成绩:");  
scanf("%d",&p->data.cgrade);  
getchar();  
p->data.sum=p->data.egrade+p->data.age+p->data.mgrade+p->data.cgrade;  
p->data.ave=p->data.sum / 4;  
/* 信息输入已经完成 */  
p->next=NULL;  
r->next=p;  
r=p;  
shoudsave=1;  

}  
}  

void Qur(Link l) /* 查询学生 */  

{  
int sel;  
char findmess[20];  
Node *p;  

if(!l->next)  
{  
printf("\n=====>提示:没有资料可以查询!\n");  
return;  


}  
printf("\n=====>1按学号查找\n=====>2按姓名查找\n");  
scanf("%d",&sel);  
if(sel==1)/* 学号 */  
{  
printf("请你输入要查找的学号:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"num");  
if(p)  
{  
printf("\t\t\t\t查找结果\n");  
printstart();  
printc();  
printe(p);  
printstart();  
}  
else  
Nofind();  
}  
else if(sel==2) /* 姓名 */  
{  
printf("请你输入要查找的姓名:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"name");  
if(p)  
{  
printf("\t\t\t\t查找结果\n");  
printstart();  
printc();  
printe(p);  
printstart();  
}  
else  
Nofind();  
}  
else  
Wrong();  

}  

void Del(Link l) /* 删除 */  
{  
int sel;  
Node *p,*r;  
char findmess[20];  
if(!l->next)  
{  
printf("\n=====>提示:没有资料可以删除!\n");  
return;  
}  
printf("\n=====>1按学号删除\n=====>2按姓名删除\n");  
scanf("%d",&sel);  
if(sel==1)  
{  
printf("请你输入要删除的学号:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"num");  
if(p)  
{  
r=l;  
while(r->next!=p)  
r=r->next;  
r->next=p->next;  
free(p);  
printf("\n=====>提示:该学生已经成功删除!\n");  
shoudsave=1;  
}  
else  
Nofind();  
}  
else if(sel==2)  
{  
printf("请你输入要删除的姓名:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"name");  
if(p)  
{  
r=l;  
while(r->next!=p)  
r=r->next;  
r->next=p->next;  
free(p);  
printf("\n=====>提示:该学生已经成功删除!\n");  
shoudsave=1;  
}  
else  
Nofind();  
}  
else  
Wrong();  
}  

void Modify(Link l)/*修改 */
{  
Node *p;  
char findmess[20];  
if(!l->next)  
{  
printf("\n=====>提示:没有资料可以修改!\n");  
return;  
}  
printf("请你输入要修改的学生学号:");  
scanf("%s",findmess);  
p=Locate(l,findmess,"num");

p=l->next;  
if(p)  
{  
printf("请你输入新学号(原来是%s):",p->data.num);  
scanf("%s",p->data.num);  
printf("请你输入新姓名(原来是%s):",p->data.name);  
scanf("%s",p->data.name);  
getchar();  
printf("请你输入新性别(原来是%s):",p->data.sex);  
scanf("%s",p->data.sex);  
printf("请你输入新的年龄原来是%d):",p->data.age);  
scanf("%d",&p->data.age);  
getchar();  
printf("请你输入新的数学成绩(原来是%d分):",p->data.mgrade);  
scanf("%d",&p->data.mgrade);  
getchar();
printf("请你输入新的英语成绩(原来是%d分):",p->data.egrade);  
scanf("%d",&p->data.egrade);
getchar();  
printf("请你输入新的计算机成绩(原来是%d分):",p->data.cgrade);  
scanf("%d",&p->data.cgrade);  
getchar();  
  
p->data.sum=p->data.egrade+p->data.age+p->data.mgrade+p->data.cgrade;  
p->data.ave=p->data.sum/4;  
printf("\n=====>提示:资料修改成功!\n");  
shoudsave=1;  
}  
else  
Nofind();  

}  

void Disp(Link l)  
{  
int count=0;  
Node *p;  
p=l->next;  

if(!p)  
{  
printf("\n=====>提示:没有资料可以显示!\n");  
return;  
}  
printf("\t\t\t\t显示结果\n");  
printstart();  
printc();  
printf("\n");  
while(p)  
{  
printe(p);  
p=p->next;  
}  
printstart();  
printf("\n");  
}  


void Save(Link l)
{  
FILE* fp;  
Node *p;  
int flag=1,count=0;  
fp=fopen("c:\\student","wb");  
if(fp==NULL)  
{  
printf("\n=====>提示:重新打开文件时发生错误!\n");  
exit(1);  
}  
p=l->next;  

while(p)  
{  
if(fwrite(p,stu,1,fp)==1)  
{  
p=p->next;  
count++;  
}  
else  
{  
flag=0;  
break;  
}  
}  
if(flag)  
{  
printf("\n=====>提示:文件保存成功.(有%d条记录已经保存.)\n",count);  
shoudsave=0;  
}  
fclose(fp);  
}

void Print(Link l)
{
FILE* fp;
Node *p;  
int flag=1,count=0;  
fp=fopen("c:\\student","rb");  
if(fp==NULL)  
{  
printf("\n=====>提示:重新打开文件时发生错误!\n");  
exit(1);  
}  
p=l->next;

printc();
printstart();  
while(p)
{  
printe(p);  
p=p->next;
printf("\n");
}
}

void main()  
{  
Link l;/* 连表 */  
FILE *fp; /* 文件指针 */  
int sel;  
char ch;  
char jian;
int count=0;

Node *p,*r;  
printf("\t\t\t\t学生信息管理系统\t\t\t\t\n");  
l=(Node*)malloc(sizeof(Node));  
l->next=NULL;  


r=l;  

fp=fopen("C:\\student","rb");  
if(fp==NULL)  
{  
printf("\n=====>提示:文件还不存在,是否创建?(y/n)\n");  
scanf("%c",&jian);  
if(jian=='y'||jian=='Y')  
fp=fopen("C:\\student","wb");  
else  
exit(0);  
}  
printf("\n=====>提示:文件已经打开,正在导入记录......\n");  

while(!feof(fp))  
{  
p=(Node*)malloc(sizeof(Node));  
if(fread(p,stu,1,fp)) /* 将文件的内容放入结点中 */  
{  
p->next=NULL;  
r->next=p;  
r=p; /* 将该结点挂入l链中 */  
count++;  
}  
}  

fclose(fp); /* 关闭文件 */  
printf("\n=====>提示:记录导入完毕,共导入%d条记录.\n",count);  

while(1)  
{  
menu();  
printf("请你选择操作:");  
scanf("%d",&sel);  

if(sel==0)  
{  
if(shoudsave==1)  
{ getchar();  
printf("\n=====>提示:资料已经改动,是否将改动保存到文件中(y/n)?\n");  
scanf("%c",&ch);  
if(ch=='y'||ch=='Y')  
Save(l);  
}  
printf("\n=====>提示:你已经退出系统,再见!\n");  
break;  
}  
switch(sel)  
{  
case 1:Add(l);break; /* 增加学生 */  
case 2:Del(l);break;/* 删除学生 */  
case 3:Qur(l);break;/* 查询学生 */  
case 4:Modify(l);break;/* 修改学生 */  
case 5:Save(l);break;/* 保存学生 */
case 6:Print(l);break;/* 显示学生 */
case 9:printf("\t\t\t==========帮助信息==========\n");break;  
default: Wrong();getchar();break;  
}  
}  
}

我晕!!运行,不对,有错误,我改了改
2010-12-28 16:24
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:6 
呵呵  高手

                                         
===========深入<----------------->浅出============
2010-12-28 18:29
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
收藏
得分:0 
回复 5楼 loveminttea
呵呵,和我的一样,都是保存后再导出,数据就都乱了。。。
  我才学链表,根本就不怎么熟,所以上面的程序是仿造书上的来的,可能很多地方都是错的。。。嘿嘿。。。
    还是谢啦~!
2010-12-28 19:30
树上月
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:114
专家分:154
注 册:2010-1-6
收藏
得分:6 
你起码也要告诉错误在哪里吧!!这么大一把,怎么看哦..
你可以参考我下面的程序,也是用链表做的...
https://bbs.bccn.net/thread-323565-1-1.html

每一个不曾起舞的日子,都是对未来的一种辜负......
2010-12-28 21:39
树上月
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:114
专家分:154
注 册:2010-1-6
收藏
得分:0 
写代码时不要一摞子写完。写完一段就运行检查下,就不会出现检查不到的错误啦.....

每一个不曾起舞的日子,都是对未来的一种辜负......
2010-12-28 21:41
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
收藏
得分:0 
回复 9楼 树上月
嘿嘿。。收到。。。
2011-01-20 18:47
快速回复:求指点,这个程序错在哪里啊?怎么保存后再打开文件,数据都乱了?
数据加载中...
 
   



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

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