C语言通讯录 通讯录

  • L0_788388
    了解作者
  • 78.7KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-24 01:49
    上传日期
system("cls"); printf("\t\t*****通讯录****\n"); printf("\t\t---------------\n"); printf("\t\t| 1.添加记录 | \n"); printf("\t\t| 2.显示记录 | \n"); printf("\t\t| 3.删除记录 | \n"); printf("\t\t| 4.查询记录 | \n"); printf("\t\t| 5.修改记录 | \n"); printf("\t\t| 6.保存记录 | \n"); printf("\t\t| 0.退出程序 | \n"); printf("\t\t---------------\n"); printf("\t\t请您选择(0-6): \n"); c=getchar();
C语言通讯录.rar
  • C语言通讯录
  • 通讯录.exe
    184.1KB
  • 通讯录.obj
    29.3KB
  • tempfile.exe
    184.1KB
  • 通讯录.C
    7KB
内容介绍
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct { char score; char name[10]; char num[15]; char email[20]; char age[8]; char adds[20]; }Person; Person pe[80]; int menu_select() { char c; do { system("cls"); printf("\t\t**************************\n"); printf("\t\t**********通讯录**********\n"); printf("\t\t**************************\n"); printf("\t\t|------------------------|\n"); printf("\t\t| 1.添加记录 |\n"); printf("\t\t| 2.显示记录 |\n"); printf("\t\t| 3.删除记录 |\n"); printf("\t\t| 4.查询记录 |\n"); printf("\t\t| 5.修改记录 |\n"); printf("\t\t| 6.保存记录 |\n"); printf("\t\t| 0.退出程序 |\n"); printf("\t\t|------------------------|\n"); printf("\t\t*请您选择(0-6): "); c=getchar(); } while(c<'0'||c>'6'); return(c-'0'); } int Input(Person per[],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t编号:"); scanf("\t%d",&per[n+i].score); printf("\t姓名:"); scanf("\t%s",per[n+i].name); printf("\t年龄:"); scanf("\t%s",per[n+i].age); printf("\t电话号码:"); scanf("\t%s",per[n+i].num); printf("\t通讯地址:"); scanf("\t%s",per[n+i].adds); printf("\t电子邮箱:"); scanf("\t%s",per[n+i].email); gets(x); printf("\n\t是否继续添加?(Y/N)"); scanf("\t%c",&sign); i++; } return(n+i); } void Display(Person per[],int n) { int i; printf("-------------------------------------------------------------------\n"); printf("编号 姓名 年龄 电话号码 通讯地址 电子邮箱 \n"); printf("-------------------------------------------------------\n"); for(i=1;i<n+1;i++) { printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); if(i>1&&i%10==0) { printf("\t----------------\n"); printf("\t"); system("pause"); printf("\t----------------\n"); } } printf("----------------------------------\n"); system("pause"); } int Delete_a_record(Person per[],int n) { char s[20]; int i=0,j; printf("\t请输入想要删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return(n); } for(j=i;j<n-1;j++) { strcpy(per[j].num,per[j+1].num); strcpy(per[j].name,per[j+1].name); strcpy(per[j].age,per[j+1].age); strcpy(per[j].adds,per[j+1].adds); strcpy(per[j].email,per[j+1].email); per[j].score=per[j+1].score; } printf("\t\t\t已经成功删除!\n"); return(n-1); } void Query_a_record(Person per[],int n) { int m; printf("\t\n请选择查询方式:\n"); printf("\t------------------\n"); printf("\t| 1-----姓名 |\n"); printf("\t| 2-----电话 |\n"); printf("\t| 3-----地址 |\n"); printf("\t| 4-----返回 |\n"); printf("\t------------------\n"); printf("请选择:"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3&&m!=4) { printf("输入错误,请重新选择:"); scanf("%d",&m); } if(m==1) { char s[20]; int i=0; printf("\t请输入想查询的姓名:"); scanf("\t%s",s); while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n) { printf("\t通讯录中没有此人\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人年龄:%s\n",per[i].age); printf("\t电话号码:%s\n",per[i].num); printf("\t通讯地址:%s\n",per[i].adds); printf("\t电子邮箱:%s\n",per[i].email); }; if(m==2) { char s[20]; int i=0; printf("\t请输入想查询的电话:"); scanf("\t%s",s); while(strcmp(per[i].num,s)!=0&&i<n) i++; if(i==n) { printf("\t通讯录中没有此人\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人年龄:%s\n",per[i].age); printf("\t电话号码:%s\n",per[i].num); printf("\t通讯地址:%s\n",per[i].adds); printf("\t电子邮箱:%s\n",per[i].email); }; if(m==3) { char s[20]; int i=0; printf("\t请输入想查询的地址:"); scanf("\t%s",s); while(strcmp(per[i].adds,s)!=0&&i<n) i++; if(i==n) { printf("\t通讯录中没有此人\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人年龄:%s\n",per[i].age); printf("\t电话号码:%s\n",per[i].num); printf("\t通讯地址:%s\n",per[i].adds); printf("\t电子邮箱:%s\n",per[i].email); }; if(m==1) { char s[20]; int i=0; printf("\t请输入想查询的姓名:"); scanf("\t%s",s); while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n) { printf("\t通讯录中没有此人\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人年龄:%s\n",per[i].age); printf("\t电话号码:%s\n",per[i].num); printf("\t通讯地址:%s\n",per[i].adds); printf("\t电子邮箱:%s\n",per[i].email); }; } void Change(Person per[],int n) { char s[20]; int i=0; printf("\t请输入想修改的记录的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return; } printf("\t编号:"); scanf("\t%d",&per[i].score); printf("\t姓名:"); scanf("\t%s",per[i].name); printf("\t年龄:"); scanf("\t%s",per[i].age); printf("\t电话号码:"); scanf("\t%s",per[i].num); printf("\t通讯地址:"); scanf("\t%s",per[i].adds); printf("\t电子邮箱:"); scanf("\t%s",per[i].email); printf("\t修改成功!"); } void WritetoText(Person per[],int n) { int i=0; FILE *fp; char filename[20]; printf("\t保存到文件\n"); printf("\t请输入所保存的文件名:"); scanf("\t%s",filename); if((fp=fopen(filename,"W"))==NULL) { printf("\t无法打开文件\n"); system("pause"); return; } fprintf(fp,"**********通讯录*****************\n"); fprintf(fp,"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n"); fprintf(fp,"---------------------------------\n"); while(i<n) { fprintf(fp,"%-sd\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email); i++; } fprintf(fp,"----------------------------------------\n"); fprintf(fp,"******************************共有%d 条记录*****************\n",n); fclose(fp); printf("保存成功\n"); } void main() { int n=0; while(1) { switch(menu_select()) { case 1: printf("\n\t添加记录到通讯录\n"); n=Input(pe,n); break; case 2: printf("\n\t\t\t通讯录记录表\n"); Display(pe,n); break; case 3: printf("\n\t从通讯录中删除记录\n"); n=Delete_a_record(pe,n); printf("\t"); system("pause"); break; case 4: printf("\n\t在通讯录中查找记录\n"); Query_a_record(pe,n); printf("\t"); system("pause"); break; case 5: printf("\n\t修改通讯录中的记录\n"); Change(pe,n); printf("\t"); system("pause"); break; case 6: printf("\n\t保存功能\n"); WritetoText(pe,n); printf("\t"); system("pause"); break; case 0: printf("\n\t\t谢谢使用,再见!\n"); printf("\n\t\t"); system("pause"); exit(0); } } }
评论
    相关推荐
    • 谭浩强C语言
      这是谭浩强C语言的新版,有兴趣想学C语言的童鞋们可以下载来看看啊!
    • C语言 实现
      C语言 项目实现 《计算方法》课件 俄罗斯方块游戏 C语言实训 综合案例-学生成绩管理程序 C语言程序设计学习与实践指导(源代码)
    • 水滴石穿C语言
      学习C语言的有用文档 水滴石穿C语言C语言的底层操作 水滴石穿C语言之extern声明辨析 水滴石穿C语言之static辨析 水滴石穿C语言之typedef的问题 水滴石穿C语言之编译器引出的问题 水滴石穿C语言之代码检查工具 ...
    • C语言精讲
      初学者必看,让你轻松学会c语言,课程详细,内容丰富
    • 谭浩强c语言
      谭浩强c语言,国内最权威的c语言学习宝典,从零基础开始,成为c语言高手。
    • Makefile c语言
      Makefile c语言Makefile c语言Makefile c语言Makefile c语言 四本资料!自己学习的时候整理的!
    • C语言 课件
      此文件是小甲鱼c语言的 第四章 分支结构程序(课件).rar )
    • c语言
      C语言电子课件 简单易懂 清楚明了 希望让每一个学它的人都有所收获 。
    • c语言
      c语言
    • C语言
      C语言