⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 通讯录管理系统.cpp

📁 C语言编写的通讯录 基本上可以使用 界面美观
💻 CPP
字号:
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define N 101
 struct student
 {
   char num[20];
   char name[20];
   char phone[20];
   char youbian[20];
   char address[20];
 }st[N];
void manage();
void input();
void display();
void research();
void add();
void del();
int flag;
char password[10]="tongxunlu";
char mima[10]="000000";
FILE *fp;
//*********************************************************************************************
void main()
{ system("title  通讯录管理系统");
    char s[10];
	char s1[10];
	int m=0,k;
	int n=3;
    system("color ce");
    printf("\n\t\t\t\t通讯录密码保护系统 ");	
	printf("\n\n\t\t\t\t\t设计制作——\n\t\t\t\t\t\t   ***");
	printf(" \n\t\t\t\t\t\t  Z07040138\n");
	do
	{   printf("\n\n\n\t\t请输入用户名:");
	    scanf("%s",s);
	    printf("\n\t\t请输入密码:");
       for(k=0;k<6;k++)
		{
			s1[k]=getch();
		    if(s1[k]=='x0d')break;;
			printf("*");
		}
		s1[k]='\0';
		if((strcmp(s,password)==0)&&(strcmp(s1,mima)==0))
		{printf("\n\n\n\t\t\t密  码  验  证  通  过\n\n\t\t\t按  任  意  键  进  入");getch(); break;}
		else
		{     
			printf("\n\t\t\t密码错误!请从新输入!\n");
			n--;
			m++;
		}
	}
	while((n>0)&&(flag<4));
	if(m==3)
	{ printf("输入用户名超过了三次!!");
	  exit(0);
	}
     system("cls");
     system("color a0");
   int choicemanage;
    do
	{
      printf("\t\t\t欢迎使用通讯录系统\n");
	  printf("\t\t\t\t    *******\n");
      printf("\t\t\t\t    ***\n");
      printf("====================================================================\n");
      printf("\t\t输入总数\n");
      printf("\t\t1 输入学生信息\n");
      printf("\t\t2 显示学生信息\n");
      printf("\t\t3 查找学生信息.\n");
      printf("\t\t4 增加一个信息.\n");
      printf("\t\t5 删除一个学生信息.\n");
	  printf("\t\t0 退出.\n"); 
	  printf("====================================================================\n");
	 scanf("%d",&choicemanage);
      switch(choicemanage)
	  {
	   case 1:
         input();
         display();
         break;
       case 2:
         display();
         break;
       case 3:
         research();
         display();
         break;
       case 4:
        add();
        display();
        break;
       case 5:
        del();
        display();
        break;
	  case 0:
       display();
       printf("\n\n\t\t\t 感谢使用通讯录系统!\n");
       printf("\n\n\t\t\t 祝您天天好心情!\n");
       fp=fopen("addrbook.txt","w");
       fwrite(&st[1],sizeof(struct student),flag,fp);
	    exit(1);
     default:
		 {printf("请输入一个正确的数据.\n");
           printf("按任意键返回");
           getch();
            system("cls");
		 }
	  }
  }while(1);
}
//**********************************************************************************************
void save()
{ 
	FILE *fp1;
   if((fp1=fopen("ad.dat","w"))==NULL)
    return;
    fwrite(&flag,sizeof(int),1,fp1);
    rewind(fp1);
    fclose(fp1);

}
//**********************************************************************************************
void load()
{    FILE *fp1;
     if((fp1=fopen("ad.dat","r"))==NULL)
     return;
      fread(&flag,sizeof(int),1,fp1);
      rewind(fp1);
      flag=getw(fp1);
      fclose(fp1);
}
//**********************************************************************************************
void input()
{   system("color 9b");
   FILE *fp;
   int i;
   int b;
   printf("输入你想输入的学生数:");
   scanf("%d",&b);
  if(b>100)
  {
    printf("太大了!受不了了!\n");
    printf("按任意键返回");
    getch();
    system("cls");
    return;
  }
  flag=0;
  load();
  i=flag;
  b=b+flag;
  if((fp=fopen("addrbook.txt","ab"))==NULL)
  return;
  while(i<b)
  {
	  i++;
      printf("第 %d 学生\n",i);
      printf("\n");
      printf("学号:");
      scanf("%s",&st[i].num);
      printf("姓名:");
      scanf("%s",&st[i].name);
      printf("电话:");
      scanf("%s",&st[i].phone);
      printf("邮编:");
      scanf("%s",&st[i].youbian);
      printf("地址:");
      scanf("%s",&st[i].address);
      printf("\n");
  };
   rewind(fp);
   flag=b;
   save();
   fclose(fp);
   system("cls");
   return;
}
//**********************************************************************************************
 void display()
{   system("color d0");
    system("cls");
    FILE *fp;
    int i;
    if((fp=fopen("addrbook.txt","r"))==NULL)
    return;
    printf("---------------------------通讯录------------------------------\n");
    printf("学号\t\t姓名\t\t电话\t\t邮编\t\t地址\n");
    load();
    fread(&st[1],sizeof(struct student),flag,fp);
   for(i=1;i<flag+1;i++)
	{printf("%-17s%-17s%-17s%-17s%-17s\n",st[i].num,st[i].name,st[i].phone,st[i].youbian,st[i].address);}
    printf("按任意键返回\n");
    getch();
    fclose(fp);
    system("cls");
    return;
}
//**********************************************************************************************
 void research()
 {  system("color a3");
   FILE *fp;
   int i;
   char chname[20];
    printf("请输入你想要查找的名字:\n");
    scanf("%s",&chname);
   if((fp=fopen("addrbook.txt","r"))==NULL)
   { 
	  printf("不能打开文件\n");
	  printf("按任意键返回\n");
      getch();
      system("cls");
      return;
	}
     load();
     for(i=1;i<flag+1;i++)
	 {if (strcmp(chname,st[i].name)==0)
	   {     system("cls");
             printf("你所查询的学生信息 \n\n\n");
             printf("学号: %s\n\n姓名:  %s\n\n电话: %s\n\n邮编: %s\n\n地址: %s\n\n",st[i].num,st[i].name,st[i].phone,st[i].youbian,st[i].address);
		     break;
		}
	    if (strcmp(chname,st[i].name)!=0)
            system("cls");
		    printf("查找不到,请添加!\n");
	 }
   fclose(fp);
   printf("按任意键返回\n");
   getch();
   system("cls");
  return;
}
//**********************************************************************************************
void add()
{  system("color b4");
    FILE *fp;
  if((fp=fopen("addrbook.txt","r"))==NULL)
   {
	   printf("不能打开\n");
       getch();
       return;
   }
   load();
  flag++;
  printf("请输入一个新的学生信息:\n");
  printf("请输入学号:");
  scanf("%s",&st[flag].num);
  printf("请输入名字:");
  scanf("%s",&st[flag].name);
  printf("请输入电话:");
  scanf("%s",&st[flag].phone);
  printf("请输入邮编");
  scanf("%s",&st[flag].youbian);
  printf("请输入地址");
  scanf("%s",&st[flag].address);
  fwrite(&st[flag],sizeof(struct student),1,fp);
  rewind(fp);
  save();
  printf("输入完成\n按任意键返回\n");
  getch();
  fclose(fp);
  system("cls");
 return;
}
//**********************************************************************************************
void del()
{  system("color 80");
	int i;
    char delname[20];
      FILE *fp;
    if((fp=fopen("addrbook.txt","w"))==NULL)
	  {
	   printf("不能打开\n");
       printf("按任意键返回\n");
       getch();
       system("cls");
       return;
	  }
       load();
	   printf("\n\t\t敬告:\t请谨慎操作,防止误删!\n");
       printf("请输入你想删除的学生姓名:");
       scanf("%s",delname);
     for(i=1;i<flag+1;i++)
	 {
		 if (strcmp(delname,st[i].name)==0)
		 {
			 for(;i<flag+1;i++)
			 {
				 strcpy(st[i].num,st[i+1].num);
                 strcpy(st[i].name,st[i+1].name);
                 strcpy(st[i].phone,st[i+1].phone);
                 strcpy(st[i].youbian,st[i+1].youbian);
                 strcpy(st[i].address,st[i+1].address);
				 system("cls");
				 printf("删除成功\n");
			 }continue;
		 }
		 else 
           system("cls");
		   printf("您要删除的名字不存在\n");

	}
	 fwrite(&st[1],sizeof(struct student),flag-1,fp);
     save();
     rewind(fp);
     fclose(fp);
     printf("按任意键返回");
     getch();
     system("cls");
     return; 
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -