初学者练习写程序。使用摩斯密码练习。
遇到瓶颈了,我用一个数组保存 加密后的 密码。
但是怎么设置每个 密码 对应的 明码 我没有思路。
下面是我写的那么一点,没什么用,不过也贴上来吧。
怎么让计算机把密码翻译成明码呢?
密码对应表怎么建立?
怎么让计算机根据对应表一一翻译?
请指教啊?
谢谢!
#include <stdio.h>
Ddi(int * di)
{
di = (char *)malloc(sizeof(int));
di = 45; //定义滴.
return di;
}
Dda(int * da)
{
da = (char *)malloc(sizeof(int));
da = 42; //定义答.
return da;
}
a()
{
char * a;
a = (char*)malloc(2 * sizeof(char));
a[0] = '*';
a[1] = '-';
}
b()
{
char * b;
b = (char*)malloc(4 * sizeof(char));
b[0] = '-';
b[1] = '*';
b[2] = '*';
b[3] = '*';
}
c()
{
char * c;
c = (char*)malloc(4 * sizeof(char));
c[0] = '-';
c[1] = '*';
c[2] = '-';
c[3] = '*';
}
d()
{
char * d;
d = (char*)malloc(3 * sizeof(char));
d[0] = '-';
d[1] = '*';
d[2] = '*';
}
Ptable() //函数作用:保存密码表,并存放在 password table 动态数组中.未完成
{
char * password;
password = (char*)malloc(3000); //定义一个动态数组储存密码表.
return;
}
shuru() //函数作用:输入需要翻译的密码,并保存在 password 动态数组中.
{
int control,ceshi,number;
char * password;
password = (char*)malloc(30000); //定义一个数组接受密码。
control = 0;
scanf("%s",&password[control]);
number = strlen(password); //计算一共向数组输入了几个字符.
for(ceshi=0;ceshi<number;ceshi++) //输入多少个字符,就输出多少次.
{
printf("%c",password[control]); //由control控制数组连续输出
control++;
}
return password;
}
main ()
{
char * di;char * da;
char * password;
di = Ddi(&di);
da = Dda(&da);
Ptable(); //此函数未完成
password = shuru();
printf("%c%c",di,da);
}