当前位置:文档之家› 程序设计基础实验报告汇总

程序设计基础实验报告汇总

程序设计基础实验报告汇总
程序设计基础实验报告汇总

《程序设计基础课程设计》实验报告

班级:1303011

:洪礼翔

学号:

所选题目:1_1, 1_2,2_4,3_2,3_4,4_2,5_1

程序设计语言:c++

程序设计平台:visual c++ 6.0

日期:2014-4-5

签名:

第1_1题

算法描述:

比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于80)。源程序:

no1_1.cpp

#include

#include

#include

#include

void main()

{

fstream infile1,infile2;

infile1.open("f1.txt",ios::in);

infile2.open("f2.txt",ios::in);

if(!infile1)

{

cout<<"f1.txt can't open";

abort();

}

if(!infile2)

{

cout<<"f2.txt can't open";

abort();

}

char s1[80],s2[80];

while(!infile1.eof()&&!infile2.eof())

{

infile1.getline(s1,sizeof(s1));

infile2.getline(s2,sizeof(s2));

if(strcmp(s1,s2))

{

cout<

cout<

}

}

infile1.close();

infile2.close();

}

测试数据(输入、输出):

第1_2题

算法描述:

文本文件num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中

源程序:

no1_2.cpp

#include

#include

#include

#include

int cmp(const void *m,const void *n);

void main()

{

fstream inf1,inf2,outf;

inf1.open("num1.txt",ios::in);

if(!inf1)

{

cout<<"num1.txt can't open.\n";

abort();

}

inf2.open("num2.txt",ios::in);

if(!inf2)

{

cout<<"num2.txt can't open.\n";

abort();

}

outf.open("num3.txt",ios::out);

if(!outf)

{

cout<<"num3.txt can't open.\n";

abort();

}

int array[40]={0};

int i=0;

while(!inf1.eof())

{

inf1>>array[i++];

}

while(!inf2.eof())

{

inf2>>array[i++];

}

qsort(array,i,sizeof(int),cmp);

int j(0);

while(i)

{

outf<

if(i!=1) outf<<' ';

i--;

}

cout<<"Sort correctlly!\n";

}

int cmp(const void *m,const void *n) {

return *(int *)m-*(int *)n;

}

测试数据(输入、输出):

第2_4题

算法描述:

编写程序XMLtoTXT自动将XML文件email.xml转换为文本文件email.txt。命令行格式:XMLtoTXT email.xml email.txt。

源程序:

No2_4.cpp

#include

#include

#include

#include

void main()

{

fstream infile,outfile;

infile.open("email.xml",ios::in);

if(!infile)

{

cout<<"email.xml can't open.\n";

abort();

}

outfile.open("email.txt",ios::out);

if(!outfile)

{

cout<<"email.txt can't open.\n";

abort();

}

char ch=0;

int state=0;

cout<<"Progressing......"<

while((ch=infile.get())!=EOF)

{

char str[10]={0};

if(ch=='<')

{

for(int i(0);infile.peek()!='>';i++)

{

str[i]=infile.get();

}

if(!strcmp(str,"from")) state=-1;

if(state==-1&&!strcmp(str,"address")) state=1;

if(!strcmp(str,"to")) state=-2;

if(state==-2&&!strcmp(str,"address")) state=2;

if(!strcmp(str,"subject")) state=3;

if(!strcmp(str,"body")) state=4;

if(state>0)

{

switch(state)

{

case 1:outfile<<"from:";break;

case 2:outfile<<"to:";break;

case 3:outfile<<"subject:";break;

case 4:outfile<<"body:";break;

default:cout<<"error!\n";exit(0);

}

state=0;

infile.get();

while(infile.peek()!='<')

{

infile.get(ch);

outfile.put(ch);

}

outfile<

}

}

}

cout<<"Convert correctly!"<

}

测试数据(输入、输出)

相关主题
文本预览
相关文档 最新文档