📄 通讯录管理系统.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 + -