安徽工业大学c课程设计

上传人:第*** 文档编号:61930246 上传时间:2018-12-15 格式:PDF 页数:27 大小:762.90KB
返回 下载 相关 举报
安徽工业大学c课程设计_第1页
第1页 / 共27页
安徽工业大学c课程设计_第2页
第2页 / 共27页
安徽工业大学c课程设计_第3页
第3页 / 共27页
安徽工业大学c课程设计_第4页
第4页 / 共27页
安徽工业大学c课程设计_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《安徽工业大学c课程设计》由会员分享,可在线阅读,更多相关《安徽工业大学c课程设计(27页珍藏版)》请在金锄头文库上搜索。

1、C+课程设计课程设计姓名:某某某姓名:某某某班级:计班级:计 112学号:学号:119074067指导教师:柯栋梁指导教师:柯栋梁一:定义一个一:定义一个 string 类,实现其相关功能。类,实现其相关功能。1.实验要求及目的:实验要求及目的:a.设计一个字符串类,要求满足常见字符串处理功能。设计一个字符串类,要求满足常见字符串处理功能。b.可参考可参考 VC+安装目录安装目录 include 下的下的 string.h 头文件中关于字符串类的定义。头文件中关于字符串类的定义。c.成员函数的实现不允许使用系统提供的字符串处理功能。成员函数的实现不允许使用系统提供的字符串处理功能。d.写个测试

2、程序测试每个成员函数。写个测试程序测试每个成员函数。2.实验环境:实验环境:PC 机,机,VC+6.0。3.实现过程:实现过程:a:首先读懂题目要求,知道自己所要实现的是什么。首先读懂题目要求,知道自己所要实现的是什么。b:参考参考 VC+安装目录安装目录 include 下的下的 string.h 头文件中关于字符串类的定义头文件中关于字符串类的定义,选,选择几个字符串处理的基本功能,并且指导实现的原理及要求。择几个字符串处理的基本功能,并且指导实现的原理及要求。c:设计一个关于字符串的设计一个关于字符串的 string 类,并且定义各所属的成员函数。类,并且定义各所属的成员函数。d:设计实

3、现各个成员函数设计实现各个成员函数, 并写一个测试主函数测试每一个成员函数是否能够实并写一个测试主函数测试每一个成员函数是否能够实现其功能。现其功能。4.心得体会:心得体会:通过本次的实验巩固了我对字符串的一些基本功能的理解和运用,同时对于通过本次的实验巩固了我对字符串的一些基本功能的理解和运用,同时对于一些原本比较模糊的概念定义有了更深的认识:如字符串的连接以及在一串字一些原本比较模糊的概念定义有了更深的认识:如字符串的连接以及在一串字符中查找特定的字符等等。符中查找特定的字符等等。当然当然,通过本次试验然我对一些小的概念如通过本次试验然我对一些小的概念如:flag(判断判断)等有了较深的了

4、解等有了较深的了解。对于本次的实验还有许多的不足之处如:没有按照要求的去用指针去实现,对于本次的实验还有许多的不足之处如:没有按照要求的去用指针去实现,以及没有用友元函数等等都有很多不足。以及没有用友元函数等等都有很多不足。5.实验代码:实验代码:#includeconst int N=200;int n ,flag=0;class stringprivate:char strN;int len;public:string(char *p)copy(str,p);string ();void copy(char *s1,char *s2);void copy(char *s);void str

5、_set()cinstr;void str_out()coutstrendl;void connect(char *s);void swap(char *s1,char *s2);int length ();int find (char s);int compare(char *s);int strlen(char *s)int i=0;while(si+!=0);return i-1;void pointout()char yorn;coutn 是否退出系统是否退出系统?:;coutyorn;coutendl;if(yorn=y|yorn=Y)flag=1;elseif(yorn=n|yor

6、n=N)flag=0;cout请再次输入你所选择的功能序号请再次输入你所选择的功能序号n;elseflag=0;cout输入有误输入有误,请重新输入请重新输入endl;int string:length()int i=0;while(stri+!=0);return i-1;int string:find (char s)int k=length();for(int i=0;ik;i+)if(stri=s)return i;return -1;void string:copy(char *s1,char *s2)int i=0;while(s2i!=0)s1i=s2i;i+;s1i=0;voi

