欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

2023年程序设计基础实验报告

  • 资源ID:166359348       资源大小:940KB        全文页数:62页
  • 资源格式: DOC        下载积分:30积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要30积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

2023年程序设计基础实验报告

程序设计基础课程设计实验报告班级:1303011姓名:洪礼翔学号:所选题目:1_1, 1_2,2_4,3_2,3_4,4_2,5_1程序设计语言:c+程序设计平台:visual c+ 6.0日期:2023-4-5署名:第1_1题 算法描述:比较两个文本文献并打印出它们第一个不相同的行(文献每行字符数不多于80)。源程序:no1_1.cpp#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>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 s180,s280;while(!infile1.eof()&&!infile2.eof()infile1.getline(s1,sizeof(s1);infile2.getline(s2,sizeof(s2);if(strcmp(s1,s2)cout<<s1<<endl;cout<<s2<<endl;infile1.close();infile2.close();测试数据(输入、输出): 第1_2题 算法描述:文本文献num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中源程序:no1_2.cpp #include<fstream.h>#include<iostream.h>#include<stdlib.h>#include<strstrea.h>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 array40=0;int i=0;while(!inf1.eof()inf1>>arrayi+;while(!inf2.eof()inf2>>arrayi+; qsort(array,i,sizeof(int),cmp);int j(0);while(i)outf<<arrayj+;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<iostream.h>#include<fstream.h>#include<string.h>#include<stdlib.h>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."<<endl;while(ch=infile.get()!=EOF)char str10=0;if(ch='<')for(int i(0);infile.peek()!='>'i+)stri=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<<endl;cout<<"Convert correctly!"<<endl;测试数据(输入、输出)第3_2题 算法描述:设计一个复数类型,输入实部和虚部生成一个复数,可进行两个复数求和、两个复数求差、两个复数求积运算。源程序:No3_2.cpp#include<iostream.h>class complexpublic:complex()set(0.0,0.0);complex(double real, double imag)set(real,imag);void set(double r, double i)real=r;imag=i;friend complex operator +(const complex &c1,const complex &c2);friend complex operator -(const complex &c1,const complex &c2);friend complex operator *(const complex &c1,const complex &c2);void print();private:double real, imag;void complex:print()if(imag<0)cout<<real<<imag<<"i"<<endl;elsecout<<real<<"+"<<imag<<"i"<<endl;complex operator +(const complex &c1,const complex &c2)return complex(c1.real+c2.real,c1.imag+c2.imag);complex operator -(const complex &c1,const complex &c2)return complex(c1.real-c2.real,c1.imag-c2.imag);complex operator *(const complex &c1,const complex &c2)return complex(c1.real*c2.real-c1.imag*c2.imag, c1.real*c2.imag+c1.imag*c2.real);void main()complex a,b,c;double r,i;cout<<"Complex a:n"cout<<"Input real part:"cin>>r;cout<<"Input imaginary part:"cin>>i;a.set(r,i);cout<<"a="a.print();cout<<"Complex b:n"cout<<"Input real part:"cin>>r;cout<<"Input imaginary part:"cin>>i;b.set(r,i);cout<<"b="b.print();int s;cout<<"Function:nn"cout<<"1.c=a+b 2.c=a-b 3.c=a*bn"<<"Please enter a number:"Input:cin>>s;switch(s)case 1: c=a+b;break;case 2: c=a-b;break;case 3: c=a*b;break;default:cout<<"Please enter '1','2'or'3'!n"goto Input;cout<<"nc="c.print();测试数据(输入、输出) 第3_4题 算法描述:根据输入的数字N,计算N以内(涉及N)数据链并记录数据链末尾数字是1的数据个数。例如N=44,则数字链为:44->32->13->10->1,其规则为:4*4+4*4=32,3*3+2*2=13,1*1+3*3=10,1*1+0*0=1。源程序:No3_4.cpp#include<iostream.h>#define size 80int count;class Tpublic:T(int n);void next();int repeat();void print();int check();private:int arraysize;int *pt;T:T(int n)array0=n;for(int i(1);i<size;i+)arrayi=0;pt=array;void T:next()int sum=0,d=0,n=*pt;dod=n%10;sum+=d*d;while(n=n/10);pt+;*pt=sum;int T:repeat()int i(0);while(&arrayi!=pt)if(arrayi=*pt) return 1;i+;return 0;void T:print()cout<<"->"<<*pt;int T:check()if(*pt=1) return 1;else return 0;void main()int N;cout<<"Please input an integer larger than zero!n"cout<<"Start:"cin>>N;while(N)T d(N);cout<<N;dod.next();if(!d.repeat()d.print();else if(d.check()count+;break;while(1);cout<<endl;N-;cout<<"The number of digit-string ending with 1 is: "<<count<<endl;测试数据(输入、输出)第4_2题 算法描述:模拟图书馆管理系统。每名读者只能借一本书,读者可借书或还书。管理员可对图书和读者信息进行录入、修改和删除。图书信息至少应涉及:编号、书名、数量,读者信息至少应涉及:编号、姓名、所借图书。可根据图书名称或编号进行图书信息查询,可查询某本书现在被哪些读者借走。源程序:No4_2.cpp#include<iostream.h> #include<fstream.h>#include<iomanip.h> #include<stdio.h>#include<string.h> #include<stdlib.h>#include"book.h"#include"reader.h"char ini10=0;char key10=0;void menu();void Administrator();void Reader();void M_book();void M_reader();void Menu() cout<<"nnn图书馆管理系统主菜单 "<<endl; cout<<"nnn1.管理员 "<<endl;cout<<"n2.读者 "<<endl;cout<<"n3.退出系统 "<<endl;cout<<"nn请选择(1/2/3)并按回车键确认:"int choose;cin>>choose;switch(choose)case 1: Administrator();break;case 2: Reader();break;case 3: exit(0);default:system("cls");cout<<"nnn输入错误!请选择(1/2/3)并按回车键确认:"<<endl;cin.clear();cin.ignore(80,'n');Menu();void Reader()system("cls");cout<<"n您好,读者!nn"char flag='Y'doUser:find_t();cout<<"nn要继续查询吗(y/n)"cin>>flag;system("cls");while(toupper(flag)='Y');Menu();void Administrator()if(strcmp(key,ini)=0)system("cls");char temp110,temp210;cout<<"n第一次登陆,请设立您的密码(密码长度小于10位):"cin>>temp1;cout<<"n请再次输入:"cin>>temp2;if(strcmp(temp1,temp2)=0)cout<<"n密码设立成功!n"<<endl;strcpy(key,temp1);fstream fkey;fkey.open("key.bin",ios:out|ios:binary);fkey.write(key,sizeof(key);fkey.close();system("pause");Administrator();elsecout<<"输入不一致!"<<endl;Administrator();else system("cls");cout<<" nn-n" cout<<" 管理员登陆n" cout<<" -n" char temp10;cout<<"n请输入您的密码:"cin>>temp;if(strcmp(key,temp)!=0)cout<<"密码输入错误!"<<endl;system("pause");Administrator();elsecout<<"登陆成功!"<<endl;reg:cout<<"nnn1.图书管理系统"<<endl;cout<<"2.读者管理系统"<<endl; cout<<"nn请选择(1/2)并按回车键确认:" int select;cin>>select;switch(select) case 1: M_book();break; case 2: M_reader();break; default:cout<<"请选择(1/2)并按回车键确认:"cin.clear(); cin.ignore(80,'n'); goto reg;void M_book()cout<<"nn欢迎使用图书管理系统!"<<endl;docout<<"nnn1.添加图书信息 "<<endl; cout<<"2.输出图书信息 "<<endl; cout<<"3.查找图书信息(按编号索引) "<<endl; cout<<"4.查找图书信息(按书名索引) "<<endl; cout<<"5.修改图书信息(按编号索引) "<<endl; cout<<"6.修改图书信息(按书名索引) "<<endl;cout<<"7.删除图书信息(按编号索引) "<<endl; cout<<"8.删除图书信息(按书名索引) "<<endl;cout<<"9.图书信息排序(按编号排序) "<<endl; cout<<"10.保存数据 "<<endl; cout<<"11.读出数据 "<<endl;cout<<"12.跳转至读者管理系统"<<endl;cout<<"13.返回主菜单 "<<endl;cout<<"14.退出系统 "<<endl; cout<<"nn请选择(114)并按回车键确认:" int choose;cin>>choose;switch(choose)case 1: Book:add();break;case 2: Book:output();break;case 3: Book:find_n();break;case 4: Book:find_t();break;case 5: Book:modify_n();break;case 6: Book:modify_t();break;case 7: Book:delete_n();break;case 8: Book:delete_t();break; case 9: Book:sort();break;case 10: Book:save();break;case 11: Book:load();break;case 12: system("cls");M_reader();break;case 13: Menu();break;case 14: exit(0);system("cls");while(1);void M_reader()cout<<"nn欢迎使用读者管理系统!"<<endl;docout<<"nnn1.添加读者信息 "<<endl; cout<<"2.输出读者信息 "<<endl; cout<<"3.查找读者信息(按编号索引) "<<endl; cout<<"4.查找读者信息(按书名索引) "<<endl; cout<<"5.修改读者信息(按编号索引) "<<endl; cout<<"6.修改读者信息(按书名索引) "<<endl;cout<<"7.删除读者信息(按编号索引) "<<endl; cout<<"8.删除读者信息(按书名索引) "<<endl;cout<<"9.读者信息排序(按编号排序) "<<endl; cout<<"10.保存数据 "<<endl; cout<<"11.读出数据 "<<endl;cout<<"12.跳转至图书管理系统 "<<endl;cout<<"13.返回主菜单"<<endl;cout<<"14.退出系统 "<<endl; cout<<"nn请选择(114)并按回车键确认:" int choose;cin>>choose;switch(choose)case 1: User:add();break;case 2: User:output();break;case 3: User:find_n();break;case 4: User:find_t();break;case 5: User:modify_n();break;case 6: User:modify_t();break;case 7: User:delete_n();break;case 8: User:delete_t();break; case 9: User:sort();break;case 10: User:save();break;case 11: User:load();break;case 12: system("cls");M_book();break;case 13: Menu();break;case 14: exit(0);system("cls");while(1);int main() cout<<"LOADING. n"fstream fkey;fkey.open("key.bin",ios:in|ios:binary);fkey.read(key,sizeof(key);fkey.close();Book:load();User:load();system("pause");system("cls");Menu();return EXIT_SUCCESS;Book.h#ifndef BOOK_H#define BOOK_Hclass Bookpublic:Book();static void add();static void output();static void find_n();static void find_t();static void modify_n();static void modify_t();static void delete_n();static void delete_t();static void sort();static void save();static void load ();Book & operator=(Book & Temp);friend istream & operator >> (istream & scin, Book & Temp);friend ostream & operator << (ostream & scout, Book & Temp);private:char number8;char title20;int quantity;static int NumBook; Book b100; int Book:NumBook=0;void Book:add() char flag='Y' while(toupper(flag)='Y') cin>>bNumBook; NumBook+; cout<<"要继续添加吗(y/n)" cin>>flag; if(toupper(flag)!='Y') if(toupper(flag)='N') break; else cout<<"错误,请重输:" cin>>flag; void Book:output() if(NumBook!=0) cout<<"-n" cout<<"number title quantityn" cout<<"-n" for(int i=0;i<NumBook;i+) cout<<bi; getchar(); void Book:find_n() bool flag=0; char n8; Book temp; cout<<"输入你要查找的图书编号: " cin>>n; for(int j=0;j<NumBook;j+) if(strcmp(bj.number,n)=0) temp=bj; flag=1; if(flag=0) cout<<"对不起,没有你要查找的图书"<<endl; else cout<<"-n" cout<<"number title quantityn" cout<<"-n" cout<<temp; getchar(); void Book:find_t() bool flag=0; char t20; Book temp; cout<<"输入你要查找的图书名: " cin>>t; for(int j=0;j<NumBook;j+) if(strcmp(bj.title,t)=0) temp=bj; flag=1; if(flag=0) cout<<"对不起,没有你要查找的图书"<<endl; else cout<<"-n" cout<<"number title quantityn" cout<<"-n" cout<<temp; getchar(); void Book:modify_n() bool flag=0; int i; char n8; cout<<"输入你要修改的图书编号:" cin>>n; for(int j=0;j<NumBook;j+) if(strcmp(bj.number,n)=0) i=j; flag=1; if(flag=0) cout<<"对不起,没有你要修改的图书"<<endl; else cout<< "请输入书名: " cin>>bi.title;cout<< " 数量 : " cin>>bi.quantity; cout<<" 修改成功 !"<<endl; getchar(); void Book:modify_t() bool flag=0; int i; char t20; cout<<"输入你要修改的图书名:" cin>>t; for(int j=0;j<NumBook;j+) if(strcmp(bj.title,t)=0) i=j; flag=1; if(flag=0) cout<<"对不起,没有你要修改的图书"<<endl; else cout<< "请输入书名: " cin>>bi.title; cout<< " 数量 : " cin>>bi.quantity; cout<<" 修改成功 !"<<endl; getchar(); void Book:delete_n() char n8; bool flag=0; char c; do cout<<"请输入您要删除的图书编号:" cin>>n; for(int i=0;i<NumBook;i+) if(strcmp(n,bi.number)=0) flag=1; NumBook-; do bi=bi+1; i+; while(i<NumBook); if(flag=0) cout<<"您规定删除的图书不存在!" cout<<"要继续删除吗?(y/n)"<<endl; cin>>c; if(toupper(c)!='Y'&&toupper(c)!='N') cout<<"输入指令错误!请重新输入Y或N!"<<endl; cin>>c; while(toupper(c)='Y'); getchar(); void Book:delete_t() char t20; bool flag=0; char c; do cout<<"请输入您要删除的图书名:" cin>>t; for(int i=0;i<NumBook;i+) if(strcmp(t,bi.title)=0) flag=1; NumBook-; do bi=bi+1; i+; while(i<NumBook); if(flag=0) cout<<"您规定删除的图书不存在!" cout<<"要继续删除吗?(y/n)"<<endl; cin>>c; if(toupper(c)!='Y'&&toupper(c)!='N') cout<<"输入指令错误!请重新输入Y或N!"<<endl; cin>>c; while(toupper(c)='Y'); getchar(); void Book:sort() Book temp; for(int i=0;i<NumBook;i+)int min=i;for(int j=i+1;j<NumBook;j+)if(strcmp(bi.number,bj.number)>0)min=j;temp=bi;bi=bmin;bmin=temp;cout<<"nn排序成功!nn" void Book:save() fstream outfile;outfile.open("Book.dat",ios:out);if(!outfile)cout<<"文献不能打开!"<<endl; else for(int i=0;i<NumBook;i+) outfile<<' '<<bi.number<<' '<<bi.title<<' '<<bi.quantity<<' ' cout<<"保存成功!"<<endl; outfile.close(); getchar(); void Book:load() fstream infile;infile.open("Book.dat",ios:in);if(!infile)cout<<"文献不能打开!"<<endl; else for(int i=0;i+) if(infile.eof()break; infile>>bi.number>>bi.title>>bi.quantity;NumBook=i-1;cout<<"文献已读取成功!"<<endl; infile.close(); Book & Book:operator=(Book & Temp) strcpy(number,Temp.number);strcpy(title,Temp.title); quantity=Temp.quantity; return * this ; ostream & operator << (ostream & scout, Book & temp) scout<<setiosflags(ios:left)<<setw(8)<<temp.number<<setw(20)<<temp.title<<setw(4)<<temp.quantity<<endl; return scout; istream & operator >> (istream & scin,Book & temp) cout<< " t编号:" scin>>temp.number; cout<< " t书名:" scin>>temp.title; cout<< " t数量:" scin>>temp.quantity; return scin; Book:Book() strcpy(number," "); strcpy(title," "); quantity=0; #endifReader.h#ifndef READER_H#define READER_Hclass Userpublic:User();static void add();static void output();static void find_n();static void find_t();static void modify_n();static void modify_t();static void delete_n();static void delete_t();static void sort();static void save();static void load ();User & operator=(User & Temp);friend istream & operator >> (istream & scin, User & Temp);friend ostream & operator << (ostream & scout, User & Temp);private:char number8;char name15;char borr20;static int NumUser; User u100; int User:NumUser=0;User:User()strcpy(number," ");strcpy(name," ");strcpy(borr," ");void User:add() char flag='Y' while(toupper(flag)='Y') cin>>uNumUser; NumUser+; cout<<"要继续添加吗(y/n)" cin>>flag; if(toupper(flag)!='Y') if(toupper(flag)='N') break; else cout<<"错误,请重输:" cin>>flag; void User:output() if(NumUser!=0) cout<<"-n" cout<<"number name borrowed book n" cout<<"-n"for(int i=0;i<NumUser;i+) cout<<ui; getchar(); void User:find_n() bool flag=0; char n8; User temp; cout<<"输入你要查找的读者编号: " cin>>n; for(int j=0;j<NumUser;j+) if(strcmp(uj.number,n)=0) temp=uj; flag=1; if(flag=0) cout<<"对不起,没有你要查找的读者"<<endl; else cout<<"-n" cout<<"number name borrowed book n" cout<<"-n"cout<<temp; getchar(); void User:find_t() bool flag=0; char t15; User temp; cout<<"输入你要查找的读者名: " cin>>t; for(int j=0;j<NumUser;j+) if(strcmp(uj.name,t)=0) temp=uj; flag=1; if(flag=0) cout<<"对不起,没有你要查找的读者"<<endl; else cout<<"-n" cout<<"number name borrowed book n" cout<<"-n"cout<<temp; getchar(); void User:modify_n() bool flag=0; int i; char n8; cout<<"输入你要修改的读者编号:" cin>>n; for(int j=0;j<NumUser;j+) if(strcmp(uj.number,n)=0) i=j; flag=1; if(flag=0) cout<<"对不起,没有你要修改的读者"<<endl; else cout<< "请输入读者名: " cin>>ui.name;cout<< "已借图书: " cin>>ui.borr; cout<<" 修改成功 !"<<endl; getchar(); void User:modify_t() bool flag=0; int i; char t15; cout<<"输入你要修改的读者名:" cin>>t; for(int j=0;j<NumUser;j+) if(strcmp(uj.name,t)=0) i=j; flag=1; if(flag=0) cout<<"对不起,没有你要修改的读者"<<endl; else cout<< "请输入读者名: " cin>>ui.name;cout<< "已借图书: " cin>>ui.borr; cout<<" 修改成功 !"<<endl; getchar(); void User:delete_n() char n8; bool flag=0; char c;

注意事项

本文(2023年程序设计基础实验报告)为本站会员(豆***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!