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; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程宝库。
排序算法有两块比较重要的知识点:内存消耗 :算法的内存消耗可以通过空间复杂度来衡量,排序算法也不例外。不过,针对排序算法的空间复杂度,有一个概念是原地排序。原地排序算法是指空间复杂度是O(1)的排序算法。其中冒泡 ...