找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5035|回复: 0
打印 上一主题 下一主题
收起左侧

C语言手机通讯录管理系统源程序

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. void firstwindow();
  5. void xinxichaxun();
  6. void xinxixianshi();
  7. void shaixuan(int a);
  8. void zengjiarenyuan();
  9. void xinxichaxun1(int a);
  10. void xiugaixinxi();
  11. void xianshi();
  12. struct people
  13. {
  14.     char name[20];
  15.     char haoma[20];
  16.     char fenlei[20];
  17. };
  18. void shuru(struct people men[],int j);
  19. void shanchu1(struct people men[],int j);
  20. void shanchu();
  21. int main()
  22. {
  23.    printf("\t|----------------------------------------------------------------------|\n");
  24.    printf("\t|-------------------欢迎进入手机通讯录管理系统-------------------------|\n");
  25.    printf("\n");
  26.    printf("\t|     *****   ******         *****   ******          *****   ******    |\n");
  27.    printf("\t| **        **       **   **        **       **  **        **       ** |\n");
  28.    printf("\t| **        **       **   **        **       **  **        **       ** |\n");
  29.    printf("\t|   **     YANG    **       **      ZI    **      **       WEI     **   |\n");
  30.    printf("\t|      **       **             **       **            **       **      |\n");
  31.    printf("\t|           **                      **                      **         |\n");
  32.    _sleep(300);
  33.    system("cls");
  34.    firstwindow();
  35. }
  36. void firstwindow()
  37. {
  38.     printf("\t|------------------------------------------------------------|\n");
  39.     printf("\t|---------------------------MENU-----------------------------|\n");
  40.     printf("\n");
  41.     printf("\t|-----------------请输入你想要进行的操作编号-----------------|\n");
  42.     printf("\n");
  43.     printf("\t                  1.信息显示\n");
  44.     printf("\n");
  45.     printf("\t                  2.信息查询\n");
  46.     printf("\n");
  47.     printf("\t                  3.增加人员\n");
  48.     printf("\n");
  49.     printf("\t                  4.修改信息\n");
  50.     printf("\n");
  51.     printf("\t                  5.删除信息\n");
  52.     printf("\n");
  53.     printf("\t                  6.显示所有信息\n");
  54.     printf("\n");
  55.     printf("\t                  7.关闭\n");
  56.     int a;

  57.     scanf("%d",&a);
  58.     switch(a)
  59.     {
  60.         case 1:xinxixianshi();break;
  61.         case 2:xinxichaxun();break;
  62.         case 3:zengjiarenyuan();break;
  63.         case 4:xiugaixinxi();break;
  64.         case 5:shanchu();break;
  65.         case 6:xianshi();break;
  66.         case 7:break;
  67.     }



  68. }
  69. void xinxixianshi()
  70. {
  71.     system("cls");
  72.     printf("\t|------------------------------------------------------------|\n");
  73.     printf("\n");
  74.     printf("\t|-----------------请选择以下三种类别的信息-------------------|\n");
  75.     printf("\n");
  76.     printf("\t                      1.师兄\n");
  77.     printf("\n");
  78.     printf("\t                      2.朋友\n");
  79.     printf("\n");
  80.     printf("\t                      3.亲属\n");
  81.     int b;
  82.     scanf("%d",&b);
  83.     switch (b)
  84.     {
  85.         case 1:shaixuan(1);break;
  86.         case 2:shaixuan(2);break;
  87.         case 3:shaixuan(3);break;
  88.     }



  89. }
  90. void shaixuan(int a)
  91. {
  92.     struct people men[20];
  93.     FILE *fp;
  94.     fp=fopen("f1.txt","a+");
  95.     int i=0,j=0;
  96.     while(!feof(fp))
  97.     {
  98.         fscanf(fp,"%s %s %s",men[i].name,men[i].haoma,men[i].fenlei);
  99.         i++;
  100.         j++;
  101.     }
  102.     if(a==1)
  103.     {
  104.         for(i=0;i<j;i++)
  105.         {
  106.             if(strcmp(men[i].fenlei,"师兄")==0)
  107.                 printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  108.         }

  109.     }
  110.       if(a==2)
  111.     {
  112.         for(i=0;i<j;i++)
  113.         {
  114.             if(strcmp(men[i].fenlei,"朋友")==0)
  115.                 printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  116.         }

  117.     }
  118.       if(a==3)
  119.     {
  120.         for(i=0;i<j;i++)
  121.         {
  122.             if(strcmp(men[i].fenlei,"亲属")==0)
  123.                 printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  124.         }

  125.     }
  126.     printf("输入1继续,0结束程序\n");
  127.     int c;
  128.     scanf("%d",&c);
  129.     if(c==1)
  130.     {
  131.       system("cls");
  132.        firstwindow();
  133.     }

  134.     else if(c==0)
  135.         return 0;
  136. }
  137. void xinxichaxun()
  138. {
  139.     system("cls");
  140.     printf("\t|------------------------------------------------------------|\n");
  141.     printf("\n");
  142.     printf("\t                   1.按姓名查询                               \n");
  143.     printf("\n");
  144.     printf("\t                   2.按号码查询                               \n");
  145.     printf("\n");
  146.     printf("\t|------------------------------------------------------------|\n");
  147.     int a;
  148.     scanf("%d",&a);
  149.     switch(a)
  150.     {
  151.         case 1:xinxichaxun1(1);break;
  152.         case 2:xinxichaxun1(2);break;
  153.     }
  154. }
  155. void xinxichaxun1(int a)
  156. {

  157.       struct people men[20];
  158.       char chaxun[20];
  159.     FILE *fp;
  160.     fp=fopen("f1.txt","a+");
  161.     int i=0,j=0;
  162.     while(!feof(fp))
  163.     {
  164.         fscanf(fp,"%s %s %s",men[i].name,men[i].haoma,men[i].fenlei);
  165.         i++;
  166.         j++;
  167.     }
  168.     if(a==1)
  169.     {
  170.         printf("请输入姓名\n");
  171.         scanf("%s",chaxun);
  172.           for(i=0;i<j;i++)
  173.         {
  174.             if(strcmp(men[i].name,chaxun)==0)
  175.                 printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  176.         }
  177.     }
  178.     if(a==2)
  179.     {
  180.          printf("请输入号码\n");
  181.         scanf("%s",chaxun);
  182.           for(i=0;i<j;i++)
  183.         {
  184.             if(strcmp(men[i].haoma,chaxun)==0)
  185.                 printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  186.         }
  187.     }
  188.     printf("输入1继续,0结束程序\n");
  189.     int c;
  190.     scanf("%d",&c);
  191.     if(c==1)
  192.     {
  193.       system("cls");
  194.        firstwindow();
  195.     }

  196.     else if(c==0)
  197.         return 0;

  198. }
  199. void zengjiarenyuan()
  200. {
  201.     char name[20],haoma[20],fenlei[20];
  202.     printf("请输入你想要增加的信息,名字,号码,关系,用空格隔开\n");
  203.     scanf("%s %s %s",name,haoma,fenlei);
  204.      struct people men[50];
  205.     FILE *fp;
  206.     fp=fopen("f1.txt","a+");
  207.     int i=0,j=0,k=0;
  208.     while(!feof(fp))
  209.     {
  210.         fscanf(fp,"%s%s%s",men[i].name,men[i].haoma,men[i].fenlei);
  211.         i++;
  212.         j++;
  213.     }

  214.     for(i=0;i<j;i++)
  215.     {
  216.         if(strcmp(men[i].name,name)==0)
  217.         {
  218.                printf("名字已有请重新输入\n");
  219.                k=1;
  220.                break;

  221.         }
  222.         if(strcmp(men[i].haoma,haoma)==0)
  223.         {
  224.             printf("号码已有请重新输入\n");
  225.             k=1;
  226.              break;
  227.         }

  228.     }
  229.     if(k==0)
  230.     fprintf(fp,"%s %s %s\n",name,haoma,fenlei);
  231.     fclose(fp);
  232.     if(k==0)
  233.     printf("OK!");
  234.     _sleep(1000);
  235.     system("cls");
  236.     firstwindow();


  237. }
  238. void xiugaixinxi()
  239. {
  240.     struct people men[20];
  241.     FILE *fp;
  242.     fp=fopen("f1.txt","r");
  243.     int i=0,j=0;
  244.     while(!feof(fp))
  245.     {
  246.         fscanf(fp,"%s %s %s",men[i].name,men[i].haoma,men[i].fenlei);
  247.         i++;
  248.         j++;
  249.     }
  250.        for(i=0;i<j;i++)
  251.     {
  252.         printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  253.     }
  254.     char name[20],haoma[20],fenlei[20];
  255.     printf("请输入你想修改信息人的名字\n");
  256.     scanf("%s",name);
  257.     printf("输入1修改号码,输入2修改类别\n");
  258.     int d;

  259.     scanf("%d",&d);

  260.     if(d==1)
  261.     {
  262.         printf("输入号码\n");

  263.         scanf("%s",haoma);
  264.     for(i=0;i<j;i++)
  265.      {
  266.         if(strcmp(men[i].name,name)==0)
  267.         {
  268.                strcpy(men[i].haoma,haoma);
  269.         }
  270.     }
  271.     }
  272.     if(d==2)
  273.     {
  274.      printf("输入类别\n");
  275.      scanf("%s",fenlei);
  276.     for(i=0;i<j;i++)
  277.     {
  278.         if(strcmp(men[i].name,name)==0)
  279.         {
  280.             strcpy(men[i].fenlei,fenlei);
  281.         }
  282.     }
  283.     }
  284.     for(i=0;i<j;i++)
  285.     {
  286.         printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  287.     }

  288.     fclose(fp);
  289.     shuru(men,j);
  290.     printf("OK!");
  291.     _sleep(1000);
  292.     system("cls");
  293.     firstwindow();



  294. }
  295. void shuru(struct people men[],int j)
  296. {
  297.     FILE *fp;
  298.     fp=fopen("f1.txt","w");
  299.     int i;
  300.      for(i=0;i<j;i++)
  301.     {
  302.         fprintf(fp,"%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  303.     }
  304.     fclose(fp);


  305. }
  306. void shanchu()
  307. {
  308.      struct people men[20];
  309.     FILE *fp;
  310.     fp=fopen("f1.txt","r");
  311.     int i=0,j=0,k;
  312.     while(!feof(fp))
  313.     {
  314.         fscanf(fp,"%s %s %s",men[i].name,men[i].haoma,men[i].fenlei);
  315.         i++;
  316.         j++;
  317.     }
  318.        for(i=0;i<j-1;i++)
  319.     {
  320.         printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  321.     }
  322.     printf("请输入你想删除人的名字\n");
  323.     char name[20];
  324.     scanf("%s",name);
  325.     for(i=0;i<j;i++)
  326.     {
  327.         if(strcmp(men[i].name,name)==0)
  328.         {
  329.             for(k=i+1;k<j;k++)
  330.             {

  331.                 men[k-1]=men[k];
  332.             }
  333.             break;
  334.         }
  335.     }

  336.      fclose(fp);
  337.     shanchu1(men,j);
  338.     printf("OK!");
  339.     _sleep(1000);
  340.     system("cls");
  341.     firstwindow();

  342. }
  343. void shanchu1(struct people men[],int j)
  344. {
  345.      FILE *fp;
  346.     fp=fopen("f1.txt","w");
  347.     int i;
  348.      for(i=0;i<j-1;i++)
  349.     {
  350.         fprintf(fp,"%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  351.     }
  352.     fclose(fp);
  353. }
  354. void xianshi()
  355. {
  356.      struct people men[20],man;
  357.     FILE *fp;
  358.     fp=fopen("f1.txt","r");
  359.     int i=0,j=0,k;
  360.     while(!feof(fp))
  361.     {
  362.         fscanf(fp,"%s %s %s",men[i].name,men[i].haoma,men[i].fenlei);
  363.         i++;
  364.         j++;
  365.     }
  366.        for(i=0;i<j-1;i++)
  367.     {
  368.         for(k=i+1;k<j-1;k++)
  369.         {
  370.             if(strcmp(men[i].name,men[k].name)>0)
  371.             {
  372.                 man=men[i];
  373.                 men[i]=men[k];
  374.                 men[k]=man;
  375.             }
  376.         }

  377.     }
  378.     for(i=0;i<j-1;i++)
  379.     {
  380.         printf("%s %s %s\n",men[i].name,men[i].haoma,men[i].fenlei);
  381.     }

  382.      printf("输入1继续,0结束程序\n");
  383.     int c;
  384.     scanf("%d",&c);
  385.     if(c==1)
  386.     {
  387.       system("cls");
  388.        firstwindow();
  389.     }

  390.     else if(c==0)
  391.         return 0;
  392. }
复制代码

所有资料51hei提供下载:
手机通讯录管理系统.rar (19.62 KB, 下载次数: 9)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表