检验文件相似度 源代码

检验文件相似度 源代码
检验文件相似度 源代码

// xiangsidu.cpp : Defines the entry point for the console application.

//

//#include "stdafx.h"

//#include "stdlib.h"

#include

#include

void format(); //没有参数或参数为“/?”时的帮助提示

void xiangsidu(); //实现对两个目标文件统计相似度的功能

int read1(char *txt); //从命令行参数输入的文件指针读入文件1的内容

int read2(char *pho); //从命令行参数输入的文件指针读入文件2的内容

void save1(); //将文章1的统计结果保存到3.txt文本文件中

void save2(); //将文章2的统计结果保存到4.txt文本文件中

char article1[50000];

char article2[50000];

char word1[500][20];

char word2[500][20];

int number2,number1;

struct word

{

char danci[20];

int num;

float bili;

}fword1[100],fword2[100];

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

************************************/

void main (int argc, char *argv[])

{

int flag1,flag2;

if(argc==1) format();

else if ((argc==2)&&strcmp(argv[1],"/?")==0) format();

else if(argc==3)

{

flag1=read1(argv[1]);

flag2=read2(argv[2]);

if(flag1==0||flag2==0)

printf("读取信息失败!\n");

else

{

xiangsidu();save1();save2();

}

}

else printf("\n该程序应该携带2个参数!\n");

}

void format() //没有参数或参数为“/?”时的帮助提示{

printf("\n命令格式为:xingsidu SourceFile TargetFile\n\n");

printf("SourceFile指文章1的文本文件\n");

printf("TargetFile指文章2的文本文件\n");

}

/***************从命令行参数输入的文件指针读入文件1的内容

*****************/

int read1(char *txt)

