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)的排序算法。其中冒泡 ...