Skip navigation.

kongove-静听花开

Posts tagged with "programme"

从字符串中删除指定字符

代码编译不成功: kong@kong-desktop:~/Desktop$ gcc -Wall -o kong KONG.C /tmp/cc8kAMgx.o:(.eh_frame+0x11):对‘__gxx_personality_v0’未定义的引用 collect2: ld returned 1 exit status
#include<stdio.h>

#define MAX 20

struct chs{

    char ch[MAX];

    int len;

};



void shan(char ch,struct chs *s){

     int i=0,j=0,length=s->len;

     for(;i<s->len;i++){

 if(s->ch==ch){

            length--;

            j++;

         }

 else s->ch[i-j]=s->ch;

     }

     s->ch[length]='\0';s->len=length;

}

void length(struct chs *s)

{
     int i=0;

     s->len=0;

     while(s->ch!='\0')

     i++;

     s->len=i;

}



int main()

{
     struct chs st;

     char ch;

     int i=0;

     printf("input a string\n");

     scanf("%s",st.ch);/*getchar();*/

     while(i<=10)

     {
         printf("please int\n");

         fflush(stdin);

         getchar();

         i++;

     }

     fflush(stdin);

     printf("input a char\n");

     scanf("%c",&ch);

     length(&st);

     shan(ch,&st);

     printf("string is %s",st.ch);
     return 0;

}

加密OR解密

利用密钥对明文加密或对密文解密 在记事本里代码格式一放到这里就乱了,而且我也加了那个<皮re>.
#include<stdio.h>
void main()
{
int a1[5],a2[5],i=0,j,t=0;  /*定义一个密钥数组*/
char b[8][5];
char s1[40];
 char s2[8][5];
printf("If you want to jiami,please input 'y',else input 'n':\n");
if(getche()=='y')
{
printf("input the miyao a1[5]:\n");
while(i<5)
{
a1=getch()-48;
printf("*");
i++;
}
printf("press ming wen:");
gets(s1);                 /*输入字符串s1*/
for(i=0;i<8;i++)
for(j=0;j<5;j++)
{
if(s1[t]!=0&&s1[t]>='a'&&s1[t]<='z')  /*判断s1是否能运行*/
s2[j]=s1[t];              /*将s1赋值给二维数组s2*/
 else
 s2[j]='x';       /*对不满行的输入'x'*/
t++;
 }
  for(i=0;i<8;i++)
 for(j=0;j<5;j++)
  b[a1[j]]=s2[j];     /*置换利用密钥数组转变算法*/
 printf("miwen is :");
for(i=0;i<8;i++)
 for(j=0;j<5;j++)
printf(" %c",b[j]);   /*输出字符串b*/
}
else
{
printf("input the back_miyao a2[5]:\n");
while(i<5)
{
a2=getch()-48;
printf("*");
i++;
}
printf("press mi wen:");
 gets(s1);                 /*输入字符串s1*/
 for(i=0;i<8;i++)
 for(j=0;j<5;j++)
 {
 if(s1[t]!=0&&s1[t]>='a'&&s1[t]<='z')  /*判断s1是否能运行*/
s2[j]=s1[t];              /*将s1赋值给二维数组s2*/
 else
s2[j]='x';  /*对不满行的输入'x'*/


 t++;
 }
  for(i=0;i<8;i++)
 for(j=0;j<5;j++)
  b[a2[j]]=s2[j];   /*置换利用密钥数组转变算法*/
printf("mingwen is:");
 for(i=0;i<8;i++)
  for(j=0;j<5;j++)
printf(" %c",b[j]);  /*输出字符串b*/


}
printf("\n");
getch();
}

myecho不完全代码

,

linux简单系统命令echo(更新)
#include<stdio.h>
#include<stdlib.h>
#include<getopt.h>
const struct option long_options[]={//长选项转换
    {"help",0,NULL,'h'},
    {"version",0,NULL,'k'},
    {NULL,0,NULL,0}
};

int main(int argc,char **argv)
{
   int b1,b2=1,w1=0,w2=0,i=0;
   if(argc==0)
   return 1;
   while((b1=getopt_long(argc,argv,"nevh",long_options,NULL))!= -1)
   switch(b2++,b1){
    case 'n': w1=1;break;
    case 'e': w2=1;break;
    case 'v': printf("版本信息\n");break;
    case 'h': printf("help message\n");break;
              return 1;//显示此帮助信息并离开
    default:break;
   }
   if(w1==1&&w2!=1)
       printf("%s\n",argv[argc-1]);
   else if(w1==0&&w2!=1)
            printf("%s",argv[argc-1]);
        else if(w2==1){ 
                 while(argv[argc-1]!=NULL){
                      if(argv[argc-1]=='"') ;
                      else    printf("%c",argv[argc-1]);
                  }
                    i++;
              }
        if(w1==1)printf("\n");
   }   
   return 0;
}

客户端软件概要设计说明书

,

经过n天的艰苦奋斗与nn次修改,我们客户端的<概要设计说明书>终于终于over了.感觉收获很多.
http://files.myopera.com/kongove/files/ftpclient.pdf

用VB连接Access的一个简单的成绩统计程序

