C语言课程设计
以下程序已在win-tc和tc20下运行通过,已加详细注释(本人所写)。
/ 数据安全实用程序,加密解密简单程序 /
#include<stdioh>
#include<stdlibh>
#include<conioh>
int flag;
char encrypt(char ch,int key)/加密函数,把字符循环移位/
{
if(ch>='a' && ch<='z') / 如果是小写字母 /
{
ch=(ch-'a'+key%26)%26+'a'; / 字母向后移key%26个位置,超过字母z则再从a开始向后移动 /
}
else if(ch>='A' && ch<='Z') / 如果是大写字母 /
{
ch=(ch-'A'+key%26)%26+'A'; / 字母向后移key%26个位置,超过字母Z则再从A开始向后移动 /
}
return ch;
}
char decrypt(char ch,int key)/解密函数,把字符循环移位/
{
if(ch>='a' && ch<='z') / 如果是小写字母 /
{
ch=(ch-'a'+26-key%26)%26+'a'; / 字母向后移26-key%26个位置,超过字母z则再从a开始向后移动 /
}
else if(ch>='A' && ch<='Z') / 如果是大写字母 /
{
ch=(ch-'A'+26-key%26)%26+'A'; / 字母向后移26-key%26个位置,超过字母Z则再从A开始向后移动 /
}
return ch;
}
void menu()/菜单,1加密,2解密,3显示文本文件内容/
{
clrscr();
printf("\n=======================================================");
printf("\n1Encrypt the text file"); / 加密文件 /
printf("\n2Decrypt the text file"); / 解密文件 /
printf("\n3Display text file contents");/ 显示加密或解密或未加密或解密的文件 /
printf("\n4Quit\n");
printf("=========================================================\n");
printf("Please select a item:"); / 选择一个菜单 /
}
void logo()/显示程序信息/
{
printf("\nwelcome to encrypt program \n ");
return;
}
void encrypt_decrypt_File(char infile,int key, char outfile) / 加密或解密函数 /
{
FILE in,out;
char ch;
clrscr(); / 清屏 /
if((in=fopen(infile,"r"))==NULL) / 打开欲加密或解密的文件/
{
printf("Can not open the infile!\n"); / 如果打开文件失败或文件不存在打印打开失败信息 /
printf("Press any key to exit!\n");
getch(); / 并等待任一按键然后退出程序 /
exit(0);
}
if((out=fopen(outfile,"w"))==NULL) / 打开文件保存加密或解密后的内容/
{
printf("Can not open the outfile!\n"); / 如果打开文件失败或文件不存在打印打开失败信息 /
printf("Press any key to exit!\n"); / 并等待任一按键然后退出程序 /
fclose(in); / 关闭输入文件 /
getch(); / 等待按键,按任一键退出程序 /
exit(0);
}
ch=fgetc(in); /从文本文件中读入字符/
while(ch!=EOF)/加密或解密/
{
/如果是英文字符,则进行加密或解密,否则,不进行加密或解密处理/
if((ch>='a' && ch<='z' ) || (ch>='A' && ch<='Z'))
{ if(flag==1)
fputc(encrypt(ch,key),out);
if(flag==2)
fputc(decrypt(ch,key),out);
}
else
fputc(ch,out);
ch=fgetc(in);
}
/关闭输入及输出文件/
fclose(in);
fclose(out);
}
void displayFile(char infile) /将文本文件的内容显示在屏幕上/
{
FILE fp;
char string[81];
if((fp=fopen(infile,"r"))==NULL) / 以只读方式打开文本文件 /
{
printf("cann't open file");exit(0); / 如果文件不存在或打开失败打印无法打开信息并退出程序 /
}
while(fgets(string,81,fp)!=NULL)
fputs(string,stdout); /把所取字符串送到屏幕显示/
fclose(fp); / 关闭文件 /
}
int main()
{
int i,n;
char ch0,ch1;
char infile[40],outfile[40];
textbackground(LIGHTGRAY); /设置背景颜色为浅灰色/
textcolor(BLACK); /设置文字颜色为黑色/
clrscr();/清除屏幕显示/
logo(); /显示程序信息/
sleep(2); / 延时2秒 /
menu(); /显示屏幕菜单/
ch0=getche();/等待用户从键盘输入,并把输入显示在屏幕上/
while(ch0!='4')
{
clrscr();
if(ch0=='1') /选择加密功能/
{
flag=1;
printf("\nPlease input the infile to be encrypted:"); / 输入要加密的文件名 /
scanf("%s",infile); / 该文件要和本程序放在同一个目录下 /
printf("Please input the encrypt key:");
scanf("%d",&n);/输入加密密码/
printf("Please input the outfile:"); /输入存放加密内容的文件名/
scanf("%s",outfile); / 该文件可以自动创建 /
encrypt_decrypt_File(infile,n,outfile);
printf("\nEncrypt is over!\n");/ 加密成功 /
sleep(1); / 延时1秒 /
}
else if(ch0=='2') /选择解密功能/
{
flag=2;
printf("\nPlease input the infile to be decrypted:"); / 输入要解密的文件名 /
scanf("%s",infile); / 该文件要和本程序放在同一个目录下 /
printf("Please input the decrypt key:");
scanf("%d",&n);/输入解密密码,加密和解密密码应相同/
printf("Please input the outfile:"); /输入存放解密内容的文件名/
scanf("%s",outfile); / 该文件可以自动创建 /
encrypt_decrypt_File(infile,n,outfile);
printf("\nDecrypt is over!\n");
sleep(1); / 延时1秒 /
}
else if(ch0=='3') /选择显示文本文件功能/
{
printf("\nPlease input the infile to be displayed:"); / 输入要显示的文件名 /
scanf("%s",infile);
displayFile(infile);/ 显示文件 /
getch();
}
else
{ /不合法输入/
printf("\nplease input a valid number(1-4)\n");
sleep(1); / 延时1秒 /
}
menu();/显示程序菜单/
ch0=getche(); /等待用户下一次的功能选择/
}
system("cls");/清除屏幕/
logo(); /显示程序信息/
printf("\nGood Bye!\n");
sleep(2);/ 延时2秒 /
system("pause"); / 暂停,按任一键退出程序 /
return 0;
}
专业的都用中国宗谱网云码宗谱,
智能排版,录入简单
自动排版,经典宣纸印刷
云码宗谱=云谱+网络谱+数码谱+传统谱
我们续修宗谱,要与时俱进,要运用现代科技,要体现时代特色,要不失传统文化。续云码宗谱是时代潮流。能提高家谱质量与续修效率。是行业最好,最广泛应用的软件。
1宗谱数据库存取,满足手机、网站等多平台云操作共享。
2表格填写与专业录入并存,满足不同层次的录入需求。
324种版式输出,上千种微调,根据各人喜好,自动输出各种家谱版式。
4农历,公历,帝王年号准确互换。
5软件自带多种查错功能,可以减少家谱50%以上错误。
①祖父子三代不可同名(兄弟可同名)
②生于时间,殁于时间(殁于大于生于)判定
③年龄判定(大于一百岁的列出)
④能查出子大于父母出生时间
⑤能查出有下代,没有上代世系
看你需要什么类型的家谱:
1、纸质家谱:书籍形式,正式规范,需要采集资料、编辑排版、印刷装订,过程较繁琐,成 本 较高。
2、网络家谱:通过网站或APP修谱,过程简单,甚至不用钱,操作简单或有使用说明。
家谱是记载家族人文的核心载体,写家谱要明确采用哪种格式。
比如欧阳修式、苏洵式、宝塔式、牒记式、图文对照式、横排图表式、竖排图文式、表记式、图记式等。
示例:使用 找你家谱 编修 宝塔式 家谱,形象直观,简洁易用。
手机修谱·网络寻根
http://tiebabaiducom/p/4865322667
蒲千寻家谱展示
http://tiebabaiducom/p/4865510206
——找你家谱 FindU
XMind软件设计工具中有一类图形:树状图,可以展示具有父子关系或有层次级别的图形。树状图根据方向来分,可以分为树状图(向右)和树状图(向左),下面利用树状图(向右)制作家谱图。
第一步,双击打
请下载这个版本使用,装这个程序才是带全功能的。
外加汉化下载地址
xmind 8 win 版
http://wmmakedingcom/iclk/zoneid=14073
xmind 8mac 版
http://wmmakedingcom/iclk/zoneid=14074
开XMind设计软件,新建空白图,找到树状图(向右),如下图所示:
第二步,选中“树状图(向右)”点击,弹出选择风格窗口,这里选择“绿茶”风格,如下图所示:
第三步,单击“新建”,创建一个带有绿色填充颜色的中心主题的画布,如下图所示:
第四步,在中心主题后插入三个“主题”,上面的内容显示的是分支主题,如下图所示:
第五步,修改中心主题和主题上的描述,并在主题后插入子主题,相应的修改其内容,如下图所示:
第六步,修改画布的墙纸,并修改画布的背景色,修改完毕后预览,如下图所示:
修谱王。这是一款专门为家谱编修设计的软件。
操作简单,易学易用,集成了常见的家谱格式,不用手动排版,改动也比较方便;不好之处是:需要联网,无法单机操作。
天下家谱是一款经过专业设计,简单易用,完全符合现代人习惯的 家谱制作软件。她为我们辨析亲疏,凝聚族群,优化生育提供了坚实 的基础。
用户可根据需要建立多个族 系分支。族人的资料既可以树型结构显示,也可以列表的形式的显示 。对于族人间的关系,系统也提供图标的方式显示上下五辈人的资料 。个性化的家谱制作功能为用户提供多样化的家谱列印输出格式,真 正实现“只要会打字就可以制作专业家谱”的智能排版系统。
本系统所 有资料分为不公开,族人公开和完全公开三个保密等级。完全能满足 个别族人资料保密的需要。本软件提供中文简体、繁体、英文等多国 语言界面。全部家谱资料可以生成单个WORD文件,族人通讯录等。本 软件附带姓氏来源,中文姓名分析,星座分析,称骨论命,测号码等神机 妙算功能。
打开亿图图示软件,进入其主界面;找到并选中组织结构图;
在组织结构图中找到家庭树,双击它;
在进入的页面点家谱图;
据家庭成员的情况和性别选择图形,如男性;
将它拉到编辑区;
点插入,找到矢量文本,输入对应文字;
把文字移到矩形框中;
再插入第二代成员的矩形框;
然后点添加连接线;
画好连接线后,一个家谱图就可以用这样的方法依次画好。
跟随上述图文步骤,就能学会用亿图软件如何设计家谱图。
家谱是一种特殊的文献,就其内容而言,是中国五千年文明史中具有平民特色的文献,记载的是同宗共祖血缘集团世系人物和事迹等方面情况的历史图籍。
家谱属珍贵的人文资料,对于历史学、 民俗学、 人口学、社会学和经济学的深入研究,均有其不可替代的独特功能。
C语言课程设计
本文2023-11-25 18:35:29发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/553604.html