当前位置:首页 » 操作系统 » dssm源码

dssm源码

发布时间: 2023-05-19 18:07:55

Ⅰ 什么是信息系统成功模型(D&M ISM模型)

DeLone和 McLean两位学者在1992年首次提出信息系统成功模型,是信息系统成功性研究中最着名的模型,它为衡量信息系统的性能提供了很好的理论框架。 2003年,DeLone和 McLean在不断的分析和研究后,根据相关研究成果与实际应用情况对模型没禅运进行了改进,他们认袭梁为信息系统角色的变化使得服务质量成为一个单独变量会是必然,因而把服务质量加入了到该模型中。改进后的D&M ISM 认为信息系统的质量主要包括三个方面:系统质量、信息质量和服务质量枯梁。信息质量与网站上内容的准确性、相关性、易理解性和个性化等方面有关。服务质量即服务商提供的总体支持或后台服务,可通过及时性、可靠性等方面来进行衡量。使用意愿或使用是对用户从访问网站到网站内,导航到信息搜寻和事情执行的所有活动的使用意愿或行为结果的综合测量。用户满意度是衡量用户对信息系统评价的重要因素,也是对信息系统使用后的整体态度。在改进后的模型中将“个人影响”和“组织影响”统一成一个新的因素,即净收益。净收益对用户满意度、使用意愿或使用有反馈的作用,信息系统的影响可能是正面或反面,在净收益上就显示为正值或负值。

Ⅱ 汇编数据段地址问题 看我的源代码,从反汇编的代码中可以看到段地址DS应该为075A 但是D命令查看的结果不是

DOS的EXE文件加载时,对CS的初始化处理是将它指向入口语句对应的那个代码段段地址,而DS,ES,SS是相同的,它们都指向加载这个程序时的程序段前缀(PSP)的段地址,而不是你程序中定义的数据、堆栈等各个段的段地址。用户必须自己编写代码,在程序运行时将相应的段地址传送到DS等。

从你的程序可以看到,你程序里用DATA SEGMENT 定义的这个DATA段,加载后的段地址是071A。但DS并不是在程序加载时就直接指向它。你的程序开始运行以后,要用两条指令,将076A传送到DS。
只有在这两条指令执行过以后,DS才会变成076A。

你刚加载了程序、尚未运行时查看,DS还没有改成076A。这时的075A实际是PSP的段地址。

Ⅲ C++做一个小游戏,有源代码的最好,谢谢

