?? 3.c
字號:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct person
{
char num[6];
char name[8];
char tel[15];
char addr[50];
}per[10];
void main()
{
void creat();
void point();
void append();
void search();
char a,b;
int m,n;
clrscr();
printf("是否建立新通信錄?(y/n)\n");
scanf("%s",&a);
if(a=='y')
{
creat();
point();
}
printf("\n是否建立新通信錄?(y/n)\n");
scanf("%s",&a);
if(a=='y')
{
creat();
point();
}
else
{
printf(" 通信錄\n");
point();
printf("\n添加信息:'1'\n");
printf("查找信息:'2'\n");
printf("退出系統:'3'\n");
}
scanf("%d",&m);
if(m==1)
{append();
printf("\n添加信息:'1'\n");
printf("查找信息:'2'\n");
printf("退出系統:'3'\n");
scanf("%d",&m);
if(m==1) append();
else
if(m==2) search();
else exit(0);
}
else
if(m==2)
{ search();
printf("\n添加信息:'1'\n");
printf("查找信息:'2'\n");
printf("退出系統:'3'\n");
scanf("%d",&m);
if(m==1) append();
else
if(m==2) search();
else exit(0);
}
else exit(0);
}
void point()
{
FILE * fp1;
int i,j;
if((fp1=fopen("person","r"))==NULL)
{
printf("can not open file.\n");
exit(0);
}
printf(" No. name tel addr");
for(i=0;fread(&per[i],sizeof(struct person),1,fp1)!=0;i++)
{
printf("\n%4s%8s%10s%8s",per[i].num,per[i].name,per[i].tel,per[i].addr);
}
fclose(fp1);
}
void creat()
{
FILE * fp;
int i;
printf("input No.,name,tel,addr\n");
for(i=0;i<4;i++)
scanf("%s %s %s %s",per[i].num,per[i].name,per[i].tel,per[i].addr);
if((fp=fopen("person","w"))==NULL)
{
printf("can not open file.");
exit(0);
}
for(i=0;i<4;i++)
if(fwrite(&per[i],sizeof(struct person),1,fp)!=1)
printf("error\n");
fclose(fp);
}
void append()
{
FILE * fp;
int i;
printf("input No.,name,tel,addr\n");
for(i=4;i<5;i++)
scanf("%s %s %s %s",per[i].num,per[i].name,per[i].tel,per[i].addr);
if((fp=fopen("person","a"))==NULL)
{
printf("can not open file.");
exit(0);
}
if(fwrite(&per[4],sizeof(struct person),1,fp)!=1)
printf("error\n");
fclose(fp);
printf("\n No. name tel addr");
for(i=0;i<5;i++)
{
printf("\n%4s%8s%10s%8s",per[i].num,per[i].name,per[i].tel,per[i].addr);
}
}
void search()
{
char name[6];
int i,k=0;
printf("請輸入姓名:\n");
scanf("%s",name);
for(i=0;i<10;i++)
if(strcmp(name,per[i].name)==0)
{
printf("\n您要查找的人:\n");
printf(" No. name tel addr\n");
printf("%4s%8s%10s%8s",per[i].num,per[i].name,per[i].tel,per[i].addr);
k=1;
}
switch (k)
{
case 0: printf("\n 暫無此人信息!\n");
case 1:break;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -