• c语言结构体、函数以及指针练习(简单通讯录)


    1. #include
    2. #include
    3. typedef struct
    4. {
    5. char name[20];
    6. long long phone;
    7. char sex[10];
    8. char dress[20];
    9. int age;
    10. }Person;
    11. Person person_arr[20]={{"熊大",10086,"男","河南",24},
    12. {"熊二",10010,"男","陕西",23},
    13. {"熊三",911,"男","湖北",25}};
    14. void add()
    15. {
    16. int i,n;
    17. printf("请输入本次需要添加几位通讯录好友:\n");
    18. scanf("%d",&n);
    19. for(i=0;i
    20. {
    21. printf("请输入要添加的好友信息,名字 电话 性别 地址 年龄\n");
    22. scanf("%s %lld %s %s %d", &person_arr[i+3].name,&person_arr[i+3].phone,\
    23. &person_arr[i+3].sex,&person_arr[i+3].dress,&person_arr[i+3].age);
    24. }
    25. }
    26. void del()
    27. {
    28. int i;
    29. char name[20];
    30. Person temp={0};
    31. printf("请输入要删除的好友名字\n");
    32. scanf("%s",name);
    33. for(i=0;i<20;i++)
    34. {
    35. if(strcmp(person_arr[i].name,name)==0)
    36. person_arr[i]=temp;
    37. }
    38. }
    39. void seek()
    40. {
    41. int i;
    42. char name[20];
    43. printf("请输入要搜索的好友名字\n");
    44. scanf("%s",name);
    45. for(i=0;i<20;i++)
    46. {
    47. if(strcmp(person_arr[i].name,name)==0)
    48. printf("%s %lld %s %s %d\n",person_arr[i].name,person_arr[i].phone,\
    49. person_arr[i].sex,person_arr[i].dress,person_arr[i].age);
    50. }
    51. }
    52. void modify()
    53. {
    54. int i;
    55. char name[20];
    56. printf("请输入要修改的好友名字\n");
    57. scanf("%s",name);
    58. for(i=0;i<20;i++)
    59. {
    60. if(strcmp(person_arr[i].name,name)==0)
    61. {
    62. printf("请输入要修改的好友信息, 名字 电话 性别 地址 年龄\n");
    63. scanf("%s %lld %s %s %d", person_arr[i].name,&person_arr[i].phone,\
    64. person_arr[i].sex,person_arr[i].dress,&person_arr[i].age);
    65. }
    66. }
    67. }
    68. void print()
    69. {
    70. int i;
    71. Person temp={0};
    72. for(i=0;i<20;i++)
    73. {
    74. if(person_arr[i].phone != 0)
    75. {
    76. printf("名字: %s 电话: %lld 性别: %s 地址: %s 年龄: %d\n",\
    77. person_arr[i].name,person_arr[i].phone,person_arr[i].sex,\
    78. person_arr[i].dress,person_arr[i].age);
    79. }
    80. }
    81. }
    82. void classfy()
    83. {
    84. Person temp;
    85. int i,j;
    86. for(i=0;i<19;i++)
    87. {
    88. for(j=0;j<19-i;j++)
    89. {
    90. //if(strcmp(person_arr[j].name,person_arr[j+1].name)==1)
    91. if(person_arr[j].age>person_arr[j+1].age)
    92. {
    93. temp=person_arr[j];
    94. person_arr[j]=person_arr[j+1];
    95. person_arr[j+1]=temp;
    96. }
    97. }
    98. }
    99. }
    100. int main()
    101. {
    102. int n=100;
    103. while(n != 0)
    104. {
    105. printf("本通讯录名单信息如下:\n");
    106. print();
    107. printf("功能如下:\n");
    108. printf("1、增加好友 2、删除好友\n");
    109. printf("3、搜索好友 4、修改好友\n");
    110. printf("5、打印好友 6、通讯录排序\n");
    111. printf("0、退出\n");
    112. scanf("%d", &n);
    113. switch(n)
    114. {
    115. case 1:
    116. add();
    117. break;
    118. case 2:
    119. del();
    120. break;
    121. case 3:
    122. seek();
    123. break;
    124. case 4:
    125. modify();
    126. break;
    127. case 5:
    128. print();
    129. break;
    130. case 6:
    131. classfy();
    132. break;
    133. default :
    134. break;
    135. }
    136. }
    137. return 0;
    138. }

    运行结果: 

  • 相关阅读:
    innodb引擎,myisam引擎,memory引擎区别【最新版】
    机器学习算法——聚类3(k均值算法)
    HTTP协议,请求响应
    ABB机器人数组码垛精解
    Vue框架学习笔记——v-bind数据单向绑定和v-model数据双向绑定
    Spring常见问题解决 - 同一个类型的单例Bean找到了两个?
    Java 垃圾收集器
    Windows 下安装和配置 Redis (详细图文)
    分布式缓冲-插槽与集群伸缩
    MES系统中生产计划模块的重要作用
  • 原文地址:https://blog.csdn.net/weixin_46094737/article/details/126240471