带密码的通讯录C语言

C语言上机实践报告设计项目:带密码的通讯录指导老师:班级号:学号:姓名:设计时间:带密码的通讯录系统内容:先验证或者修改密码,然后通过计算机对数据文件的存储和读取,实现名片的输入,输出,查找,修改,删除,分类存储等功能。最大可以管理300张名片。验证密码:验证密码正确之后才能进入主菜单,对隐私内容的保护修改密码:验证密码之后才能修改密码。修改成功后可显示修改后的密码以便记住。添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件一.密码系统作为一个通讯录,自然有个人隐私,那么就需要保护。这个密码系统有验证密码和修改密码的功能。修改密码的同时也需要先验证密码。框图如下:本部分代码如下:{loop2:printf("\n1.验证密码\n");printf("\n2.修改密码\n");charc[6];charm[6];charc0[1]={'0'};m[0]='0';m[1]='3';m[2]='1';m[3]='5';m[4]='4';m[5]='8';scanf("%c",&c0[0]);if(c0[0]=='1'){inti;loop:printf("pleaseenterthecode:");for(i=0;i<6;i++){c[i]=getch();if(c[i]>='0'||c[i]<='9'||c[i]>='a'||c[i]<='z'||c[i]>='A'||c[i]<='Z')putchar('*');}if(c[0]==m[0]&&c[1]==m[1]&&c[2]==m[2]&&c[3]==m[3]&&c[4]==m[4]&&c[5]==m[5])printf("\nwelcometotheprograme!\n");else{printf("\nthecodeiswrong!");gotoloop;}printf("\n密码正确\n");}elseif(c0[0]=='2'){inti;loop1:printf("pleaseenterthecode:");for(i=0;i<6;i++){c[i]=getch();if(c[i]>='0'||c[i]<='9'||c[i]>='a'||c[i]<='z'||c[i]>='A'||c[i]<='Z')putchar('*');}if(c[0]==m[0]&&c[1]==m[1]&&c[2]==m[2]&&c[3]==m[3]&&c[4]==m[4]&&c[5]==m[5])printf("\nwelcometotheprograme!\n");else{printf("\nthecodeiswrong!");gotoloop1;}printf("\n密码正确\n");printf("pleaseenterthenewcode:");for(i=0;i<6;i++){c[i]=getch();if(c[i]>='0'||c[i]<='9'||c[i]>='a'||c[i]<='z'||c[i]>='A'||c[i]<='Z')putchar('*');}m[0]=c[0];m[1]=c[1];m[2]=c[2];m[3]=c[3];m[4]=c[4];m[5]=c[5];printf("\n密码修改成功\n");for(i=0;i<6;i++)printf("%c\t",m[i]);}else{if(c0[0]!='1'&&c0[0]!='2')gotoloop2;else;}}二.主菜单完成最主要的功能。1.功能模块设计:(1)添加记录(2)显示通讯录(3)删除通讯录(4)查询通讯录先选择查询方式,以姓名查询为例(5)修改通讯录2.程序设计中的数据设计:软件中使用的结构体和结构体数组,如:typedefstruct{charscore[20];/*性别代码*/charname[10];/*姓名*/charnum[15];/*号码*/charemail[20];/*邮箱*/charage[8];/*年龄*/charadds[20];/*住址*/}Person;Personpe[80];对用户的信息进行保存,他们都以二进制的形式读写。其中:Charscore[20];charname[10];charnum[15];charemail[20];charage[8];charadds[20]分别对性别代码、姓名、电话号码、邮编、年龄、住址进行储存在子函数中还使用了结构体数组:structPersonpe[300];还使用了exit()、fclose()等库函数。还运用了头文件:#include"string.h"#include<stdio.h>#include<stdlib.h>其中还使用了大量的子函数,例如:intInput(Personper[],intn)voidDisplay(Personper[],intn)intDelete_a_record(Personper[],intn)voidQuery_a_record(Personper[],intn)voidChange(Personper[],intn)voidWritetoText(Personper[],intn)部分子函数的详细代码:intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf("\t请输入想删除记录中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n)i++;if(i==n){printf("\t通讯录中没有此人!\n");return(n);}for(j=i;j<n-1;j++){strcpy(per[j].num,per[j+1].num);strcpy(pe...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?