C语言实现电话簿管理系统课程设计

 更新时间:2021年11月23日 17:27:40   作者:我慢慢地也过来了  
这篇文章主要为大家详细介绍了C语言实现电话簿管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言课程设计:电话簿管理系统,供大家参考,具体内容如下

文件目录:

初始界面

现在显示一部分代码:

//添加联系人
void add()
{ 
 int i;
 FILE *fp1;//定义文件指针fp1,使其指向电话簿文本文件
 fp1=fopen("电话簿.txt","a+"); 
 printf("请输入要增加的联系人的个数:");
 scanf("%d",&n); 
 for(i=num;i<num+n;i++)
 {
  printf("请输入要增加的联系人的姓名:\n");
  scanf("%s",person[i].name);
  printf("请输入要增加的联系人的家乡:\n");
  scanf("%s",person[i].hometown);
     printf("请输入要增加的联系人的电话号码:\n");
     scanf("%s",person[i].telephone);
     true_phone(person[i].telephone); 
     printf("请输入要增加的联系人的邮件:\n");
     scanf("%s",person[i].Email);
 }
 for(i=num;i<num+n;i++)
 {
  fprintf(fp1,"%s\t%s\t%s\t%s\t",person[i].name,person[i].hometown,person[i].telephone,person[i].Email);
 }
 printf("恭喜您,成功添加%d位联系人",n);
 num=num+n;
 fclose(fp1);
 save();
 saveuu();
} 
//查找联系人函数
void find()
{
 int select;
 system("cls");
 while(1)
 {
  findmenu();
        scanf("%d",&select);
        switch(select){
            case 1:
                namefind();system("cls"); break;
            case 2:
                hometownfind();system("cls");break;
            case 3:
             mohufind();system("cls");break;
            //case 4:
             //Emailfind();system("cls");break;
            case 4:
             system("cls");return;
   default: 
    print_error(); system("cls"); break;
   }
   system("cls");
 }
 } 
