C语言课程设计通讯录系统加密进入并且可存档.docx

上传人:b****1 文档编号:14864253 上传时间:2023-06-28 格式:DOCX 页数:16 大小:131.43KB
下载 相关 举报
C语言课程设计通讯录系统加密进入并且可存档.docx_第1页
第1页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第2页
第2页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第3页
第3页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第4页
第4页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第5页
第5页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第6页
第6页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第7页
第7页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第8页
第8页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第9页
第9页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第10页
第10页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第11页
第11页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第12页
第12页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第13页
第13页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第14页
第14页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第15页
第15页 / 共16页
C语言课程设计通讯录系统加密进入并且可存档.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计通讯录系统加密进入并且可存档.docx

《C语言课程设计通讯录系统加密进入并且可存档.docx》由会员分享,可在线阅读,更多相关《C语言课程设计通讯录系统加密进入并且可存档.docx(16页珍藏版)》请在冰点文库上搜索。

C语言课程设计通讯录系统加密进入并且可存档.docx

C语言课程设计通讯录系统加密进入并且可存档

C语言课程设计_通讯录系统

设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。

(有文件存储功能)

(1)数据包括:

人名、工作单位、电话号码和E-mail地址。

(2)可对记录中的姓名和电话号码进行修改。

(3)可增加或删除记录。

(4)可显示所有保存的记录。

(5)可按人名或电话号码进行查询。

源代码(vc++6.0):

其中用到了c++的输出,如果只用c的风格,修改一点点就好

#include

#include

#include

#include

#include

#defineN80

/****************************************定义通讯录************************************/

typedefstruct

{

charnum[N];

charname[20];

chartel[15];

charadd[20];

chare_mail[15];

}STUDENT;

STUDENTstu[N];

intmenu();

intxz();

voidshuru(STUDENTstu[],intlength);

voidxianshi(STUDENTstu[],intlength);

intfind(STUDENTstu[],intn);

intshanchu(STUDENTstu[],intn);

voidchazhao(STUDENTstu[],intn);

voidxiugai(STUDENTstu[],intn);

inttuichu();

voidsave(STUDENTstu[],intn);

intlines();

 

/***************************主函数****************************************/

voidmain()

