当前位置:才高文秘网>范文大全 > 公文范文 > 手机通讯录源代码【精选推荐】

手机通讯录源代码【精选推荐】

时间:2022-08-22 19:30:05 公文范文 来源:网友投稿

下面是小编为大家整理的手机通讯录源代码【精选推荐】,供大家参考。

手机通讯录源代码【精选推荐】

 

 #include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#defineN15 //最大容量为 15typedefstruct //定义一个结构{ charname[10]; charhaoma[15]; charleibie[10]; chardizhi[20];}ren;//菜单voidmenu() //目录{ system("cls"); //清屏 printf(" ######### 欢迎使用手机通讯录#########\n"); printf("\n"); printf("==============================================================================\n"); printf(" 1.~~号码查询~~ \n"); printf(" 2.~~号码添加~~ \n"); printf(" 3.~~号码拨号~~ \n"); printf(" 4.~~号码修改~~ \n"); printf(" 5.~~号码删除~~ \n"); printf(" 0.~~退出~~ \n"); printf("==============================================================================\n"); printf("\n"); printf(" 个人通讯录\n"); printf("\n"); printf(" ~~请选择相应的功能~~:");} voidinput() //查询{inthelp=0; //帮助指令,如果查找所找的类别中没有数据,显示renry;FILE*fp;charleibie[10];system("cls");

 printf("\n 输入要查人员的类别:");scanf("%s",leibie);//要查询的类别查找失败 if((fp=fopen("ren.dat","rb"))==NULL){printf("can"topenfile!\n");exit(0);} fread(&ry,sizeof(ren),1,fp); if(!feof(fp)) { printf(" 人员的信息如下:\n"); printf("说明:(A 办公类 B 个人类 C 商务类)"); printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱");while(!feof(fp)){ if(strcmp(ry.leibie,leibie)==0) //若为该类别则输出 { help++; printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi); } fread(&ry,sizeof(ren),1,fp);}if(help==0){ printf(" 查找失败!!!"); } } //elseprintf(" 查找失败!!!"); fclose(fp); getch();} //修改:输入人员的姓名,查找该人员,若找到则修改该人员的信息,并显示修改前后的结果; //号码添加voidsearch(){ intn; FILE*fp; //定义文件指针 renry,s; // 定义两个 ren 结构体的量 if((fp=fopen("ren.dat","ab+"))==NULL) {printf("can"topenfile!\n");exit(0);} printf("\n 录入格式 姓名 号码 类别 邮箱。当输入姓名为#结束录入\n"); while(1) { printf("请输入姓名:"); scanf("%s",ry.name); if(strcmp(ry.name,"#")==0)break; //如果输入#则退出添加 printf("请输入电话号码:"); scanf("%s",ry.haoma);

  printf("请输入类别(A 办公类 B 个人类 C 商务类):"); scanf("%s",ry.leibie); printf("请输入邮箱地址:"); scanf("%s",ry.dizhi); fseek(fp,0,0); //指针定位到文件开始位置 fread(&s,sizeof(ren),1,fp); n=0; while(!feof(fp)) { n++; if(strcmp(s.haoma,ry.haoma)==0) {printf("号码已经存在,不能记录.\n");break;}//遇到有相同的号码 if(strcmp(s.name,ry.name)==0) {printf("姓名已经存在,不能记录.\n");break;}//遇到有相同的姓名 fread(&s,sizeof(ren),1,fp); } //printf("%d",n); if(n>N){ break;//内存已满,不能记录. } if(feof(fp)) //读到自后也没有相同的号码 fwrite(&ry,sizeof(ren),1,fp);//将信息写入文件 } fclose(fp); //关闭文件 getchar(); //接受一个输入} voidmodi()//拨号{ renry; FILE*fp; charname[10]; system("cls"); printf("\n 输入要拨人员的姓名:");scanf("%s",name); if((fp=fopen("ren.dat","rb"))==NULL){printf("can"topenfile!\n");exit(0);} while(!feof(fp)) { fread(&ry,sizeof(ren),1,fp); if(strcmp(ry.name,name)==0) { printf("\n\a\a\a\a\a\a%15s\a\a\a\a\a\n",ry.haoma); //输出号码和声音 break; } } if(feof(fp))printf("\n\n 拨号失败!!!"); fclose(fp);

  getch();} voiddele(){ renry;FILE*fp;charname[10];system("cls");if((fp=fopen("ren.dat","rb+"))==NULL){printf("can"topenfile!\n");exit(0);} if(!feof(fp)) {printf(" 修改前全部人员的信息如下:\n"); printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱"); fread(&ry,sizeof(ren),1,fp); while(!feof(fp)) { printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi); fread(&ry,sizeof(ren),1,fp); } }printf("\n 输入要修改人员的姓名:");scanf("%s",name); if((fp=fopen("ren.dat","rb+"))==NULL){printf("can"topenfile!\n");exit(0);} while(!feof(fp)) { fread(&ry,sizeof(ren),1,fp); if(strcmp(ry.name,name)==0) { printf(" 修改前人员的信息如下:\n"); printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱"); printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi); printf("\n 请输入该人的号码:");scanf("%s",ry.haoma); printf("\n 类别:");scanf("%s",ry.leibie); //新信息输入 printf("\n 邮箱:");scanf("%s",ry.dizhi); break; //修改完毕退出 } } if(!feof(fp)) { printf(" \n 修改后的人的信息如下:\n"); printf("\n%10s%15s%10s%20s\n","姓名","号码","类别","邮箱"); printf("%10s%15s%10s%20s\n",ry.name,ry.haoma,ry.leibie,ry.dizhi); fseek(fp,sizeof(ren),1); //指针向前一位定位 fwrite(&ry,sizeof(ren),1,fp); } elseprintf("\n\n 此人不存在,修改失败!!");

  fclose(fp); getch();} //删除:输入人员姓名,若该人员存在,则删除,并显示删除后余下的人员的信息voidbohao(){ ren ry[N]; FILE*fp; charname[10]; inti,len,k=‐1; system("cls"); printf("\n 输入要删除的人员姓名:");scanf("%s",name); i=0; if((fp=fopen("ren.dat","rb+"))==NULL){printf("can"topenfile!\n");exit(0);} while(!feof(fp)){ fread(&ry[i],sizeof(ren),1,fp); if(feof(fp))break; if(strcmp(ry[i].name,name)==0)k=i; i++;} fclose(fp); //以下是删除后重新写文件 len=i; if(k>=0) { if((fp=fopen("ren.dat","wb+"))==NULL){printf("can"topenfile!\n");exit(0);} for(i=0;i<len;i++) { if(i==k)continue; fwrite(&ry[i],sizeof(ren),1,fp); } fclose(fp);printf("\n\n 删除成功!!!\n"); } elseprintf("\n\n 删除失败!!!\n"); getch();}//菜单选择voidchoice(){ charch;while(1){

  menu();// 显示菜单 ch=getch();//选择菜单if(ch=="0")break; switch(ch)//判断功能项 { case"1":input();break; case"2":search();break; case"3":modi();break; case"4":dele();break; case"5":bohao();break; } }printf("\n 欢迎使用!!!\n");}//主函数intmain(){choice();//调用菜单选择}

推荐访问:手机通讯录源代码 源代码 通讯录 精选

版权所有:才高文秘网 2017-2024 未经授权禁止复制或建立镜像[才高文秘网]所有资源完全免费共享

Powered by 才高文秘网 © All Rights Reserved.。备案号:沪ICP备17045173号-3