鱼C论坛

 找回密码
 立即注册
查看: 1548|回复: 0

[技术交流] 交流链表与文件

[复制链接]
发表于 2015-12-20 12:28:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct friends{
char name[50];  //姓名
char sex[10];   //性别
char telephone[15];  //电话号码
char address[50];   //地址
char wechat[50];    //微信
char QQ[15];         //QQ号码
struct friends *next;
};
int size=sizeof(struct friends);
void main()
{ 
struct friends *create_link_table(struct friends *head,int x);
struct friends *edit_node(struct friends *head,char name1[]);
struct friends *query_link_table(struct friends *head);
struct friends *head=NULL,*p=NULL;
int s,x;
int n;
char name1[50];
int sel;
while(1)
{  
system("cls");
printf("========================================\n");
printf("|---1.添加朋友信息----2.修改朋友信息---|\n");
printf("|---3.查询朋友信息----4.删除朋友信息---|\n");
printf("|---5.输出朋友信息----0.退出-----------|\n");
printf("========================================\n");
printf("请选择输入(1-5),输入0退出\n");
scanf("%d",&sel);
switch(sel)
{
case 1: //输入朋友信息
printf("请输入添加朋友信息个数\n");
scanf("%d",&x);
head=create_link_table(head,x);
printf("\n按任意键继续");
getchar();
break;
case 2: //修改朋友信息
printf("请输入需要修改信息的朋友名字:\n");
scanf("%s",name1);
head=edit_node(head,name1);
getchar();
break;
case 3:
head=query_link_table(head);
getchar();
break;
}
system("pause");
}
}
struct friends *create_link_table(struct friends *head,int x)
{  
FILE *fp;
char name[50];  //姓名
    char sex[10];   //性别
    char telephone[15];  //电话号码
    char address[50];   //地址
    char wechat[50];    //微信
    char QQ[15];  //QQ号码
int n=0,s;
struct friends *p1=NULL,*p2=NULL;
if((fp=fopen("朋友圈信息.txt","ab"))==NULL)//写入文本
{
printf("Can not open the file\n");
exit(0);
}
    
    printf("请输入朋友信息(姓名,性别,电话号码,地址,微信,QQ号码)\n");
while(n<x)
{   
scanf("%s%s%s%s%s%s",name,sex,telephone,address,wechat,QQ);
n++;
p1=(struct friends *)malloc(size);
strcpy(p1->name,name);
strcpy(p1->sex,sex);
strcpy(p1->telephone,telephone);
strcpy(p1->address,address);
strcpy(p1->wechat,wechat);
strcpy(p1->QQ,QQ);
p1->next=NULL;
if(n==1)
head=p1;
else 
p2->next=p1;
p2=p1;
fwrite(p1,size,1,fp);
}
fclose(fp);
return head;
}
struct friends *query_link_table(struct friends *head)
{
FILE *fp;
int n=0;
struct friends *p1=NULL,*p2=NULL,*list=NULL;
char name[50];  //姓名
    char sex[10];   //性别
    char telephone[15];  //电话号码
    char address[50];   //地址
    char wechat[50];    //微信
    char QQ[15];  //QQ号码
if((fp=fopen("朋友圈信息.txt","rb"))==NULL)
{
printf("can not open the file\n");
exit(0);
}
   
printf("姓名     性别     电话号码    地址       微信     QQ号码");
printf("\n");
list=head;
while(!feof(fp))
{  
         
 

         fread(head,size,1,fp);
       printf("%-6s%6s%13s%10s%12s%12s",head->name,head->sex,head->telephone,head->address,head->wechat,head->QQ);
//printf("%s%s%s%s%s%s",name,sex,telephone,address,wechat,QQ);
  printf("\n");
        head=head->next;

}
fclose(fp);
return list;
}
为什么运行不了 求解,我现在是想用链表把往文件里面放东西,然后再用另一个函数把文件里的内容用链表方式读出来  求解为什么不可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 16:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表