#include <iostream>
#include<fstream>
#include <ctime>
#include <cmath>
#include <stdlib.h>
#include<stdio.h> //时间 //文件
#include <string>
#define random(x)(rand()%x)
using namespace std;
void thunder(int Dif,int Row,int Column,char *USer)
{
int r,c,alls[22][22],backstage[22][22]={0};
srand((int)time(0));
for(r=1;r<=Row;r++) // 生成alls(0~1)1是雷
{
for(c=1;c<=Column;c++)
{
if(random(6)<1) {alls[r][c]=1;} else{alls[r][c]=0;};
}
};
for(r=0;r<=Row+1;r++) //生成 backstage(正确答案)
{
for(int c=0;c<=Column+1;c++)
{
if(alls[r][c]==1)
{
(int)backstage[r][c]='*'; //将1变为 * 代表雷
}
else
{
for(int i=r-1;i<=r+1;i++) //将0变为数字 (代表周围雷数)
for(int j=c-1;j<=c+1;j++)
{

if(alls[i][j]!=alls[r][c]&&alls[i][j]==1){backstage[r][c]++;};
}
}; //else 结束
}; // for 结束
}; // for 结束
cout<<"======================*********================================"<<endl;
char surface[22][22]; //生成surface(用户界面)
for(r=0;r<22;r++) //全部为零
for(c=0;c<22;c++)
{
surface[r][c]='0';
}
for(r=1;r<=Row;r++) //中间化 # 形成0包围#的形式 (通过数 #-->(*||数字) 的个数 赢的时候停止循环)
for(c=1;c<=Column;c++)
{
surface[r][c]='#';
}
for(r=1;r<=Row;r++) //输出 surface 界面 便于检查
{
for(c=1;c<=Column;c++) {cout<<" "<<surface[r][c];};
cout<<endl;
};
cout<<"请按格式输入"<<endl
<<"前两个数字为坐标,最后一个数字“1”表示此位置为雷,“0”则表示不是。"<<endl
<<"如:1 3 1 表示一行三列是雷;2 4 0 表示二行四列不是雷"<<endl
<<"提示:当数字周围雷都被扫出时,可再次按要求输入此位置,可得到周围数字。"<<endl;
long i=10000000L; //计算时间开始
clock_t start,finish;
double ration;
start=clock();
while(i--); //计算时间开始
int num=Row*Column; //计算#号个数
while(num!=0) //控制 是否点完所有位置
{
int x,y,judge;
cin>>x>>y>>judge;
if(alls[x][y]!=judge)
{
cout<<"you lose!!!"<<endl;
cout<<"The answer is:"<<endl;
for(r=1;r<=Row;r++) //输了 输出backstage 显示正确答案
{
for(int c=1;c<=Column;c++)
{
cout<<" "<<(char)(backstage[r][c]==42?backstage[r][c]:backstage[r][c]+'0'); //输出backstage
}
cout<<endl;
}
break;
}
else
{
if(alls[x][y]==1) {if(surface[x][y]=='#'){num--;}surface[x][y]='@'; } // 雷 判断正确 显示“@”;数“#”
else
{
if(backstage[x][y]!=0) // 数字 判断正确 显示数字
{
if(surface[x][y]=='#'){num--; surface[x][y]=backstage[x][y]+'0'; } // 数“#”
else
{
int lei_num=0;
for(int i=x-1;i<=x+1;i++) //数 数字周围 雷的个数
for(int j=y-1;j<=y+1;j++)
{
if(surface[i][j]=='@')
lei_num++;
}
if(backstage[x][y]==lei_num) // 看数字周围雷是否全部扫出 提示 显示数字周围
{
for(int i=x-1;i<=x+1;i++)
for(int j=y-1;j<=y+1;j++)
if(surface[i][j]=='#') //数“#”
{
surface[i][j]=backstage[i][j]+'0';
num--;
}
}
}
}
else // 数字为零时 显示零周围的零
{
if(surface[x][y]=='#'){num--;}; //数“#”
surface[x][y]=backstage[x][y]+'0';
for(int i=x-1;i<=x+1;i++) // 显示零周围的数字
for(int j=y-1;j<=y+1;j++)
if(surface[i][j]=='#') // 避免 死循环
{
surface[i][j]=backstage[i][j]+'0';
num--; //数“#”
}
for(int k=0;k<20;k++) //最多20层零 (点出最边上的零)
{
for (int R=1;R<=Row;R++) //检查所有零
for(int C=1;C<=Column;C++) //再次显示零周围的数字
{
if(surface[R][C]=='0')
{
for(int i=R-1;i<=R+1;i++)
for(int j=C-1;j<=C+1;j++)
{
if(surface[i][j]=='#') // 避免 死循环 数“#”
{
surface[i][j]=backstage[i][j]+'0';
num--;
}
}
}
} //匹配for 内
} //匹配 for 外
}//匹配else
}//匹配else
}//匹配els
cout<<endl;
cout<<"======================*********================================"<<endl;
for(r=1;r<=Row;r++) //输出界面(已修改)
{
for(c=1;c<=Column;c++) {cout<<" "<<surface[r][c];};
cout<<endl;
};
} //匹配while
finish=clock(); //计算时间结束
ration=(double)(finish-start)/CLOCKS_PER_SEC; //时间变量
if(num==0) //所有
{
cout<<" You win! Congratulations!! "<<endl;
cout<<" Your time is: "<<ration<<endl;
if(Dif==1) //读取 简单扫雷 的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷 简单.txt");
for(i=0;i<5;i++) //文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer; //本轮玩家信息
times[5]=ration;
double t1=0;
string t2;
for(int j=0;j<5;j++) //冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷 简单.txt");
for(i=0;i<5;i++) //将前五名玩家信息存储到文件中
{
cout<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
outf<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
}
outf.close();
}
if(Dif==2) //读取 一般扫雷 的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷 一般.txt");
for(i=0;i<5;i++) //文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer; //本轮玩家信息
times[5]=ration;
double t1=0;
string t2;
for(int j=0;j<5;j++) //冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷 一般.txt");
for(i=0;i<5;i++) //将前五名玩家信息存储到文件中 并输出
{
cout<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
outf<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
}
outf.close();
}
if(Dif==3) //读取 困难扫雷 的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷 困难.txt");
for(i=0;i<5;i++) //文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer; //本轮玩家信息
times[5]=ration;
double t1=0;
string t2;
for(int j=0;j<5;j++) //冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷 困难.txt");
for(i=0;i<5;i++) //将前五名玩家信息存储到文件中
{
cout<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
outf<<name[i]<<" "<<i+1<<" "<<times[i]<<endl;
}
outf.close();
}
}
}
void scale(int dif,char *User) //选择难度
{
int row,column;
if(dif==1) {row=3;column=3;}
if(dif==2) {row=7;column=7;}
if(dif==3) {row=10;column=10;}
cout<<"The scale is: "<<row<<"*"<<column<<endl;
thunder(dif,row,column,User);
};
int main()
{
int Continue=1;
int difficulty;
char user[10];
cout<<" Welcom to the game! "<<endl
<<" 请输入用户名! "<<endl;
cin>>user;
while(Continue==1)
{
cout<<"=======================*******************======================="<<endl
<<" 请选择难度! "<<endl
<<" 简单——1 "<<endl
<<" 一般——2 "<<endl
<<" 困难——3 "<<endl;
cin>>difficulty;
scale(difficulty,user);
cout<<"继续游戏——1 结束游戏——0"<<endl;
cin>>Continue;
}
return 0;
}
扫雷小游戏,自己编的代码

热点内容
http代理java 发布:2025-04-23 12:24:11 浏览:825
野外普通话ftp 发布:2025-04-23 12:22:35 浏览:453
饥荒安卓版的怎么进去 发布:2025-04-23 12:21:56 浏览:743
数据库开发入门 发布:2025-04-23 12:13:39 浏览:366
怎么在我的世界国际服中玩服务器 发布:2025-04-23 11:55:59 浏览:973
安卓sav存档怎么改成txt 发布:2025-04-23 11:55:26 浏览:866
密码修改在哪里改 发布:2025-04-23 11:46:48 浏览:787
楚税通里面登陆的密码是设置什么 发布:2025-04-23 11:43:34 浏览:118
复利系统源码 发布:2025-04-23 11:43:33 浏览:253
python微信公众号开发教程 发布:2025-04-23 11:32:22 浏览:429