{

FILE *ftxt;

int i,n;

if((ftxt=fopen(txt,"rb"))==NULL) //txt即指向的文本文件1的指针

{

printf("%s文件无法打开!\n");

return 0;

}

printf("\n\n\t\t\t读取文件...\n\n");

for (i=0;!feof(ftxt);i++) //文件内部指针未到文件尾,执行循环体

article1[i]=fgetc(ftxt); //从ftxt所指文件中读取一个字节信息n=i-1;

fclose(ftxt);

article1[i]='\n';

printf(" \n文章1内容如下:\n\n");

for(i=0;i

{

putchar(article1[i]);

}

return 1;

}

/******************从命令行参数输入的文件指针读入文件2的内容

*****************/

int read2(char *pho)

{

FILE *fpho;

int i,n;

if((fpho=fopen(pho,"rb"))==NULL) //pho即指向的文本文件2的指针

{

printf("%s文件无法打开!\n");

return 0;

}

printf("\n\n\t\t\t读取文件...\n\n");

for (i=0;!feof(fpho);i++) //文件内部指针未到文件尾,执行循环体

article2[i]=fgetc(fpho); //从fpho所指文件中读取一个字节信息

n=i-1;

fclose(fpho);

article2[i]='\n';

printf(" \n文章2内容如下:\n\n");

for(i=0;i

{

putchar(article2[i]);

}

return 1;

}

/**********************对文章1和文章2的相同单词进行统计

****************************/

void xiangsidu()

{

int i=0,j=0,k=0,m=0,flag=1;

for(i=0;article1[i]!='\0';i++) //二维数组word1[]记录文章1中的所有单词

{

if(article1[i]>=65&&article1[i]<=90) article1[i]=article1[i]+32;

if(article1[i]==39||article1[i]>=97&&article1[i]<=122)

{

word1[j][k]=article1[i];

k++;

}

else if(article1[i]==' '||article1[i]==','||article1[i]=='.')

{

word1[j][k]='\0';

j++;

k=0;

}

}

number1=j; //文章1中所有的单词个数number1

j=0;

for(i=0;article2[i]!='\0';i++) //二维数组word2[]记录文章2中的所有单词

{

if(article2[i]>=65&&article2[i]<=90) article2[i]=article2[i]+32;

if(article2[i]==39||article2[i]>=97&&article2[i]<=122)

{

word2[j][k]=article2[i];

k++;

}

else if(article2[i]==' '||article2[i]==','||article2[i]=='.')

{

word2[j][k]='\0';

j++;

k=0;

}

}

number2=j; //文章2中所有的单词个数number2

k=0;

strcpy(fword1[0].danci,"!");

strcpy(fword2[0].danci,"!");

for(i=0;i

{

flag=1;

for(j=0;j

{

if(strcmp(word1[i],word2[j])==0)

{

for(m=0;strcmp(fword1[m].danci,"!")!=0;m++) //检测相同的单词在前面是否已经统计过

{

if(strcmp(word1[i],fword1[m].danci)==0)

flag=0;

}

if(flag)

{

strcpy(fword1[k].danci,word1[i]); //将相同的单词分别存入结构体数组fword1[]和fword2[]中

strcpy(fword2[k].danci,word2[j]);

k++;strcpy(fword1[k].danci,"!");strcpy(fword2[k].danci,"!");

break;

}

}

}

}

for(i=0;strcmp(fword1[i].danci,"!")!=0;i++) //对文章1中相同单词个数的统计

{

fword1[i].num=0;

for(j=0;j

{

if(strcmp(fword1[i].danci,word1[j])==0) fword1[i].num++;

}

fword1[i].bili=(float)fword1[i].num/(number1+1)*100; //相同单词在文章1中占的比例

}

for(i=0;strcmp(fword2[i].danci,"!")!=0;i++) //对文章2中相同单词个数的统计

{

fword2[i].num=0;

for(j=0;j

{

if(strcmp(fword2[i].danci,word2[j])==0) fword2[i].num++;

}

fword2[i].bili=(float)fword2[i].num/(number2+1)*100; //相同单词在文章2中占的比例

}

printf("文章1单词总数:%d\n",number1);

printf("文章2单词总数:%d\n",number2);

printf("\n\n\n\t\t 文章1\t\t 文章2\n");

printf("\n相同单词\t个数 \t百分比\t\t个数\t 百分比\n");

for(i=0;strcmp(fword1[i].danci,"!")!=0;i++)

{

printf("%5s \t%d\t%5.2f%% \t%d\t %5.2f%%

\n",fword1[i].danci,fword1[i].num,fword1[i].bili,fword2[i].num,fword2[i].bili);

}

}

/******************将文章1的统计结果保存到3.txt文本文件中

********************/

void save1()

{

FILE *fp;

int i,a=1;

if((fp=fopen("3.txt","wb"))==NULL)

{

printf("3.txt文件无法打开!\n");

// exit(0);

}

for (i=0;strcmp(fword1[i].danci,"!")!=0;i++) //将信息写入文件{

if(fwrite(&fword1[i],sizeof(struct word),1,fp)!=1)

{

printf("存储错误!\n");a=0;

}

}

if(a) printf("\n文章1统计结果已存入文件3.txt中,共%d条记录\n",i);//输出记录个数

fclose(fp);

}

/***************将文章2中的统计结果保存到4.txt文本文件中

**********************/

void save2()

{

FILE *fp;

int i,a=1;

if((fp=fopen("4.txt","wb"))==NULL)

{

printf("4.txt文件无法打开!\n");

// exit(0);

}

for (i=0;strcmp(fword2[i].danci,"!")!=0;i++) //将信息写入文件

{

if(fwrite(&fword2[i],sizeof(struct word),1,fp)!=1)

{

printf("存储错误!\n");a=0;

}

}

if(a) printf("\n文章2统计结果已存入文件4.txt中,共%d条记录\n",i);//输出记录个数

fclose(fp);

}

C语言程序设计 入门源代码代码集合

#include <> void print_star(void) { printf("*****************\n"); } void print_welcome(void) { printf("C language,welcome!\n"); } void main() { print_star(); print_welcome(); print_star(); getchar(); } 演示2 #include "" int sum(int i,int j) { return(i + j); } void main() { int n1,n2; printf("input 2 numbers:\n"); scanf("%d%d",&n1,&n2); printf("the sum = %d\n",sum(n1,n2)); getchar(); } 演示3 #include "" int maxnum(int,int,int); main() { int a,b,c; printf("Please enter 3 numbers:\n"); scanf("%d,%d,%d",&a,&b,&c); printf("Maxnum is %d\n",maxnum(a,b,c));

} int maxnum(int x,int y,int z) { int max=x; if(y>max) max = y; if(z>max) max = z; return max; } 演示4 #include <> int s1(int n) { int j,s; s=0; for(j=1;j<=n;j++) s=s+j; return s; } int sum(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+s1(i); return s; } void main() { int n; printf("n:"); scanf("%d",&n); printf("s=%d\n",sum(n)); } 演示5

客户端程序源代码

#include #include #include #include #include #define rec_length 20 main(int argc, char **argv ) { // structure defined for request as a client struct hostent *hp1; struct sockaddr_in sin1; struct servent *sp1; char sbuf[50]; int ss,spid; char *sservice,*sdest; // structure defined for request as a server struct sockaddr_in sin; struct servent *sp; int s,ns,pid; char buf[50]; char *service; // test the environment parameter: lservice, dservice, server_name if(argc==4){ service=argv[1];sservice=argv[2]; sdest=argv[3];} else { fprintf(stderr,"Parameter assigned Error!\nUsage:\n"); fprintf(stderr,"\t%s lservice dservice server_name!\n",argv[0]); fprintf(stderr,"Note: server_name is defined in file /etc/hosts\n"); fprintf(stderr,"and: lservice dservice are defined in file /etc/services\n"); exit(-1); } if((sp=getservbyname(service,"tcp"))==NULL){ fprintf(stderr,"Error: getservbyname"); exit(-5); } if((s=socket(AF_INET,SOCK_STREAM,0))==-1){ fprintf(stderr,"Error: socket create"); exit(-6); } bzero(&sin,sizeof(sin)); sin.sin_port=sp->s_port; if(bind(s,&sin,sizeof(sin))==-1){ fprintf(stderr,"Error: bind"); close(s); exit(-6); }

数字万年历简易C语言程序源代码

#include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit rs=P2^0; // lcd 控制端 sbit en=P2^2; // lcd 控制端 sbit all=P2^1; // lcd 控制端 sbit s0=P1^5; //时间调节 sbit s1=P1^6; sbit s2=P1^7; sbit voice=P2^7; int nt; sbit DQ=P2^6; sbit DS1302_CLK = P2^3; //实时时钟时钟线引脚sbit DS1302_IO = P2^4; //实时时钟数据线引脚sbit DS1302_RST = P2^5; //实时时钟复位线引脚sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; unsigned char time; #define ads_y 0 #define ads_mo 3 #define ads_d 6 #define ads_w 9 #define ads_h 65 #define ads_m 68 #define ads_s 71 #define DS1302_SECOND 0x80 //写入ds地址宏定义 #define DS1302_MINUTE 0x82 #define DS1302_HOUR 0x84 #define DS1302_WEEK 0x8A #define DS1302_DAY0x86 #define DS1302_MONTH 0x88 #define DS1302_YEAR 0x8C

C语言程序设计-入门源代码代码集合

演示1 #include void print_star(void) { printf("*****************\n"); } void print_welcome(void) { printf("C language,welcome!\n"); } void main() { print_star(); print_welcome(); print_star(); getchar(); } 演示2 #include "stdio.h" int sum(int i,int j) { return(i + j); } void main() { int n1,n2; printf("input 2 numbers:\n"); scanf("%d%d",&n1,&n2); printf("the sum = %d\n",sum(n1,n2)); getchar(); } 演示3 #include "stdio.h" int maxnum(int,int,int); main() { int a,b,c; printf("Please enter 3 numbers:\n"); scanf("%d,%d,%d",&a,&b,&c); printf("Maxnum is %d\n",maxnum(a,b,c));

return 0; } int maxnum(int x,int y,int z) { int max=x; if(y>max) max = y; if(z>max) max = z; return max; } 演示4 #include int s1(int n) { int j,s; s=0; for(j=1;j<=n;j++) s=s+j; return s; } int sum(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+s1(i); return s; } void main() { int n; printf("n:"); scanf("%d",&n); printf("s=%d\n",sum(n)); } 演示5

简易水电费管理系统源程序代码

简易水电费管理系统源程序代码 法一: #include #include #include struct member {char no[100]; char name[20]; char password[20]; float wfee; float efee; }memb; void newadd(int n) { int t,i; fseek(fp,0,SEEK_END); printf(">>新添人数:"); scanf("%d",&t); for(i=0;i>输入卡号:"); scanf("%s",a); int i=0; rewind(fp); while(1) { fread(&memb,sizeof(struct member),1,fp); if(feof(fp)||memb.no==a) break; i++; } if(!feof(fp)) { printf(">>卡号:"); printf("%s\n",memb.no); printf(">>姓名:"); printf("%s\n",https://www.360docs.net/doc/ef13417066.html,"); printf(">>水费:"); printf("%f\n",memb.wfee);

C程序设计大作业(含源代码).doc

面 向 对 象 程 序 设 计 大 作 业 姓名:叶尔凯西 学院(系):计科系 班级:计科系07-1 班 学号: 027

设计本程序的目的: 关于一些并不太复杂的集体来说,一般需要管理集体中的每个人的基本信息的,本程序 专门为一些在校学生的基本信息的管理而设计的,主要目的是通过本程序来实现简单的记录和 查找学生的基本信息; 程序功能简介: 本程序是通过面向对象的最重要的特点“类”来设计出来的,其功能是实现简单的学生基 本信息管理。包括一些要求用户从键盘输入(记录)学生的基本信息、输出学生的基本信息和用 学生的学号来查找学生信息表中的某个学生的基本信息等功能; 程序功能的详细介绍: 本人设计程序时考虑到的很所内容,其中输入输出学生的基本信息是最基本的功能。下面来给大家介绍程序的核心类的构建: ①在程序中共建立了两种类,分别是person 类和 student类。person作为student 类的基类,其内部是如下设计的: class person { public: void SetPersonAddress(char *AddressFromMain); void SetPersonSex(char *SexFromMain); void ShowPersonSex(); void ShowPersonAddress(); private: char Address[25]; char Sex[2]; }; 可以看到,在上面分别声明了四个成员函数和两个数据成员。四个成员函数的作用是对私有数据成员进行访问(包括输入和输出)。所以当建立了一个 person 类之后 就可以通过它的对象来访问该类的数据成员。 下面分别说明每一个成员函数的具体定义: ( 1)设置(输入)人地址的成员函数: void person::SetPersonAddress(char *AddressFromMain) { strcpy(Address,AddressFromMain); } 通过 strcpy把字符指针的内容送入person 类中的数据成员Address 。 ( 2)设置(输入)人性别的成员函数: void person::SetPersonSex(char *SexFromMain) { strcpy(Sex,SexFromMain); }

语言程序设计个简单的经典例子

经典C语言程序设计100例 1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题 21.猴子吃桃问题 22.乒乓球比赛抽签问题 23.打印菱形图案 24.分数数列求和 25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印 28.岁数问题 29.求解正整数位数 30.判断回文数 31.星期几猜测游戏 32.改变文本颜色 33.学习gotoxy()与clrscr()函数34.练习函数调用 35.设置文本颜色 36.求100之内的素数37.对10个数进行排序 38.求3*3矩阵对角线元素之和 39.数字插入数组重新排序40. 将一个数组逆序输出 定义静态变量用法42.使用auto 定义变量用法43.使用static 的另一用法 44.使用external的用法 45.使用register定义变量方法 46.宏#define命令练习(1) 47.宏#define命令练习(2) 48.宏#define命令练习(3) 49.#if #ifdef和#ifndef的综 合应用 50.#include 的应用练习 51.学习使用按位与 & 52.学习使用按位或 | 53.学习使用按位异或 ^ 54.取一个整数从右端开始的 4~7位。 55.学习使用按位取反~ 56.用circle画圆形 57.学用line画直线 58.用rectangle画方形 59.画图综合例子1 60.画图综合例子2 61.打印杨辉三角形 62.学习putpixel画点 63.画椭圆ellipse 64.利用ellipse and rectangle 画图 65.画个最优美的图案 66.输入3个数字按大小顺序输 出 67.输入数组交换元素重新输出 68.多个整数后移位置问题 69.圆圈报数问题 70.计算一个字符串长度 71.编写输入/输出函数 72.创建链表 73.反向输出链表 74.连接两个链表 75.算一道简单题目 76.调用函数求 1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序 80.海滩猴子分桃 81.已知公式条件求数字 82.八进制转换为十进制 83.求0-7所能组成的奇数个数 84.由两个素数之和表示的偶数 85.判断一个素数能被几个9整 除 86.两个字符串连接程序 87.结构体变量传递 88.读取数字的整数值并打印出 该值个数的* 89.数据加密 90.专升本一题 91.时间函数举例1 92.时间函数举例2 93.时间函数举例3 94.一个猜数游戏 95.家庭财务管理小程序 96.计算字符串中子串出现的次 数 97.输入字符并保存到磁盘98. 字符串转换成大写字母并输出 保存 99.文件操作应用1 100.文件操作应用2 -------------------------------------------------------------------------------- c语言经典100题【实用】

JAVA简单记事本程序(源代码)课程设计

辽宁工业大学 JA V A程序设计课程设计(论文)题目: JAVA简单记事本程序 院(系):软件学院 专业班级:软件工程班 学号: 学生姓名: 指导教师: 教师职称: 起止时间:

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (4) 1.1 课程设计目的 (4) 1.2 课程设计的实验环境 (4) 1.3 课程设计的预备知识 (4) 1.4 课程设计要求 (4) 第2章课程设计内容 (5) 2.1课题描述 (5) 2.2 系统设计 (5) 2.2.1功能分析 (5) 2.2.2面向对象设计 (5) 2.2.3详细设计 (7) 2.3程序实现 (10) 2.3.1源码分析 (10) 2.3.1运行结果 (14) 第3章总结 (18) 参考文献19

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

程序源代码

// BusDlg.cpp : 实现文件 // #include"stdafx.h" #include"Bus.h" #include"BusDlg.h" #include #define M 5 //公交车数量 #ifdef _DEBUG #define new DEBUG_NEW #endif /*每辆公交车途经路线*/ int Station[M][20]={{1,2,3,4,5,6,7,8,9,10,11},{12,13,14,15,16,17,18,19},{16,17,20,21,22,23,24,25,26} ,{2,3,15,16,23,27,28,29,30,31,32,33},{5,7,14,15,16,22,23,34,35,36,37,38}}; int taked[M]={0,0,0,0,0};//公交车标示,坐过置 int Length[1000]={0};//每条路线长度 int cnt;//路线条数 struct ways //保存所有路径 { int cp; //公交车号 int zt; //站台编号 }way[1000][10]; struct Exchange//换车的下车点 { static int Len;//长度 int route;//车次 int pos;//换车站点 }Path[M]; int Exchange::Len=0;//初始化路径长度 typedef struct//定义用户数据结构体 { char tel[256]; //电话 char sstation[256]; //起始站 char dstation[256]; //终点站 char route[256]; //路线 }userdata; HANDLE m_hComm; // 串口操作句柄 int length; //路线长度为发送短信使用 //函数声明 void remessage(userdata ud); char *chazhao(CString ss,CString ds); DWORD WINAPI GPRSRecvTread(LPVOID lparam); void CALLBACK OnGPRSRecv(CWnd* pWnd,userdata ud); int gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength); char *chuli(char *buff); bool PassBy(int P,int* path); void save_path(); void NextSearchPath(int end,int route);

一些简单的C语言程序代码

由键盘任意输入1个4位数整数,分别输出其中的个位、十位、百位、千位。 /* expe 3-10 */ #include #include void main(void) { int mun,a,b,c,d; scanf("%d",&mun); a=mun / 1000; /*千位*/ b=(mun % 1000) / 100; /*百位*/ c=(mun % 100) / 10; /*十位*/ d=(mun % 10); /*个位*/ printf("千位数字为=%d\n",a); printf("百位数字为=%d\n",b); printf("十位数字为=%d\n",c); printf("个位数字为=%d\n",d); } 由键盘任意输入3个数据,找出其中的最大数和最小数。 #include void main(void) { float a,b,c,k,g;/* k 小g 大*/ printf ("请输入三个数"); scanf("%f%f%f",&a,&b,&c); if (a < b) { k = a; g = b; } else { k = b; g = a; } if (k < c)/*最小*/ { printf ("\n最小的数=%5.2f",k);} else {printf ("\n最小的数=%5.2f",c);} if (g > c)/*最大*/ {printf ("\n最大的数=%5.2f",g);} else {printf ("\n最大的数=%5.2f",c);} } 判断三角形的形状 #include #include void main(void) { printf("请输入三角形三边"); float a,b,c,p,s,k1,k2,k3; scanf("%f%f%f",&a,&b,&c); while (a + b < c || b + c < a || a + c < b ) { printf("不能构成三角形,请重新输入"); scanf("%f%f%f",&a,&b,&c); } k1 = a * a; k2 = b * b; k3 = c * c; if (a == b && b == c && c ==a) {printf("此三角形为等边三角形");} else if (a == b || b == c || c ==a) {printf("此三角形为等腰三角形"); } else if ((k1 == b * b + c * c) || (k2 == a * a + c * c) || (k3 = a * a + b * b)) {printf("此三角形为直角三角形");} else {printf("此三角形为一般三角形");} } 九九乘法表 整体 #include void main(void) { int i,j;

单片机程序源代码

第二章 任务一:闪烁广告灯的设计 利用89c51单片机的端口控制两个LED(D0和D1),编写程序,实现两个LED互闪。 #include #define uint unsigned int #define uchar unsigned char sbit LED1=P0^0; sbit LED2=P0^1; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main() { while(1) { LED1=0; LED2=1; delayms(500); LED1=1; LED2=0; delayms(500); } } 任务二:流水广告灯的设计 利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->D3->D4->D5 ->D6->D7 ,然后再点亮D7->D6->D5->D4 ->D3->D2->D1->D0,重复循环。 #include #include #define uint unsigned int #define uchar unsigned char uint i; uchar temp; uint a[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delayms(uint ms) { while(ms--) { uint j; for(j=0;j<120;j++);

源程序代码

#include <> //调用单片机头文件 #define uchar unsigned char //无符号字符型宏定义变量范围0~255 #define uint unsigned int //无符号整型宏定义变量范围0~65535 #include "" #include "" bit flag_200ms ; bit flag_100ms ; sbit beep = P3^7; //蜂鸣器定义 bit flag_beep_en; uint clock_value; //用作闹钟用的 sbit dq = P3^2; //18b20 IO口的定义 uint temperature ; //温度变量 uchar flag_nl; //农历阳历显示标志位 uchar menu_1,menu_2; uchar key_time,flag_value; //用做连加的中间变量 bit key_500ms ; uchar n_nian,n_yue,n_ri; //农历显示的函数 #include "" #include "" /******************把数据保存到单片机内部eeprom中******************/ void write_eeprom() { SectorErase(0x2000); byte_write(0x2000, fen1); byte_write(0x2001, shi1); byte_write(0x2002, open1); byte_write(0x2058, a_a); } /******************把数据从单片机内部eeprom中读出来*****************/ void read_eeprom() { fen1 = byte_read(0x2000); shi1 = byte_read(0x2001); open1 = byte_read(0x2002); a_a = byte_read(0x2058); } /**************开机自检eeprom初始化*****************/ void init_eeprom() { read_eeprom(); //先读 if(a_a != 1) //新的单片机初始单片机内问eeprom { fen1 = 3; shi1 = 8; open1 = 1; a_a = 1; write_eeprom(); //保存数据} } /***********************18b20初始化函数*****************************/ void init_18b20() { bit q; dq = 1; //把总线拿高 delay_uint(1); //15us dq = 0; //给复位脉冲 delay_uint(80); //750us dq = 1; //把总线拿高等待 delay_uint(10); //110us q = dq; //读取18b20初始化信号 delay_uint(20); //200us

如何编写一个简单的程序

如何编写一个简单的程序 这里为大家介绍一下如何开始编写一个真正的但是简单程序。 程序的概念: 下面一段,关于程序的概念,内容来自维基百科: ?先阅读一段英文的:computer program and source code,看不懂不要紧,可以跳过去,直接看下一条。 A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer.[1] A computer requires programs to function, typically executing the program's instructions in a central processor.[2] The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, from which executable programs are derived (e.g., compiled), enables a programmer to study and develop its algorithms. A collection of computer programs and related data is referred to as the software. Computer source code is typically written by computer programmers.[3] Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler and later executed by a central processing unit. Alternatively, computer programs may be executed with the aid of an interpreter, or may be embedded directly into hardware. Computer programs may be ranked along functional lines: system software and application software. Two or more computer programs may run simultaneously on one computer from the perspective of the user, this process being known as multitasking. ?计算机程序 计算机程序(Computer Program)是指一组指示计算机或其他具有信息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语和烹饪手法的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易看清而计算机可解读的格式,然后运行。未经编译就可运行的程序,通常称之为脚本程序(script)。

XXX系统——程序源代码模板

编号: 版本:v1.0 基于XXX的XXX系统 源程序 编写:XXX 2015 年11 月24日校对:XXX 2015 年11 月24日 中国石油大学(华东) 2015年11月

manager.jsp(经理用户界面) <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> Merchant <% if(session.getAttribute("sessionname") == null || !session.getAttribute("rank").equals("1")) {%>

未登录!

3秒后跳转到登录页面 如果没有跳转,请点这里 <% System.out.println(session.getAttribute("rank").equals("2")); response.setHeader("refresh","3;URL=index.jsp"); return; }%>

程序源代码

// FTPClient.cpp : 定义应用程序的类行为。 // #include"stdafx.h" #include"FTPClient.h" #include"FTPClientDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CFTPClientApp BEGIN_MESSAGE_MAP(CFTPClientApp, CWinApp) ON_COMMAND(ID_HELP, &CWinApp::OnHelp) ON_BN_CLICKED(IDC_BUTTON1, &CFTPClientApp::OnBnClickedButton1) END_MESSAGE_MAP() // CFTPClientApp 构造 CFTPClientApp::CFTPClientApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在InitInstance 中 } // 唯一的一个CFTPClientApp 对象 CFTPClientApp theApp; // CFTPClientApp 初始化 BOOL CFTPClientApp::InitInstance() { // 如果一个运行在Windows XP 上的应用程序清单指定要 // 使用ComCtl32.dll 版本6 或更高版本来启用可视化方式, //则需要InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。

VC 6.0运行简单C语言程序的过程

简单C程序执行过程 1打开VC6.0 2新建一个C源文件,选则File-New,出现新建对话框 3在新建对话框选择Files下的c++Source File选项,然后在右边输入所要建立的C源文件名和保存的路径,比如文件名为:c0-1.c,保存路径为:D/cc如下图。注意,文件扩展名一定是.c

4点击OK后,一个C源文件就建好了,如下图 5下面在C源文件中编写C程序,如下:

6.编辑完后,保存这个源程序文件,接下来是执行这个C程序。首先是编译,选 择Build菜单下的compile c0-1.c项,或者直接点编译图标,然后会出现如下提示:下面提示含义是:编译需要为这个C程序建立一个项目工作空间,你是否要建立项目工作空间?每一个C程序都需要一个项目工作空间,如果你提前 不建立,系统就会提示默认建立一个工作空间,这里点是,默认会建立工作空间。 7默认建立的工作空间名为C源文件名,这里是c0-1,如下图所示。

8.编译成功后,VC环境下方会显示是否有错误,如上图中提示0error,0warning,表示没有错误,接下来是连接,选择build-build c0-1.exe或者直接按连接图标 ,连接成功后如下图:下方提示:c0-1.exe0error,0warning,表示连接成功。 9最后是运行C程序,选择build-execute c0-1.exe,或直接按运行图片,运行成功后,出现结果显示界面,程序结果为输出一句话:this is a C program.输出结 果后面的press any key to continue是系统自带提示,表示按任意键继续。

DFA的编程实现(含源代码、实验报告)要点

实验一(一)程序设计语言及其编译器实现概览(2小时) 实验目的:学习一门简单的程序设计语言的定义及其编译器实现 实验任务:针对一门简单的程序设计语言,阅读其定义文档,初步了解其编译器的源代码。实验内容: (1)选择一门语言:TINY或其它语言也可(需自备其编译器的源代码)。 (2)阅读其定义文档,了解语言定义的方法,包括:词法、语法、语义、运行时环境、目标机器、目标语言等内容。 (3)了解其编译器源代码。 对TINY语言编译器,其源代码由多个文件组成,请弄清楚每个文件的作用是什么。 详情请见《编译原理及实践》第 1.7节。请做一个C++工程文件(Win32 Console Application, tiny.dsp),把它们组织起来,然后编译成可执行文件(tiny.exe),即为TINY 语言编译器。然后用它编译TINY语言示例源代码(sample.tny)。看看编译生成的目标文件(sample.tm)是怎样的。要运行目标程序,还需要一个虚拟机,名为TM机。TM 机是以软件形式存在的,其源代码为tm.c,需要编译生成可执行文件tm.exe。然后将目标程序作为TM机的输入运行TM机即可得到所期待的结果。要求读懂main.c、globals.h、util.h、scan.h和util.c、scan.c等文件,三人一组进行讨论,给每一行加上注释,总结你们各自对程序的理解和阅读程序的收获,每组提交1份加了注释的文件和心得。有能力的同学可加上tm.c。 实验一(二)DFA的编程实现(2小时) 实验目的:通过本次实验,加深对DFA及其识别的语言的理解,学习对一般的DFA的表达方法与编程实现方法。 实验任务:编写一个C语言程序,模拟实现DFA识别字符串的过程。 实验内容:(1)DFA的输入;(2)DFA的存储与读写;(3)DFA的正确性检查;(4)DFA 的语言集列表显示;(5)DFA的规则字符串判定; 内容说明: (1)DFA的输入: 分别输入DFA的“字符集”、“状态集”、“开始状态”、“接受状态集”、“状态转换表”等内容,并保存在设定的变量中。 (2)DFA的存储与读写: 将上述DFA的五元组保存在一个文本文件中,扩展名指定为.dfa。请自行设计DFA文件的存储格式,并说明其含义。能将保存在内存变量中的DFA写入DFA文件,也能将DFA 文件读入内存中。(思考:对稀疏DFA(转换表中为空的地方较多)或用“或”表达转换的DFA(如下的测试用例三),如何改进DFA转换表的表达。) (3)DFA的正确性检查: 检查所有集合的元素的唯一性。 检查“开始状态”是否唯一,并是否包含在“状态集”中。 检查“接受状态集”是否为空,并是否包含在“状态集”中。

相关主题
相关文档
最新文档