first commit

master
p60783491 6 years ago
commit 4be8126504

@ -0,0 +1,25 @@
李又立 山东省 13598637452 15974376007 1149687745@qq.com
韩勇 广西省 15119876357 13875696008 2352147968@qq.com
王中 湖北省 15274638596 14785236958 968574135@qq.com
钱星 山西省 16452489635 11856325495 875412052@qq.com
夏天 安徽省 13598635214 16985742366 698541278@qq.com
刘振 河南省 13896357425 15803695742 365874669@qq.com
马文 山东省 13654785965 13965874125 432658896@qq.com
孙斌 甘肃省 15424789635 15874369524 986523147@qq.com
李天 河南省 13985745215 15963255587 1169857421@qq.com
赵和 江苏省 13874569325 15478963359 1965874325@qq.com
杜康 贵州省 13698547258 15124785693 2547962569@qq.com
谭家祥 湖南省 13562478965 14765985985 3658741223@qq.com
林智 福建省 15897542136 13985745213 569874662@qq.com
左华 湖南省 13985475223 16584752139 2654789625@qq.com
邓鹏 甘肃省 13952487694 18715479654 2416985475@qq.com
陶龙 广东省 13589653214 13695745825 2369548554@qq.com
何维 上海市 18756395248 19658742368 1479856325@qq.com
陈玉 重庆市 13875423698 15836985745 1756896524@qq.com
朱明 云南省 18574569852 14698521478 1478569529@qq.com
周强 吉林省 18745695221 13652478965 968521475@qq.com
姚宇 河北省 19714625845 16574998556 874562116@qq.com
柳云烟 陕西省 15807372448 13574764112 1171987546@qq.com
彭炎 辽宁省 18545213696 16321457895 2352319609@qq.com
赵乐乐 湖北省 15966639998 5555555555 11558962@qq.com

