用c语言通讯录文件打不开,自己改编的通讯录,运行不行啊

本文介绍了一个使用C语言实现的学生信息管理系统,包括记录添加、查询和文件操作功能。通过`newrecord()`函数录入学生ID,`searchmenu()`用于检索记录,`read()`和`writetofile()`负责文件的读写。核心内容涉及结构体数组、文件I/O和基本菜单设计。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include 

#include 

struct record

{int id;

}student[500];

int num=0;

void newrecord();

void writetofile();

void searchmenu();

void read();

FILE *fp;

void main()

{

read();

int a;

printf("\n\t\t******************** 主菜单 ********************");

printf("\n\t\t************1-添加记录      2-查询记录**********");

printf("\n\t\t********************3-保存退出******************");

printf("\n\t\t请选择:");

scanf("%d",&a);

if(a==1)

newrecord();

else if(a==2)

searchmenu();

else

writetofile();

}

void newrecord()

{ system("cls");

printf("\n\t\t**************** 请输入学生信息 ****************\n");

printf("\n\t\t输入学号:");

scanf("%d",&student[num].id);

num++;

printf("\n\t\t是否继续添加?(Y/N):");

if (getch()=='y')

newrecord();

else

system("cls");

main();

}

void read()

{fp=fopen("student.bin","ab");

fseek(fp,0,2);

if(ftell(fp)>0)

{rewind(fp);

for(num=0;!feof(fp) && fread(&student[num],sizeof(struct record),1,fp);num++);

}

}

void writetofile()

{

int i;

fp=fopen("student.bin","wb");

for (i=0;i

fwrite(&student[i],sizeof(struct record),1,fp)!=1;

fclose(fp);

}

void searchmenu()

{int i;

system("cls");

for(i=0;i<=num;i++)

{

printf("\n\t\t学号: %d",student[i].id);

printf("\t\t");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值