1.进入博客的缘由
最开始,很期待自己也可以像那些知识领域的博主一般,大放异彩;另外,也享受自己用心分享的知识可以帮助别人,我觉得帮助别人解决问题是一件很开心的事情,可以让自己身心愉悦。
到后面,我发现每一次完成博客都需要对知识再次温习,总结出来成为文章需要把知识转换成自己的语言,一系列的操作使得自己对知识的掌握更加的牢固。
1.在此之间,我也收获了很多的点赞,也很感谢佬们对我作品的认可。完成作品不仅是一次提升,在收到点赞的同时,更是对自己的认可,动力便源源不断的到来。
2.在写博客的这些天来,也认识了许许多多不同领域的大佬。与他们的交流,认识到了更多的不足,与博客方面的知识和见解,可以弥补自己在一些方面的不足。
1.其实需要每天都抽出一些时间来撰写博客,渐渐也成为我日常生活中的一些乐趣,成为了一种习惯,可以说是不写不行。
2.在时间很紧凑的情况下,写博客可能会推迟一些,有些时候会把大致的框架写出来,先给自己一个思路。
1.完成的通讯录代码,实现的各种功能。
#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #define NAME_MAX 20 #define SEX_MAX 6 #define TELE_MAX 20 #define ADDR_MAX 20 #define MAX 100 typedef struct PeoInfo { char name[NAME_MAX];//姓名 char sex[SEX_MAX];//性别 int age;//年龄 char tele[TELE_MAX];//电话 char addr[ADDR_MAX];//地址 }PeoInfo; typedef struct contact { PeoInfo data[MAX];//通讯录 int sz;//记录通讯录的个数 }contact; //函数的声明 //初始化 void InitContact(contact* pc); //添加用户信息 void AddContact(contact* pc); //打印通讯录 void ShowContact(contact* pc); //删除联系人 void DelContact(contact* pc); //查找某个联系人 void SearchContact(contact* pc); //修改联系人 void ModifyContact(contact* pc); //联系人排序 void SortContact(contact* pc); //函数功能的实现 void InitContact(contact* pc) { assert(pc); memset(pc->data,0,sizeof(pc->data)); pc->sz = 0; } void ShowContact(contact* pc) { assert(pc); if (pc->sz == 0) { printf("通讯录为空\n"); return; } printf("%-10s %-5s %-10s %-15s %-10s\n","名字","性别","年龄","电话","住址"); int i = 0; for (i=0;isz;i++) { printf("%-10s %-5s %-10d %-15s %-10s\n", pc->data[i].name, pc->data[i].sex, pc->data[i].age, pc->data[i].tele, pc->data[i].addr); } printf("\n"); } void AddContact(contact* pc) { assert(pc); int adds; back: if (pc->sz == MAX) { printf("通讯录已满,存入信息失败\n"); return; } printf("请输入姓名>:"); scanf("%s", pc->data[pc->sz].name); printf("请输入性别>:"); scanf("%s", pc->data[pc->sz].sex); printf("请输入年龄>:"); scanf("%d", &(pc->data[pc->sz].age)); printf("请输入电话>:"); scanf("%s", pc->data[pc->sz].tele); printf("请输入住址>:"); scanf("%s", pc->data[pc->sz].addr); pc->sz++; printf("信息添加成功\n"); printf("是否继续添加联系人信息1/0:"); scanf("%d",&adds); if (adds == 1) goto back; else { return; } } //查看某个联系人是否存在 static int FindContact(contact* pc,char name[]) { assert(pc); int i = 0; for (i=0;isz;i++) { if (strcmp(name, pc->data[i].name) == 0) return i; } return -1; } //删除联系人 void DelContact(contact* pc) { assert(pc); if (pc->sz == 0) { printf("通讯录为空,删除失败\n"); return; } printf("请输入你要删除的联系人:"); char name[NAME_MAX]; scanf("%s",name); int ret = FindContact(pc,name); if (ret == -1) { printf("联系人不存在,删除失败\n"); return; } int i = 0; for (i=ret;isz-1;i++) { pc->data[i] = pc->data[i + 1]; } pc->sz--; printf("删除联系人成功\n"); } //查找联系人 void SearchContact(contact* pc) { assert(pc); printf("请输入你要查找联系人的名字:"); char name[NAME_MAX]; scanf("%s", name); int ret = FindContact(pc, name); if (ret == -1) { printf("联系人不存在,查找失败\n"); return; } printf("查找成功:\n"); printf("%-10s %-5s %-10s %-15s %-10s\n", "名字", "性别", "年龄", "电话", "住址"); printf("%-10s %-5s %-10d %-15s %-10s\n", pc->data[ret].name, pc->data[ret].sex, pc->data[ret].age, pc->data[ret].tele, pc->data[ret].addr); } //修改联系人 void ModifyContact(contact* pc) { assert(pc); printf("请输入你要查找联系人的名字:"); char name[NAME_MAX]; scanf("%s", name); int ret = FindContact(pc, name); if (ret == -1) { printf("联系人不存在,修改失败\n"); return; } printf("联系人存在:"); printf("%-10s %-5s %-10d %-15s %-10s\n", pc->data[ret].name, pc->data[ret].sex, pc->data[ret].age, pc->data[ret].tele, pc->data[ret].addr); printf("请修改姓名>:"); scanf("%s", pc->data[ret].name); printf("请修改性别>:"); scanf("%s", pc->data[ret].sex); printf("请修改年龄>:"); scanf("%d", &(pc->data[ret].age)); printf("请修改电话>:"); scanf("%s", pc->data[ret].tele); printf("请修改住址>:"); scanf("%s", pc->data[ret].addr); printf("\n修改成功"); } //分类菜单 void menu2() { printf("*************************\n"); printf("**** 1.名字 2.年龄 ****\n"); printf("*************************\n"); } //名字排序 int qsort_cmp_name(const void* e1,const void* e2) { return strcmp((((contact*)e1)->data)->name, (((contact*)e2)->data)->name); } //年龄排序 int qsort_cmp_age(const void* e1,const void* e2) { return (((contact*)e1)->data)->age - (((contact*)e2)->data)->age; } //联系人排序 void SortContact(contact* pc) { int input2; menu2(); printf("请选择排序方式:"); scanf("%d",&input2); switch (input2) { case 1:qsort(pc->data, pc->sz, sizeof(pc->data[0]), qsort_cmp_name);break; case 2:qsort(pc->data, pc->sz, sizeof(pc->data[0]), qsort_cmp_age);break; defualt:printf("选择错误\n"); break; } } //主函数及菜单 void menu() { printf("********************************\n"); printf("**** 1. add 2. del ****\n"); printf("**** 3. search 4. modify ****\n"); printf("**** 5. show 6. sort ****\n"); printf("**** 0. exit ****\n"); printf("********************************\n"); } enum Option { EXIT,//退出 ADD,//增加 DEL,//删除联系人 SEARCH,//查找联系人 MODIFY,//修改指定联系人 SHOW,//打印联系人 SORT,//分类 }; int main() { contact con; InitContact(&con); int input; do { menu(); printf("请输入你的选择>:"); scanf("%d",&input); switch (input) { case ADD:AddContact(&con); break; case DEL:DelContact(&con); break; case SEARCH:SearchContact(&con); break; case MODIFY:ModifyContact(&con); break; case SHOW:ShowContact(&con); break; case SORT:SortContact(&con); break; case EXIT:printf("你已选择退出程序\n"); break; default:printf("选择错误,请重新选择\n"); break; } } while (input); return 0; }
1.也希望自己以后在博客的发展也来越好,撰写的文章更上一层楼。
2.成为某个领域的大佬博主