用C语言利用结构体编写一个电话簿程序,包含新建与查找两大功能,联系人信息保存于txt文件中。
#include <stdio.h>
#include <string.h>
struct Friends{
char Name[20];
char TEL[30];
char sex[10];
char email[20];
char address[20];
char birth[20];
};
void newone();
void Find();
void FindforName();
void FindforTEL();
void outputit(struct Friends *p);
void deleteOne();
void change();
int main(){
int s = 1;
int i=1;
printf(" *** 通讯录 *** \n");
while(i){
printf("-------------------------------------------------------------------------------\n");
printf("1-新建联系人\n");
printf("2-查找联系人\n");
printf("-------------------------------------------------------------------------------\n");
printf("请选择功能(输入相应功能对应的数字即可):");
scanf("%d",&s);
switch(s){
case 1:newone();break;
case 2:Find();break;
}
printf("要继续操作通讯录吗(继续请输入1,离开请输入0)?");
scanf("%d",&i);
}
return 0;
}
void newone(){
struct Friends x;
FILE *fp;
fp=fopen("e:\\通讯录.txt","ab");
printf("请输入姓名:");
scanf("%s",&x.Name);
printf("请输入手机号码:");
scanf("%s",&x.TEL);
printf("请输入电子信箱:");
scanf("%s",&x.email);
printf("输入家庭住址:");
scanf("%s",&x.address);
printf("输入性别(female或者male):");
scanf("%s",&x.sex);
printf("输入生日(请以例如“2014/5/15”的格式输入):");
scanf("%s",&x.birth);
fwrite(&x,sizeof(x),1,fp);
fclose(fp);
}
void Find(){
int a = 1;
printf("-------------------------------------------------------------------------------\n");
printf("1-按姓名查找\n");
printf("2-按电话号码查找\n");
printf("-------------------------------------------------------------------------------\n");
printf("请选择功能(输入相应功能对应的数字即可):");
scanf("%d",&a);
switch(a){
case 1:FindforName();break;
case 2:FindforTEL();break;
}
}
void FindforName(){
char b[20];
struct Friends x;
printf("请输入姓名:");
scanf("%s",&b);
FILE *fp;
fp=fopen("e:\\通讯录.txt","rb");
while(!feof(fp)){
fread(&x,sizeof(x),1,fp);
if(strcmp(b,x.Name)==0)
{
outputit(&x);
break;
}
}
fclose(fp);
}
void FindforTEL(){
char c[30];
struct Friends x;
printf("请输入电话号码:");
scanf("%s",&c);
FILE *fp;
fp=fopen("e:\\通讯录.txt","rb");
while(!feof(fp)){
fread(&x,sizeof(x),1,fp);
if(strcmp(c,x.TEL)==0)
{
outputit(&x);
break;
}
}
fclose(fp);
}
void outputit(struct Friends *p){
printf("-------------------------------------------------------------------------------\n");
printf("姓名:%s\n",p->Name);
printf("电话号码:%s\n",p->TEL);
printf("性别:%s\n",p->sex);
printf("电子邮件地址:%s\n",p->email);
printf("住址:%s\n",p->address);
printf("生日:%s\n",p->birth);
printf("-------------------------------------------------------------------------------\n");
}
void deleteOne(){
printf("请输入要删除的电话");
}
删除与修改功能还没来得及写~