7、d string:copy(char *s)int i=0;while(stri!=0)si=stri;i+;si=0;void string:swap(char *s1,char *s2)copy(str,s1);copy(s1,s2);copy(s2,str);int string:compare(char *s)int i=0;int k1,k2,t;k1=strlen(s);k2=length();if(k1k2)t=k1;k1=k2;k2=t;for(i=0;ik1;i+)if(sistri)return -1;return 0;void string:connect(char *s

8、)int i=0,k=length();while(si!=0)strk=si;k+;i+;strk=0;void menu()cout本系统的五个功能本系统的五个功能endl;cout1:进行两个字符串的连接进行两个字符串的连接n;cout2:复制原有的一串字符复制原有的一串字符n;cout3:查找一串字符里的一个特定字符查找一串字符里的一个特定字符n;cout4:交换两串字符交换两串字符n;cout5:比较两串字符的大小比较两串字符的大小n;cout请输入你想要执行的功能请输入你想要执行的功能:!endl;void function1()char s1N;string s;cout请输入第

9、一串字符请输入第一串字符:n;s.str_set();couts1;s.connect(s1);cout连接后的字符串为连接后的字符串为:;s.str_out();pointout();void function2()string s;char s1N;cout请输入一串你想要复制的字符串请输入一串你想要复制的字符串:n;s.str_set();cout复制的一串字符为复制的一串字符为:;s.copy(s1);couts1endl;pointout();void function3()string s;char s1N;char s3;couts1;s=s1;couts3;if(s.find(

10、s3)!=-1)cout你所查字符下标为你所查字符下标为:s.find (s3) 即你所查找的字符是字符即你所查找的字符是字符串中的第串中的第s.find (s3)+1个字符个字符endl;else cout没有找到你要查找的字符没有找到你要查找的字符!n;pointout();void function4()string s;char s1N,s2N;couts1;couts2;s.swap(s1,s2);cout交换后的结果为交换后的结果为:nendl;couts1=s1endl;couts2=s2endl;pointout();void function5()string s;char

11、s1N;cout请输入第一串字符请输入第一串字符: ;s.str_set();couts1;cout结果结果:pare(s1)endl;pointout();void function(char &n1)n=n1-0;switch(n)case 1: function1();break;case 2: function2();break;case 3: function3();break;case 4: function4();break;case 5: function5();break;default: cout你输入的功能序号有误你输入的功能序号有误,请重新输入请重新输入!endl;in

