怎么用函数fread和fwirte编写通讯录?
用块函数fread()和fwirte(),从键盘输入N个学生的基本信息(包括姓名.学号.年龄.通讯地址),把它们转存到磁盘文件stu_list中,然后再把它们从文件中读入...
用块函数fread( )和fwirte( ),从键盘输入N个学生的基本信息(包括姓名.学号.年龄.通讯地址),把它们转存到磁盘文件stu_list中,然后再把它们从文件中读入内存并显示在屏幕上。
展开
1个回答
展开全部
#include"stdio.h"
#include"stdlib.h"
void main()
{
int i,j,N=0;
FILE*fp;
char ch,*prompt[4];
prompt[0]="姓名";
prompt[1]="学号";
prompt[2]="年龄";
prompt[3]="通讯地址";
fp=fopen("stu_list.list","w+");
if(!fp) return;
printf("学生数N:");
scanf("%d",&N);fflush(stdin);
for(j=0;j<N;j++)
{
system("cls");
printf("学生%d的信息\n",j+1);
for(i=0;i<4;i++)
{
printf("%s:",prompt[i]);
while((ch=getchar())!='\n')
fputc(ch,fp);
fflush(stdin);
fputc('\n',fp);
}
system("cls");
}
rewind(fp);
for(j=0;j<N;j++)
{
printf("\n学生%d的信息\n************************\n",j+1);
for(i=0;i<4;i++)
{
printf("%s:",prompt[i]);
while((ch=fgetc(fp))!='\n'&&ch!=EOF)
printf("%c",ch);
printf("\n");
}
}
}
#include"stdlib.h"
void main()
{
int i,j,N=0;
FILE*fp;
char ch,*prompt[4];
prompt[0]="姓名";
prompt[1]="学号";
prompt[2]="年龄";
prompt[3]="通讯地址";
fp=fopen("stu_list.list","w+");
if(!fp) return;
printf("学生数N:");
scanf("%d",&N);fflush(stdin);
for(j=0;j<N;j++)
{
system("cls");
printf("学生%d的信息\n",j+1);
for(i=0;i<4;i++)
{
printf("%s:",prompt[i]);
while((ch=getchar())!='\n')
fputc(ch,fp);
fflush(stdin);
fputc('\n',fp);
}
system("cls");
}
rewind(fp);
for(j=0;j<N;j++)
{
printf("\n学生%d的信息\n************************\n",j+1);
for(i=0;i<4;i++)
{
printf("%s:",prompt[i]);
while((ch=fgetc(fp))!='\n'&&ch!=EOF)
printf("%c",ch);
printf("\n");
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询