@ -0,0 +1,221 @@
#include<stdio.h>
#include<stdlib.h>
#include<string.h>//标准库函数
struct stu{//定义数据结构
char n[15];//姓名
char d[15];//籍贯
char y[15],g[15];//电话号码1和电话号码2
char e[20]; //邮箱
};
struct stu s[100];//定义结构体数组,方便下面的输入与输出
FILE *fp;//定义文件指针变量
int N;//定义整型变量选择功能
void luru();//录入信息功能
void xiuzheng();//为用户输出联系人的所以信息,用户决定是否真的需要修改
void xiugai();//修改信息功能
void shuchu();//浏览信息功能
void baocun(int t);//保存信息功能
void chazhao();//查找信息功能
void wel();//菜单界面
void main()
{
do{ system("cls");//清屏
wel();
scanf("%d",&N);
if(N==0)
break;
switch(N)
{
case 1:luru(); break;
case 2:shuchu(); break;
case 3:chazhao(); break;
case 4:xiuzheng(); break;
default:printf("输入错误!\n");
}
}while(1);//do-while实现程序的反复操作
}
void wel()
{
printf(" ");
printf(" 欢迎使用通讯录管理系统\n\n\n");
printf(" ");
printf(" *录入信息请按1\n\n");
printf(" ");
printf(" *浏览信息请按2\n\n");
printf(" ");
printf(" *查询信息请按3\n\n");
printf(" ");
printf(" *修改信息请按4\n\n");
printf(" ");
printf(" *程序终止请按0\n\n");
}
void luru()//实现录入信息功能
{
int i=0,v,t;//i为结构体数组的初始地址v为判断循环是否继续的条件t作为参数传给保存函数保存
do{ system("cls");//清屏
fflush(stdin);//清除内存缓冲区
printf("请输入第%d个联系人的名字\n",i+1);
gets(s[i].n);
fflush(stdin);
printf("请输入第%d个联系人的籍贯\n",i+1);
gets(s[i].d);
fflush(stdin);
printf("请输入第%d个联系人的电话号码1\n",i+1);
scanf("%s",&s[i].y);
fflush(stdin);
printf("请输入第%d个联系人的电话号码2\n",i+1);
scanf("%s",&s[i].g);
fflush(stdin);
printf("请输入第%d个联系人的邮箱\n",i+1);
gets(s[i].e);
fflush(stdin);
i=i+1;//为下一个循环准备
t=i;
system("cls");//清屏
printf("继续输入请按1,停止输入请按0\n");
scanf("%d",&v);
}while(v==1);
baocun(t);
printf("录入完毕\n");
system("pause");//暂停程序的执行
}
void shuchu()//信息浏览功能
{
int i,n;//i为结构体数组的地址变量
system("cls");
printf("姓名\t籍贯\t电话号码1\t\t电话号码2\t\t邮箱\n");
if((fp=fopen("通讯录.txt","r"))==NULL)//打开文件
{
printf("File open error!\n");
exit(0);
}
for(i=0;feof(fp)==0;i++)
{
fscanf(fp,"%s%s%s%s%s",s[i].n,s[i].d,&s[i].y,&s[i].g,s[i].e);//读完文件
}
fclose(fp);//关闭文件
for(n=0;n<=i;n++)
printf("%s\t%s\t%s\t\t%s\t\t%s\n",s[n].n,s[n].d,s[n].y,s[n].g,s[n].e);//输出文件里面的内容
system("pause");
}
void xiugai(int n)//修改内容
{ int b,k;//b为选择功能修改对应信息定义的变量k为判断修改是否继续定义的变量
do{
system("cls");
printf("请选择你要修改的内容\n");
printf("1:姓名 2:地址 3:电话号码1 4:电话号码2 5.邮箱\n");
scanf("%d",&b);
switch(b)
{
case 1: printf("输入你要修改的内容\n");scanf("%s",s[n].n); break;
case 2: printf("输入你要修改的内容\n");scanf("%s",s[n].d); break;
case 3: printf("输入你要修改的内容\n");scanf("%s",s[n].y); break;
case 4: printf("输入你要修改的内容\n");scanf("%s",s[n].g); break;
case 5: printf("输入你要修改的内容\n");scanf("%s",s[n].e); break;
default:printf("输入错误!\n");
}
printf("修改成功\n");
printf("继续修改请按1 退出修改请按0\n");
scanf("%d",&k);
if(k==0)
break;
}while(1);//对多项内容进行修改
}
void xiuzheng()//找到输入的联系人的地址进行修改
{ int i,n=0,k=0,t;
char c[20];
printf("请输入你需要修改信息的联系人的姓名\n");
scanf("%s",c);
if((fp=fopen("通讯录.txt","r+"))==NULL)//对文件进行读和写
{
printf("File open error!\n");
exit(0);
}
for(i=0;feof(fp)==0;i++)
{
fscanf(fp,"%s %s %s %s %s\n",s[i].n,s[i].d,s[i].y,s[i].g,s[i].e);
if(strcmp(c,s[i].n)==0)
{
n=i;
k++;
}
}
if(k==i)
{
printf("无该联系人\n");
}
printf("请确认联系人\n");
printf("姓名\t地址\t电话号码1\t电话号码2\t\t邮箱\n");
printf("%s\t%s\t%s\t%s\t\t%s\n",s[n].n,s[n].d,s[n].y,s[n].g,s[n].e);//输出用户所需联系人的所有信息
printf("确认修改请按1 退出修改请按2\n");
scanf("%d",&t);
if(t==1)
xiugai(n);
if(fclose(fp))//不修改信息退出
{
printf("关闭失败\n");
exit(0);
}
if((fp=fopen("通讯录.txt","w"))==NULL)
{
printf("File open error!\n");
exit(0);
}
for(n=0;n<i;n++)
fprintf(fp,"%s %s %s %s %s\n",s[n].n,s[n].d,s[n].y,s[n].g,s[n].e);
if(fclose(fp))
{
printf("关闭失败\n");
exit(0);
}
system("pause");
}
void chazhao()//信息查找功能
{
int i,n=0;//n为信息错误时的条件参数
char name[20];//定义字符数组输入信息
system("cls");
printf("请输入你需要查找的人的姓名、电话或邮箱\n");
scanf("%s",name);
if((fp=fopen("通讯录.txt","r"))==NULL)//读文件
{
printf("File open error!\n");
exit(0);
}
for(i=0;feof(fp)==0;i++)
{
fscanf(fp,"%s%s%s%s%s",s[i].n,s[i].d,s[i].y,s[i].g,s[i].e);
if(strcmp(name,s[i].n)==0||strcmp(name,s[i].e)==0||strcmp(name,s[i].y)==0||strcmp(name,s[i].g)==0)//判断输入的信息是否正确
{
printf("姓名 \t籍贯\t电话号码1\t\t电话号码2\t\t邮箱\n");
printf("%s\t%s\t%s\t\t%s\t\t%s\n",s[i].n,s[i].d,s[i].y,s[i].g,s[i].e);
}
else
n++;//信息错误
}
if(i==n)
printf("无该联系人,请输入正确的信息\n");
if(fclose(fp))
{
printf("关闭失败\n");
exit(0);
}
system("pause");
}
void baocun(int t)//保存信息功能
{
int i;
if((fp=fopen("通讯录.txt","a"))==NULL)
{ printf("error\n");
exit(0);
}
for(i=0;i<t;i++)
{
fprintf(fp,"%s %s %s %s %s\n",s[i].n,s[i].d,s[i].y,s[i].g,s[i].e);
}
if(fclose(fp))
{
printf("关闭失败\n");
exit(0);
}
}
Loading…
Cancel
Save