{

charmima[9]="renjiali";//设置的密码

inti=1,length,m=0;

charstr[9]={NULL};

loop:

printf("第%d次输入8位密码(超过三次将退出):

\t",i);

scanf("%s",str);

i++;

if(strcmp(mima,str))

{

cout<<"\n警告!

密码错误!

\n"<

if(i>3)

{

cout<<"自动退出"<

tuichu();

}

elsecout<<"\n请按任意键再次输入密码"<

getch();system("cls");

gotoloop;

}

cout<<"\n密码正确!

成功进入\n"<

FILE*fp;

length=lines();

getchar();

loop1:

if((fp=fopen("c:

\\filename.txt","r"))==NULL)

{printf("\n不能打开该文件!

");

exit

(1);

}

for(i=0;i

{

fscanf(fp,"%s%s%s%s%s",stu[i].num,stu[i].name,stu[i].tel,stu[i].add,stu[i].e_mail);

}

fclose(fp);

switch(menu())

{

case0:

system("cls");

shuru(stu,length);

length++;

if(xz())gotoloop1;

break;

case1:

system("cls");

xianshi(stu,length);

if(xz())gotoloop1;

break;

case2:

system("cls");

length=shanchu(stu,length);

if(xz())gotoloop1;

break;

case3:

system("cls");

chazhao(stu,length);

if(xz())gotoloop1;

break;

case4:

system("cls");

xiugai(stu,length);

if(xz())gotoloop1;

break;

case5:

system("cls");

m=tuichu();

break;

default:

break;

}

}

 

/***********************************主菜单**********************************/

intmenu()

{

intm;

printf("★**************************************************************★\n");

printf("§*******************★欢迎使用通讯录管理系统★*****************§\n");

printf("§§§§\n");

printf("§§☆0.添加通讯录§§\n");

printf("§§☆1.显示通讯信息§§\n");

printf("§§☆2.删除通讯信息§§\n");

printf("§§☆3.查询通讯信息§§\n");

printf("§§☆4.修改通讯信息§§\n");

printf("§§☆5.退出通讯录§§\n");

printf("§§§§\n");

printf("★**************************************************************★\n");

printf("*******************************88888******************************\n");

printf("\t\t\t◆请输入选项0-5\n");

printf("******************************^@_@^********************************\n");

scanf("%d",&m);

while(m<0||m>5)

{

printf("输入错误,请重新输入\n");

scanf("%d",&m);

}returnm;

}

 

/******************************添加通讯录*******************************/

 

voidshuru(STUDENTstu[],intn)

{

inti=n;

printf("输入信息>>>\n");

printf("请输入编号》");

scanf("%s",stu[i].num);

printf("\n请输入姓名》");

scanf("%s",stu[i].name);

printf("\n请输入电话》");

scanf("%s",stu[i].tel);

printf("\n请输入工作单位》");

scanf("%s",stu[i].add);

printf("\n请输入e_mail》");

scanf("%s",stu[i].e_mail);

save(stu,n+1);

}

 

/******************************显示通讯录********************************/

voidxianshi(STUDENTstu[],intlength)

{inti;

printf("编号\t姓名\t电话\t单位\t邮箱\n");

for(i=0;i

{

printf("%-10s%-10s%-10s%-10s%-10s\n",stu[i].num,stu[i].name,stu[i].tel,stu[i].add,stu[i].e_mail);

}

printf("通讯录中一共有%d个记录\n",length);

}

 

/******************************查找函数********************************/

intfind(STUDENTstu[],intn)

{

inti,c;

chars[20];

cout<<"根据姓名查找按1根据电话号码查找安0"<

cin>>c;

if(c==1)

{

printf("请输入你要找的姓名\n");

scanf("%s",s);

for(i=0;i

if(strcmp(s,stu[i].name)==0)

returni;

}

elseif(c==0)

{

printf("请输入你要找的电话\n");

scanf("%s",s);

for(i=0;i

if(strcmp(s,stu[i].tel)==0)

returni;

}

}

/*******************************删除通讯录********************************/

intshanchu(STUDENTstu[],intn)

{

inti,j,ch;

i=find(stu,n);

if(i>n-1)

{

printf("没有找到要删除的记录,是否重新输入1/0\n");

scanf("%d",&ch);

if(ch==1)

n=shanchu(stu,n);

}

else

{

printf("编号:

%s\n姓名:

%s\n电话:

%s\n地址:

%s\ne-mail:

%s\n",stu[i].num,stu[i].name,stu[i].tel,stu[i].add,stu[i].e_mail);

printf("是否确定要删除:

%d是%2d否\n",1,0);

}

scanf("%d",&ch);

if(ch==1)

{

for(j=i+1;j

{

strcpy(stu[j-1].name,stu[j].name);

strcpy(stu[j-1].tel,stu[j].tel);

strcpy(stu[j-1].add,stu[j].add);

strcpy(stu[j-1].e_mail,stu[j].e_mail);

}

n--;

printf("删除成功\n");

}

save(stu,n);

returnn;

}

 

/*******************************查找通讯录********************************/

voidchazhao(STUDENTstu[],intn)

{

inti,ch;

i=find(stu,n);

if(i>n-1)

{

printf("没有找到要查找的记录,是否重新输入1/0\n");

scanf("%d",&ch);

if(ch==1)

chazhao(stu,n);

}

else

printf("编号:

%s\n姓名:

%s\n电话:

%s\n地址:

%s\ne-mail:

%s\n",stu[i].num,stu[i].name,stu[i].tel,stu[i].add,stu[i].e_mail);

}

 

/*******************************修改通讯录********************************/

voidxiugai(STUDENTstu[],intn)

{

inti,ch;

i=find(stu,n);

if(i>n-1)

{

printf("没有找到要修改的记录,是否重新输入1/0\n");

scanf("%d",&ch);

if(ch==1)xiugai(stu,n);

}

else

{

printf("编号:

%s\n姓名:

%s\n电话:

%s\n地址:

%s\ne-mail:

%s\n",stu[i].num,stu[i].name,stu[i].tel,stu[i].add,stu[i].e_mail);

printf("是否确定要修改:

%d是%2d否\n",1,0);

}

scanf("%d",&ch);

if(ch==1)

{

printf("\n是否修改姓名:

(Y/N)\n");

if(getch()=='Y')

{

printf("\n修改姓名为:

\t");

scanf("%s",stu[i].name);

}

printf("\n是否修改电话:

(Y/N)\n");

if(getch()=='Y')

{

printf("\n修改电话为:

\t");

scanf("%s",stu[i].tel);

}

printf("修改成功\n");

}

save(stu,n);

}

 

/*******************************退出通讯录********************************/

inttuichu()

{

printf("\n******************************谢谢使用***********************************\n");

exit

(1);

}

 

/*******************************选择********************************/

intxz()

{

charch;

printf("\n###################################################################\n");

printf("\n按f键返回菜单按其他键结束\n\n");

printf("###################################################################\n");

getchar();

ch=getchar();

if(ch=='f')

{

system("cls");

return1;

}

else

exit(0);

}

//******************************保存*******************************

voidsave(STUDENTstu[],intn)

{

inti;

FILE*fp;

if((fp=fopen("c:

\\filename.txt","w+"))==NULL)

{printf("\n不能打开该文件!

");

exit

(1);

}

for(i=0;i

fprintf(fp,"%20s%20s%20s%20s%20s\n",stu[i].num,stu[i].name,stu[i].tel,stu[i].add,stu[i].e_mail);

fclose(fp);

}

 

//******************************查找记录数*******************************

intlines()

{

FILE*fp;

intline=0;

intfilesize=0;

charch=0;

if((fp=fopen("c:

\\filename.txt","r"))==NULL)

fp=fopen("c:

\\filename.txt","w");

fseek(fp,0,SEEK_END);//讲指针移到文件末尾

filesize=ftell(fp);//获得文件的总的大小

fseek(fp,0,SEEK_SET);//讲文件指针移到文件开头

//printf("wenjianyigongyou%dda",filesize);

while(filesize)

{

ch=fgetc(fp);

if(ch==0x0a)//0x0a表示换行,当每次换行时line++

{

line=line+1;

}

filesize--;//filesize为零时整个文件已经读完,判断结束

}

//printf("通讯录中一共有%d个记录\n",line);

fclose(fp);

returnline;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2