//修改联系人姓名 
void modify_name()
{
 int i;
 char str[20];
 printf("请主人输入原来的姓名:");
 scanf("%s",str);
 for(i=0;i<num;i++)
 {
  if(strcmp(person[i].name,str)==0)
  {
   printf("请主人输入现在的新名字:");
   scanf("%s",str);
   if(strcmp(person[i].name,str)==0)
   {
    printf("对不起,主人,您输入的姓名与原来的姓名重复,请重新输入吧!\n");
    system("pause");
    system("cls");
    //return;
   }
   else
   {
    strcpy(person[i].name,str);
    printf("恭喜您主人,修改名字成功啦!!!\n");
    system("pause");
    system("cls");
    //return;
   }
   save();
   return;
  }
  if(i==num-1)
  {
   printf("主人,您要修改的联系人不存在,仔细思考一下再输入吧,亲!!!\n");
   system("pause");
   system("cls");
   //return;
  }
 }
}
//修改联系人家乡 
void modify_hometown()
{
 int i;
 char str[20];
 printf("请主人输入修改联系人的姓名:");
 scanf("%s",str);
 for(i=0;i<num;i++)
 {
  if(strcmp(person[i].name,str)==0)
  {
   printf("请主人输入联系人现在的地点:");
   scanf("%s",str);
   if(strcmp(person[i].hometown,str)==0)
   {
    printf("对不起,主人,您输入的家乡与原来的重复,请重新输入吧!\n");
    system("pause"); 
    system("cls");
    //return;
   }
   else
   {
    strcpy(person[i].hometown,str);
    printf("恭喜您,主人,家乡修改成功!!!\n");
    system("pause");
    system("cls");
   }
   save();
   return;
  }
  if(i==num-1)
  {
   printf("主人,您要修改的联系人信息不存在,请仔细思考一下,再输入吧亲!!!\n");
   system("pause");
   system("cls");
  }
 }
}
//修改联系人电话号码
void modify_telephone()
{
 int i;
 char str[20];
 printf("请主人输入修改联系人的姓名:");
 scanf("%s",str);
 for(i=0;i<num;i++)
 {
  if(strcmp(person[i].name,str)==0)
  {
   printf("请主人输入联系人现在的电话号码:");
   scanf("%s",str);
   if(strcmp(person[i].telephone,str)==0)
   {
    printf("对不起,主人,您输入的电话号码与原来的重复,请重新输入吧!\n");
    system("pause"); 
    system("cls");
    return;
   }
   else
   {
    strcpy(person[i].telephone,str);
    printf("恭喜您,主人,联系人电话号码修改成功啦!!!\n");
    system("pause");
    system("cls");
   }
   save();
   return;
  }
  if(i==num-1)
  {
   printf("主人,您要修改的联系人电话号码不存在,请仔细思考一下再输入吧,亲!!!\n");
   system("pause");
   system("cls"); 
  }
 }
} 
//修改联系人邮件 
void modify_Email()
{
 int i;
 char str[20];
 printf("请主人输入联系人的姓名:");
 scanf("%s",str);
 for(i=0;i<num;i++)
 {
  if(strcmp(person[i].name,str)==0)
  {
   printf("请主人输入现在的新邮件:");
   scanf("%s",str);
   if(strcmp(person[i].Email,str)==0)
   {
    printf("对不起,主人,您输入的邮件与原来的邮件重复,请重新输入吧!\n");
    system("pause");
    system("cls");
    //return;
   }
   else
   {
    strcpy(person[i].Email,str);
    printf("恭喜您主人,修改邮件成功啦!!!\n");
    system("pause");
    system("cls");
    //return;
   }
   save();
   return;
  }
  if(i==num-1)
  {
   printf("主人,您要修改的联系人不存在,仔细思考一下再输入吧,亲!!!\n");
   system("pause");
   system("cls");
   //return;
  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅谈C语言Free空指针会怎样

    浅谈C语言Free空指针会怎样

    在C语言中,使用free函数释放一个空指针是安全的,不会引发任何错误或异常,本文就来详细的介绍一下,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • C语言实现手写JSON解析的方法详解

    C语言实现手写JSON解析的方法详解

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用来传输属性值或者序列性的值组成的数据对象。本文将利用C语言实现手写JSON解析,感兴趣的可以了解一下
    2022-09-09
  • C++深入讲解namespace与string关键字的使用

    C++深入讲解namespace与string关键字的使用

    namespace命名空间或者叫名字空间,传统的c++只有一个全局的namespace,namespace引入了复杂性。namespace允许像类,对象,函数聚集在一个名字下。本质上讲namespace是对全局作用域的细分
    2022-05-05
  • 详解C++动态内存管理

    详解C++动态内存管理

    这篇文章主要为大家详细介绍了C++中动态内存管理相关资料,文中示例代码讲解详细,对我们学习C++具有一定帮助,感兴趣的小伙伴快跟随小编一起学习
    2023-05-05
  • C语言库的封装和使用方法总结

    C语言库的封装和使用方法总结

    在编程的过程中,使用已经封装好的库函数是十分方便的,也是十分高效的,这篇文章主要给大家介绍了关于C语言库的封装和使用的相关资料,需要的朋友可以参考下
    2021-07-07
  • C++实现学生住宿管理系统

    C++实现学生住宿管理系统

    这篇文章主要为大家详细介绍了C++实现学生住宿管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 剖析C++编程当中指针作为函数参数的用法

    剖析C++编程当中指针作为函数参数的用法

    这篇文章主要介绍了剖析C++编程当中指针作为函数参数的用法,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • c语言获取用户输入字符串是scanf和gets的区别详解

    c语言获取用户输入字符串是scanf和gets的区别详解

    今天小编就为大家分享一篇c语言获取用户输入字符串是scanf和gets的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • codeblocks 对‘cv::waitKey(int)’未定义的引用方式

    codeblocks 对‘cv::waitKey(int)’未定义的引用方式

    今天小编就为大家分享一篇codeblocks 对‘cv::waitKey(int)’未定义的引用方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C++中mutable与volatile的深入理解

    C++中mutable与volatile的深入理解

    这篇文章主要给的阿加介绍了关于C++中mutable与volatile的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11

最新评论