public class test20 { public static void main(String[] args) { float fm = 1f; float fz = 1f; float temp; float sum = 0f; for (int i=0;i20;i++){
目前成都创新互联已为数千家的企业提供了网站建设、域名、虚拟主机、网站改版维护、企业网站设计、大关网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
temp = fm;
fm = fz;
fz = fz + temp;
sum += fz/fm;
//System.out.println(sum);
}
System.out.println(sum);
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IOTest {
public static void main(String[] args) {
String str = "123\r\n456";
writeFile(str);//写
String str1 = readFile();//读
System.out.println(str1);
}
/**
* 传递写的内容
* @param str
*/
static void writeFile(String str) {
try {
File file = new File("d:\\file.txt");
if(file.exists()){//存在
file.delete();//删除再建
file.createNewFile();
}else{
file.createNewFile();//不存在直接创建
}
FileWriter fw = new FileWriter(file);//文件写IO
fw.write(str);
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 返回读取的内容
* @return
*/
static String readFile() {
String str = "", temp = null;
try {
File file = new File("d:\\file.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);//文件读IO
while((temp = br.readLine())!=null){//读到结束为止
str += (temp+"\n");
}
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
刚写的,够朋友好好学习一下啦,呵呵
多多看API,多多练习
程序在VC7.1上编译执行通过,使用的都是标准的C/C++库函数,理论上可以在任何规范的编译器上编译。具有输入和导入数据、存档3个功能。
如果输入和导入文件格式正确,程序运行完全没有问题。
没有对非法输入和非法文件进行处理。因为加上这些东西,程序会太复杂,如有需要,可以加上。
源程序:
#include iostream
#include string.h
using namespace std;
struct GameDoc
{
char player[32];
int level;
int id;
int hp;
int exp;
};
void saveFile( char * fileName, GameDoc data )
{
FILE* fp = fopen(fileName, "wb");
if(fp)
{
fwrite(data, sizeof(data), 1, fp);
fclose(fp);
cout " 存档成功 \n" endl;
}
else
{
cout "写入文件失败\n" endl;
}
}
void inputDoc()
{
GameDoc data;
char fileName[256];
cout "请输入各项数据,输入后按回车将开始下一项输入" endl;
cout "玩家姓名:" endl;
cin data.player;
cout "等级:" endl;
cin data.level;
cout "ID号:" endl;
cin data.id;
cout "生命值" endl;
cin data.hp;
cout "经验值" endl;
cin data.exp;
cout "存档文件名" endl;
cin fileName;
saveFile(fileName, data);
}
void importDoc()
{
GameDoc data;
char fileName[256];
cout "" endl;
// 示例导入文件(内容):李四,2,107,50,102
cout "导入文件名" endl;
cout "文件格式:玩家姓名,等级,ID号,生命值,经验值(以英文逗号分隔,不能有空格)" endl;
cin fileName;
FILE* imFp = fopen(fileName, "r");
if (!imFp)
{
cout "导入文件失败\n" endl;
return;
}
char line[128];
fgets(line, 128, imFp);
char *tok;
tok = strtok(line, ",");
strcpy(data.player, tok);
tok = strtok(NULL, ",");
data.level = atoi(tok);
tok = strtok(NULL, ",");
data.id = atoi(tok);
tok = strtok(NULL, ",");
data.hp = atoi(tok);
tok = strtok(NULL, ",");
data.exp = atoi(tok);
cout "存档文件名" endl;
cin fileName;
saveFile(fileName, data);
}
void readDoc()
{
GameDoc data;
char fileName[256];
cout "读入文件名" endl;
cin fileName;
FILE* fp = fopen(fileName, "rb");
if (fp)
{
fread(data, sizeof(data), 1, fp);
fclose(fp);
cout " 读档成功 " endl;
cout "玩家姓名:" data.player endl;
cout "等级:" data.level endl;
cout "ID号:" data.id endl;
cout "生命值" data.hp endl;
cout "经验值" data.exp endl;
cout endl;
}
else
{
cout "读入文件失败\n" endl;
}
}
int main(int argc, char** argv)
{
int selectNo = 0;
while(selectNo != 4)
{
cout "模拟存档/读挡过程,请选择相应操作(输入1, 2, 3或4)" endl;
cout "1 输入存档数据 2 导入存档数据 3 读档并显示 4 退出" endl;
cin selectNo;
switch(selectNo)
{
case 1:
inputDoc();
break;
case 2:
importDoc();
break;
case 3:
readDoc();
break;
case 4:
break;
default:
cout "选择错误,请输入1, 2, 3或4" endl;
}
}
return 0;
}