老乡打电话说她要做毕业设计,要求用vb连接access,编写一个成绩统计软件。于是决定自己研究一下,以便能给她一些帮助信息。
我感觉难的一点就是要对任意大小的access‘成绩单’进行统计,这样就难的多了。其中是用.eof和.bof实现的。
我的程序实现的功能是:access‘成绩单’中获取姓名、学号、科目到下拉菜单中,供用户选择。
用户通过下拉菜单给程序附值,通过多个if 和while完成‘统计’。对vb的运用没有c熟练,所以许多实现都复杂化了。代码不简练,对输入错误的处理很少,程序健壮性不够。起码我自己搞懂了数据连接的方法 ,这对她应该有帮助。
源代码和文件下载地址:

Read more...

王老师的java讲义ppt

,

王老师的java讲义ppt
http://files.myopera.com/kongove/files/java-2005-2006-2.rar

讲义是rar压缩的,我见好几个人在linux下没有rar解压工具,下面是我解压过程。
1.下载rar解压工具安装程序下载地址:
http://files.myopera.com/kongove/files/rarlinux-3.6.b6.tar.gz
2.将安装程序用tar解压到/opt/文件夹里( tar -xvvzf rarlinux-3.6.b6.tar.gz
),这个不用编译可以直接使用,然后建立连接在/bin/下(ln -s /opt/rar/rar rar
)。
3.解压文件:rar -e java-2005-2006-2.rar

约瑟夫简单加密程序

约瑟夫简单加密程序 编号为1,2,3,……,n的n个人按顺时针方向围坐一圈。任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。设计程序输出出列顺序。 其中用循环链表存储原始密码。程序刚开始有用户给m附一个初值。
#include "stdio.h"
#define num 7
struct pd{
    int data;
    int N;
    struct pd *next;
};

Read more...

JDK的安装

编译java的窗口编译器jcteator,用起来很不方便,于是换成了jdk命令行编译器.

1.首先下载jdk,我下的是jdk1.5 下载地址:http://jvm.cn/soft/jdk-1_5_0_08-windows-i586-p.exe
2.运行安装程序(我将jdk安装在D:\Program Files\JDK1.5)
3.右击'我的电脑'->高级->环境变量,在系统变量PATH里'添加' D:\Program Files\JDK1.5\BIN

在系统变量CLASSPATH里'添加' c:\class;D:\Program Files\JDK1.5\lib\tools.jar;D:\Program Files\JDK1.5\lib\dt.jar;%classpath%;
4.测试.
新建一个记事本,键入:
import java.io.*;
public class hello{
public static void main(String args[]){
System.out.println("hello,linux");
}
}

然后将记事本改名为hello.java
在命令行界面,到达hello.java所在目录
javac hello.java(编译)
java hello(运行)
若输出:hello,linux 则安装成功.

刚刚编的java程序

import java.net.*;
public class kong{
public static void main(String args[]){
try{
if(args.length==1){
InetAddress ipa=InetAddress.getByName(args[0]);
System.out.println("Host name_getHostName:"+ipa.getHostName());
System.out.println("Host IP Address_getHostAddress:"+ipa.getHostAddress());
System.out.println("Host Ip Address_getAddress:"+ipa.getAddress());
System.out.println("LocalHost:"+InetAddress.getLocalHost());
}
else
System.out.println("请输入一个主机名");
}
catch(UnknownHostException e){
System.out.println(e.toString());
}
}
}


上面的程序实现的功能是:输入一个主机名,可以得到它的ip地址、主机名称及本地ip地址。



getHostAddress () 返回形式: ip地址 (如:213.236.208.98)
getHostName() 返回形式: 主机名 (如:my.opera.com)
toString() 返回形式:主机名/ip地址 (如:my.opera.com/213.236.208.98)
getAddress() 返回的直接输出为乱码~??
得到的本地ip为127.0.1.1(这样的结果没有任何意义)。



后记:
刚开始我忽略了java数据类型byte与String的区别和getAddress()返回byte类型,后边通过一个转换技巧,用位与运算将数组中的每个存储单元里的short数据类型转换为int数据类型,并在输出时不同单元间用'.' 隔开。
修改后调试成功的代码:
import java.net.*;
public class kong{
public static void main(String args[]){
int i;
byte ip[];
try{
if(args.length==1){

InetAddress ipa=InetAddress.getByName(args[0]);
System.out.println("Host name:"+ipa.getHostName());
System.out.println("Host IP Address_toString:"+ipa.toString());
System.out.println("Host IP Address_getHostAddress:"+ipa.getHostAddress());

ip = ipa.getAddress();
System.out.print("getAddress()_&0Xff:");
for(i=ip.length-1; i >=0 ; i--)
System.out.print((((int)ip[ip.length-1-i])&0xff)+".");
System.out.println("");
System.out.println("Local Host:"+InetAddress.getLocalHost());
}
else
System.out.println("请输入一个主机名");
}
catch(UnknownHostException e){
System.out.println(e.toString());
}
}
}

用java编写xylftp客户端一些记录

,

用到的java头文件:java.io java.net

创建套接字:
ServerSocket server=new ServerSocket(端口号);
Socket server=new Socket(ip地址,端口号);
返回ip地址:
InetAddress.getLocalHost();

I/O操作:
BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter out=new PrintWriter(server.getOutputStream());

为实现服务端同时为多个客户端服务,可以创建线程,由线程来执行‘接受的任务’.要创建线程要么直接继承Thread要么实现Runnable接口,并且要重写run方法.