安徽工业大学C++课程设计Word文档下载推荐.docx
- 文档编号:17269946
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:32
- 大小:684.64KB
安徽工业大学C++课程设计Word文档下载推荐.docx
《安徽工业大学C++课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《安徽工业大学C++课程设计Word文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。
{
private:
charstr[N];
intlen;
public:
string(char*p)
copy(str,p);
}
string(){};
voidcopy(char*s1,char*s2);
voidcopy(char*s);
voidstr_set()
cin>
>
str;
}
voidstr_out()
cout<
<
str<
endl;
voidconnect(char*s);
voidswap(char*s1,char*s2);
intlength();
intfind(chars);
intcompare(char*s);
};
intstrlen(char*s)
inti=0;
while(s[i++]!
='
\0'
);
returni-1;
voidpointout()
charyorn;
"
\n是否退出系统?
:
;
y=退出,n=不退出,继续。
"
yorn;
if(yorn=='
y'
||yorn=='
Y'
)
flag=1;
else
n'
N'
)
{
flag=0;
请再次输入你所选择的功能序号\n"
输入有误,请重新输入"
}
intstring:
length()
while(str[i++]!
returni-1;
find(chars)
intk=length();
for(inti=0;
i<
k;
i++)
if(str[i]==s)
returni;
return-1;
voidstring:
copy(char*s1,char*s2)
while(s2[i]!
s1[i]=s2[i];
i++;
s1[i]='
copy(char*s)
while(str[i]!
s[i]=str[i];
s[i]='
swap(char*s1,char*s2)
copy(str,s1);
copy(s1,s2);
copy(s2,str);
compare(char*s)
intk1,k2,t;
k1=strlen(s);
k2=length();
if(k1<
k2)
t=k1;
k1=k2;
k2=t;
for(i=0;
k1;
if(s[i]<
str[i])
return1;
elseif(s[i]>
return0;
connect(char*s)
inti=0,k=length();
while(s[i]!
str[k]=s[i];
k++;
str[k]='
voidmenu()
本系统的五个功能"
1:
进行两个字符串的连接\n"
2:
复制原有的一串字符\n"
3:
查找一串字符里的一个特定字符\n"
4:
交换两串字符\n"
5:
比较两串字符的大小\n"
请输入你想要执行的功能:
!
voidfunction1()
chars1[N];
strings;
请输入第一串字符:
\n"
s.str_set();
请输入另一串你想要连接的字符:
s1;
s.connect(s1);
连接后的字符串为:
s.str_out();
pointout();
voidfunction2()
请输入一串你想要复制的字符串:
复制的一串字符为:
s.copy(s1);
s1<
voidfunction3()
chars3;
请输入一串字符:
s=s1;
请输入你要查找的字符:
s3;
if(s.find(s3)!
=-1)
你所查字符下标为:
s.find(s3)<
即你所查找的字符是字符串中的第"
s.find(s3)+1<
个字符"
elsecout<
没有找到你要查找的字符!
voidfunction4()
chars1[N],s2[N];
请输入第一个字符串s1:
请输入第二个字符串s2:
s2;
s.swap(s1,s2);
交换后的结果为:
s1="
cout<
s2="
s2<
voidfunction5()
请输入第二串字符:
结果:
pare(s1)<
voidfunction(char&
n1)
n=n1-'
0'
switch(n)
case1:
function1();
break;
case2:
function2();
case3:
function3();
case4:
function4();
case5:
function5();
default:
你输入的功能序号有误,请重新输入!
intmain()
charn1;
menu();
while
(1)
if(flag)
你已经退出系统!
break;
n1;
function(n1);
2.学生信息管理系统
a.使用C++实现对文本文件的读写。
b.使用OOP方法综合设计。
c.功能:
添加学生信息,删除学生信息,修改学生信息,查询学生信息学号(姓名或学号),保存学生信息至文件。
d.学生信息如下:
地址,出生日期,学科成绩(语文,英语,数学,物理),
个人信息(姓名,性别,民族,国籍,学历),联系方式(手机,家庭电话,学校电话)。
首先查看实验要求和目的,知道自己的目的是什么。
查看并找出自己实现相关成员函数时所需要的头文件是什么,要他们分别实现什么功能。
设计一个关于字符串的student类。
观察自己所要实现的类中的主要功能是什么,并且根据其功能设计定义相关的成员函数。
e:
通过本次的实现让我对于类的创建与实现有了更深的认识和了解,当然最主要的还是让我对于文件的一些处理有了大概的认识,如:
文件内容的写入,修改,删除,以及如何创建一个文件,文件的打开与关闭以及如何从中提取信息都有了一些了解,巩固了原有的知识,也开拓了一些眼界。
当然了制作这个学生信息管理系统还有横多的不足,如:
没有按照要求用链表去实现以及一些处理方面都不太完善。
iostream>
fstream>
string>
iomanip>
usingnamespacestd;
#defineM200
intN=0;
classstudent
student();
voidadd();
voiddel();
voidchange();
voidsearch();
voiddisplay();
//显示全部学生信息
voidoutput();
//显示学生姓名
staticintnum;
stringxingming,banji,xuehao,haoma,chengji,xingbie,nianling,minzu,guoji,shengri,zhuzhi;
voidmenu()
功能列表:
******简单学生信息管理系统******"
*1.添加学生信息*"
*2.删除学生信息*"
*3.显示学生姓名*"
*4.显示全部学生信息*"
*5.修改学生信息*"
*6.查询学生信息*"
*0.保存数据并退出系统*"
**********************************"
输入你选择的功能:
intstudent:
num=0;
student:
student(){}
voidstudent:
add()
stringaddxingming,addbanji,addxuehao,addhaoma,addchengji,addxingbie,addnianling,addminzu,addguoji,addshengri,addzhuzhi;
ofstreamoutfile("
某某某.txt"
ios:
app);
if(!
outfile)
{
cerr<
openerror"
exit
(1);
//异常情况退出
}
N=N+1;
请输入您要添加的数据"
num++;
outfile<
num<
cout<
请输入姓名:
cin>
addxingming;
addxingming<
请输入班级:
cin>
addbanji;
outfile<
addbanji<
请输入学号:
cin>
addxuehao;
outfile<
addxuehao<
请输入号码:
addhaoma;
addhaoma<
cout<
请输入成绩:
addchengji;
addchengji<
请输入性别:
addxingbie;
addxingbie<
请输入年龄:
addnianling;
addnianling<
请输入民族:
addminzu;
addminzu<
请输入国籍:
addguoji;
addguoji<
请输入生日:
addshengri;
addshengri<
请输入住址:
addzhuzhi;
addzhuzhi<
outfile.close();
已添加成功!
del()
intk,i;
intnum[M];
stringxingming[M],banji[M],xuehao[M],haoma[M],chengji[M],xingbie[M],nianling[M],minzu[M],guoji[M],shengri[M],zhuzhi[M];
ifstreaminfile("
in);
infile)
for(i=0;
N;
i++)
infile>
num[i];
xingming[i];
setw(9)<
xingming[i]<
banji[i];
banji[i]<
xuehao[i];
xuehao[i]<
haoma[i];
haoma[i]<
chengji[i];
chengji[i]<
xingbie[i];
xingbie[i]<
nianling[i];
nianling[i]<
minzu[i];
minzu[i]<
guoji[i];
guoji[i]<
shengri[i];
shengri[i]<
zhuzhi[i];
住址:
zhuzhi[i]<
你想删除第几个?
k=k-1;
infile.close();
out);
outfile)
//退出程序
if(i!
=k)
{
num[i]<
}
N=N-1;
已删除成功!
change()
inti,k;
姓名:
班级:
学号:
号码:
成绩:
性别:
年龄:
民族:
国籍:
生日:
cerr<
exit
(1);
你想修改第几组数据?
请输入新的数据:
xingming[k];
banji[k];
xuehao[k];
号码:
haoma[k];
成绩:
chengji[k];
性别:
xingbie[k];
年龄:
nianling[k];
民族:
minzu[k];
国籍:
guoji[k];
生日:
shengri[k];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽 工业大学 C+ 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)