12、tmain()char n1;menu();while(1)if(flag)coutn1;function(n1);return 0;二二学生信息管理系统学生信息管理系统1.实验要求及目的:实验要求及目的:a.使用使用 C+实现对文本文件的读写实现对文本文件的读写。b.使用使用 OOP 方法综合设计方法综合设计。c.功能:添加学生信息功能:添加学生信息,删除学生信息删除学生信息,修改学生信息修改学生信息,查询学生信息学号查询学生信息学号(姓姓名或学号名或学号) ,保存学生信息至文件保存学生信息至文件。d.学生信息如下:地址,出生日期,学科成绩(语文,英语,数学,物理学生信息如下:地址,出生日期

13、,学科成绩(语文,英语,数学,物理) ,个人信息(姓名,性别,民族,国籍,学历个人信息(姓名,性别,民族,国籍,学历) ,联系方式(手机,家庭电话,学,联系方式(手机,家庭电话,学校电话校电话) 。2.实验环境:实验环境:PC 机,机,VC+6.0。3.实现过程:实现过程:a:首先查看实验要求和目的,知道自己的目的是什么。首先查看实验要求和目的,知道自己的目的是什么。b:查看并找出自己实现相关成员函数时所需要的头文件是什么查看并找出自己实现相关成员函数时所需要的头文件是什么, 要他们分别实现要他们分别实现什么功能。什么功能。c:设计一个关于字符串的设计一个关于字符串的 student 类。类。

14、d:观察自己所要实现的类中的主要功能是什么观察自己所要实现的类中的主要功能是什么, 并且根据其功能设计定义相关的并且根据其功能设计定义相关的成员函数。成员函数。e:设计实现各个成员函数设计实现各个成员函数, 并写一个测试主函数测试每一个成员函数是否能够实并写一个测试主函数测试每一个成员函数是否能够实现其功能。现其功能。4.心得体会:心得体会:通过本次的实现让我对于类的创建与实现有了更深的认识和了解,当然最主通过本次的实现让我对于类的创建与实现有了更深的认识和了解,当然最主要的还是让我对于文件的一些处理有了大概的认识,如:文件内容的写入,修要的还是让我对于文件的一些处理有了大概的认识,如:文件内

15、容的写入,修改,删除,以及如何创建一个文件,文件的打开与关闭以及如何从中提取信息改,删除,以及如何创建一个文件,文件的打开与关闭以及如何从中提取信息都有了一些了解,巩固了原有的知识,也开拓了一些眼界。都有了一些了解,巩固了原有的知识,也开拓了一些眼界。当然了制作这个学生信息管理系统还有横多的不足,如:没有按照要求用链当然了制作这个学生信息管理系统还有横多的不足,如:没有按照要求用链表去实现以及一些处理方面都不太完善。表去实现以及一些处理方面都不太完善。#include#include#include#includeusing namespace std;#define M 200int N=0

16、;class studentpublic:student();void add();void del();void change();void search();void display();/显示全部学生信息显示全部学生信息void output();/显示学生姓名显示学生姓名private:static int num;stringxingming,banji,xuehao,haoma,chengji,xingbie,nianling,minzu,guoji,shengri,zhuzhi;void menu()cout功能列表功能列表:endl;cout* 简单学生信息管理系统简单学生信息

17、管理系统 *endl;cout*1.添加学生信息添加学生信息*endl;cout*2.删除学生信息删除学生信息*endl;cout*3.显示学生姓名显示学生姓名*endl;cout*4.显示全部学生信息显示全部学生信息*endl;cout*5.修改学生信息修改学生信息*endl;cout*6.查询学生信息查询学生信息*endl;cout*0.保存数据并退出系统保存数据并退出系统*endl;cout*endl;cout输入你选择的功能输入你选择的功能:endl;int student:num=0;student:student() void student:add()stringaddxingm

18、ing,addbanji,addxuehao,addhaoma,addchengji,addxingbie,addnianling,addminzu,addguoji,addshengri,addzhuzhi;ofstream outfile(某某某某某某.txt,ios:app);if(!outfile)cerr open errorendl;exit(1);/异常情况退出异常情况退出N=N+1;cout请输入您要添加的数据请输入您要添加的数据endl;num+;outfilenum;coutaddxingming;outfileaddxingmingendl;coutaddbanji;ou

19、tfileaddbanjiendl;coutaddxuehao;outfileaddxuehaoendl;coutaddhaoma;outfileaddhaomaendl;coutaddchengji;outfileaddchengjiendl;coutaddxingbie;outfileaddxingbieendl;coutaddnianling;outfileaddnianlingendl;coutaddminzu;outfileaddminzuendl;coutaddguoji;outfileaddguojiendl;coutaddshengri;outfileaddshengriend

20、l;coutaddzhuzhi;outfileaddzhuzhiendl;outfile.close();cout已添加成功!已添加成功!endl;void student:del()int k,i;int numM;stringxingmingM,banjiM,xuehaoM,haomaM,chengjiM,xingbieM,nianlingM,minzuM,guojiM,shengriM,zhuzhiM;ifstream infile(某某某某某某.txt,ios:in);if(!infile)cerr open errorendl;exit(1);for(i=0;inumi;infile

21、xingmingi;coutsetw(9)xingmingibanjii;coutsetw(9)banjiixuehaoi;coutsetw(9)xuehaoihaomai;coutsetw(9)haomaichengjii;coutsetw(9)chengjiixingbiei;coutsetw(9)xingbieinianlingi;coutsetw(9)nianlingiminzui;coutsetw(9)minzuiguojii;coutsetw(9)guojiishengrii;coutsetw(9)shengriizhuzhii;coutsetw(9)住址住址:zhuzhiiend

22、l;cout你想删除第几个?你想删除第几个?k;k=k-1;infile.close();ofstream outfile(某某某某某某.txt,ios:out);if(!outfile)cerr open errorendl;exit(1); /退出程序退出程序for(i=0;iN;i+)if(i!=k)outfilenumi;outfilexingmingi;outfilebanjii;outfilexuehaoi;outfilehaomai;outfilechengjii;outfilexingbiei;outfilenianlingi;outfileminzui;outfileguoj

23、ii;outfileshengrii;outfilezhuzhii;outfile.close();N=N-1;cout已删除成功!已删除成功!endl;void student:change()int i,k;int numM;stringxingmingM,banjiM,xuehaoM,haomaM,chengjiM,xingbieM,nianlingM,minzuM,guojiM,shengriM,zhuzhiM;ifstream infile(某某某某某某.txt,ios:in);if(!infile)cerr open errorendl;exit(1);for(i=0;inumi;

24、infilexingmingi;coutsetw(9)姓名姓名:xingmingibanjii;coutsetw(9)班级班级:banjiixuehaoi;coutsetw(9)学号学号:xuehaoihaomai;coutsetw(9)号码号码:haomaichengjii;coutsetw(9)成绩成绩:chengjiixingbiei;coutsetw(9)性别性别:xingbieinianlingi;coutsetw(9)年龄年龄:nianlingiminzui;coutsetw(9)民族民族:minzuiguojii;coutsetw(9)国籍国籍:guojiishengrii;co

25、utsetw(9)生日生日:shengriizhuzhii;coutsetw(9)住址住址:zhuzhiiendl;infile.close();ofstream outfile(某某某某某某.txt,ios:out);if(!outfile)cerr open errorendl;exit(1);cout你想修改第几你想修改第几组组数据数据?k;k=k-1;cout请输入新的数据:请输入新的数据:endl;coutxingmingk;cout endl;coutbanjik;cout endl;coutxuehaok;cout endl;couthaomak;cout endl;coutch

26、engjik;cout endl;coutxingbiek;cout endl;coutnianlingk;cout endl;coutminzuk;cout endl;coutguojik;cout endl;coutshengrik;cout endl;coutzhuzhik;for(i=0;iN;i+)outfilenumi;outfilexingmingi;outfilebanjii;outfilexuehaoi;outfilehaomai;outfilechengjii;outfilexingbiei;outfilenianlingi;outfileminzui;outfileguo

27、jii;outfileshengrii;outfilezhuzhiiendl;outfile.close();cout已修改成功!已修改成功!endl;void student:search()int i,w=0,numM;char ch;stringsearchxingming,searchxuehao,xingmingM,banjiM,xuehaoM,haomaM,chengjiM,xingbieM,nianlingM,minzuM,guojiM,shengriM,zhuzhiM,bM4;couta.按学号查找按学号查找b.按姓名查找按姓名查找endl;ifstream infile(某某

28、某某某某.txt,ios:in);if(!infile)cerr open errorendl;exit(1);for(i=0;inumi;infilexingmingi;bi0=xingmingi;infilebanjii;bi1=banjii;infilexuehaoi;bi2=xuehaoi;infilehaomai;bi3=haomai;infilechengjii;bi4=chengjii;infilexingbiei;bi5=xingbiei;infilenianlingi;bi6=nianlingi;infileminzui;bi7=minzui;infileguojii;bi8

29、=guojii;infileshengrii;bi9=shengrii;infilezhuzhii;bi10=zhuzhii;cout请输入请输入 a 或者或者 b!ch;if(ch=a)cout请输入学号!请输入学号!searchxuehao;for(i=0;iN;i+)if(xuehaoi=searchxuehao)w=1;coutsetw(9)姓名姓名bi0endl;coutsetw(9)班级班级bi1endl;coutsetw(9)学号学号bi2endl;coutsetw(9)号码号码bi3endl;coutsetw(9)成绩成绩bi4endl;coutsetw(9)性别性别bi5en

30、dl;coutsetw(9)年龄年龄bi6endl;coutsetw(9)民族民族bi7endl;coutsetw(9)国籍国籍bi8endl;coutsetw(9)生日生日bi9endl;coutsetw(9)住址住址bi10endl;if(w=0)cout无此人信息!无此人信息!endl;else if(ch=b)cout请输入姓名!请输入姓名!searchxingming;for(i=0;iN;i+)if(xingmingi=searchxingming)w=1;coutsetw(9)姓名姓名bi0endl;coutsetw(9)班级班级bi1endl;coutsetw(9)学号学号bi

31、2endl;coutsetw(9)号码号码bi3endl;coutsetw(9)成绩成绩bi4endl;coutsetw(9)性别性别bi5endl;coutsetw(9)年龄年龄bi6endl;coutsetw(9)民族民族bi7endl;coutsetw(9)国籍国籍bi8endl;coutsetw(9)生日生日bi9endl;coutsetw(9)住址住址bi10endl;if(w=0)cout无此人信息!无此人信息!endl;else cout没有此选项!没有此选项!endl;void student:display()int k,num;stringxingming,banji,xu

32、ehao,haoma,chengji,xingbie,nianling,minzu,guoji,shengri,zhuzhi;ifstream infile(某某某某某某.txt,ios:in);if(!infile)cerr open errorendl;exit(1);for(k=0;knum;infilexingming;coutsetw(9)姓名姓名:xingmingbanji;coutsetw(9)班级班级:banjixuehao;coutsetw(9)学号学号:xuehaohaoma;coutsetw(9)号码号码:haomachengji;coutsetw(9)成绩成绩:chen

33、gjixingbie;coutsetw(9)性别性别:xingbienianling;coutsetw(9)年龄年龄:nianlingminzu;coutsetw(9)民族民族:minzuguoji;coutsetw(9)国籍国籍:guojishengri;coutsetw(9)生日生日:shengrizhuzhi;coutsetw(9)住址住址:zhuzhiendl;infile.close();void student:output()int k,num;string xingming;ifstream infile(张志军张志军.txt,ios:in);if(!infile)cerr o

34、pen errorendl;exit(1);for(k=0;knum;cout* 显示所有的学生姓名显示所有的学生姓名 *endl;cout现有的学生现有的学生:xingming;coutsetw(9)姓名姓名:xingmingch;while(ch!=0)system(cls);switch(ch)case 1:stu.add();break;case 2:stu.del();break;case 3:stu.output();break;case 4:stu.display();break;case 5:stu.change();break;case 6:stu.search();brea

35、k;case 0:cout退出系统退出系统!;break;default:cout你输入的序号错误你输入的序号错误!ch;注:注:1.按执行键后出现以下界面。按执行键后出现以下界面。2.在每一次的选择中都会出现相同的界面在每一次的选择中都会出现相同的界面, 当你选择后就会跳转到下个执行功能当你选择后就会跳转到下个执行功能界面,具体实现情况如下:界面,具体实现情况如下:3:选择:选择: “1.添加学生信息添加学生信息”后则行情况:后则行情况:4:选择:选择“3.显示学生姓名显示学生姓名”后的情况:后的情况:5:选择:选择“4.显示全部学生信息显示全部学生信息”后的情况:后的情况:6:选择:选择“5.修改学生信息修改学生信息”后的情况:后的情况:7:选择:选择“6.查询学生信息查询学生信息”后的情况:后的情况:8:选择:选择“1.删除学生信息删除学生信息”后的情况:后的情况:当再按当再按 3 或或 4 时会出现:时会出现:9:选择:选择“0.保存数据并退出系统保存数据并退出系统”后的情况:后的情况:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号