C++课程设计报告6691514Word下载.docx

上传人:b****6 文档编号:18223870 上传时间:2022-12-14 格式:DOCX 页数:56 大小:30.51KB
下载 相关 举报
C++课程设计报告6691514Word下载.docx_第1页
第1页 / 共56页
C++课程设计报告6691514Word下载.docx_第2页
第2页 / 共56页
C++课程设计报告6691514Word下载.docx_第3页
第3页 / 共56页
C++课程设计报告6691514Word下载.docx_第4页
第4页 / 共56页
C++课程设计报告6691514Word下载.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

C++课程设计报告6691514Word下载.docx

《C++课程设计报告6691514Word下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告6691514Word下载.docx(56页珍藏版)》请在冰豆网上搜索。

C++课程设计报告6691514Word下载.docx

listNode(listNode&

listNode*create();

创建链表

listNode*insert(listNode*);

对链表进行插入操作;

listNode*del(listNode*,char*);

删除资料中含有char*的节点;

voidprintlistNode(listNode*);

打印链表;

~listNode();

voidsearch(char*,listNode*);

查找链表中含有char*的学生;

listNode*modify(listNode*);

修改

private:

Informdata;

staticintnum;

listNode*nextPtr;

};

****************************Inform.();

~achieve();

voidsetnum(inta);

intgetnum();

subject*TT;

intnum;

floatsum;

floataverage;

*******************************subject.;

题目2学生选修课系统

1.选修课系统学生端

完成学生选课、学生情况、选课情况、退出系统等功能的设计与实现。

2.选修课系统管理端

完成增加学生、增加课程、删除学生、删除课程、填写成绩、更改学分、学生情况、选课情况、保存数据、退出系统等功能的设计与实现。

定义课程

structcourse某个学生所学的课程中的某一个

{

charcname[20];

课程名称

floatgrade;

课程成绩

course*Next;

指向下一个课程的指针

学生类

classstudent

student()

{

root=NULL;

constmaxcourse=5;

factcourse=0;

}

voidreadname(charN[]);

读入学生的姓名

voidgetname(charN[]);

得到学生的姓名

voidwrecourse(charN[],floatscore);

要据课程名写入学生课程的成绩

floataverage();

学生课程的平均成绩

voidaddcourse(charN[],floatg);

给学生增加一门课

intfindcourse(charN[]);

查找是否已有此课程,如果有返回1,如果没有返回0

intretfactcourse()

returnfactcourse;

}得到所学的课程数目

course*retroot()

returnroot;

利用键表将所有的课程保存起来

intretmaxcourse()

return5;

得到最多可学的课程数目

voidclrroot()清零

charsname[20];

学生的姓名

intmaxcourse;

学生最多可以学五门课程

intfactcourse;

学生实际所学的课程数目

course*root;

课程的根结点指针

structstudentdb

studentstu;

studentdb*Next;

structstudentname

chartname[20];

学生的名字

floatresult;

学生所得的该课程分数

studentname*Next;

课程类

classsubject

subject()

first=NULL;

maxstudent=30;

activestudnet=0;

floatreadcredit();

得到课程的学分

voidgetcredit(floata);

设置学分

floatgetaverage();

得到学生的平均成绩

floatgetresult(charN[]);

查找某个学生的成绩

voidgetkname(charN[]);

读出课程的名称

voidsetkname(charN[]);

读入课程的名称

voidfindstudent(studentdb*P);

根据该课程的名称,寻找选这课程的学生

studentname*retfirst()

returnfirst;

返回根结点

intretactivestudent()

returnactivestudnet;

返回实际学生数

intretmaxstudent()

return30;

返回最多学生数30

voidclractivestudnet()

activestudnet=0;

从文件中读出来后将实际学生数清零

intmaxstudent;

最多学生数

intactivestudnet;

实际学生数

studentname*first;

学生名单

floatcredit;

该课程的学分

floataveragerusult;

该课程的平均成绩

charkname[20];

该课程的名称

四、课程设计文字资料要求

(1)每个同学必须独立完成自己任务的软件课程设计说明书,字数不少于2000字;

(2)不得少于300行有效代码;

(3)说明书书写规范、语句通顺、图表清晰。

(4)说明书正文前附《课程设计任务书》,《课程设计指导情况表》(此内容不在2000字范围中),一律用A4纸打印或使用学校统一的课程设计报告纸;

(5)说明书要求文字打印,统一格式,封面规范,装订成册,一式一份。

五、总结报告

学生对课程设计的全过程做出系统总结报告(《课程设计说明书》)。

课程设计说明书(正文)应包括的主要内容有:

需求分析、系统总框图、UML类图、每个模块的设计分析、列出所有定义的函数及说明、举例说明1、2个比较有特点的算法、存在的问题与不足及对策、使用说明(操作手册)、课程设计的心得和体会等,再报告的最后附上程序源代码。

六、考核

学生完成课程设计后,采用设计答辩的形式,评定学生设计水平。

每位学生必须在规定时间内完成课程设计。

指导教师要从以下几个方面加以考察:

学生软件开发基础知识掌握的程度、选定的方案及设计是否正确、独立分析问题和解决问题的能力、学生的创新精神、总结报告水平、学习态度(可从平时指导过程中考察)、科学作风、思想表现等。

对雷同报告均记为不合格报告,成绩也不合格。

教师对每一个学生做出评语,并根据以上几方面给出具体的成绩。

答辩时需提交程序源代码文档。

(提交的电子文档文件的命名方式为:

学号+姓名)

七、实间安排

1.13周星期一1、2节在

203下达课程指导书,宣布纪律;

2.辅导时间:

13~15周星期一下午、星期五上午,地点:

2号机房。

其他时间网上答疑:

zhangxiaorong.;

3.报告提交时间:

15周星期五下午,地点:

参考代码

学生学籍管理系统

程序源代码

*****************************listNode.>

>

p1->

data;

num=num+1;

if(num==1)

):

"

;

cin>

ch;

}while(ch=='

y'

p2->

nextPtr=NULL;

cout<

<

"

\t输入学生个数为:

num<

endl;

return(>

insertdata;

listNode*p0,*p1;

p0=newlistNode[LEN];

assert(p0!

=0);

p0->

data=insertdata;

p1=newlistNode[LEN];

assert(p1!

p1=insertedintothelist."

return):

charch;

if(ch=='

if(=0,j=0;

for(inti=0;

i<

num;

i++)

if(+=1;

while(j<

MAX2)

{

t[j]===0)

endl<

\t没有找到与"

sea<

相匹配的资料。

elseif(n==1)

找到一个学生资料,要输出吗?

(yn)."

charc;

cin>

c;

if(c=='

{

cout<

\t该学生学生资料是:

(*t)->

data<

}

else

\t找到"

n<

个学生."

要输出这些学生资料(yn)."

if((c=getchar())!

='

exit

(2);

else

for(intj=n-1;

j>

=0;

j--)

cout<

j<

(t[j])->

}

listNode*listNode:

:

modify(listNode*>

search(ch,)"

charc;

cin>

if(c=='

>

(16)<

t.name<

\t\t\t"

cout<

t.sex<

output<

t.number<

chara;

\t\t要输出详细信息吗?

(yn)"

a;

if(a=='

********************详细资料********************"

身份证号电话号码寝室号"

output<

setprecision(20)<

t.id<

t.phonenumber<

t.roomnumber<

if((t.ach).getnum()==0)

\t没有输入成绩信息。

(t.ach).instruction();

output<

t.ach;

}

returnoutput;

istream&

operator>

(istream&

input,Inform&

t)

姓名:

input>

t.name;

学号:

t.number;

身份证号:

t.id;

性别:

t.sex;

电话号码:

t.phonenumber;

寝室号:

t.roomnumber;

\t\t要继续输入成绩情况吗?

(yn)"

\t&

&

成绩情况&

\t输入该生学习的科目数目:

intch;

(t.ach).setnum(ch);

input>

(t.ach).setnum(0);

returninput;

Inform:

Inform()

id=newchar[19];

number=newchar[12];

name=newchar[10];

sex=newchar[4];

phonenumber=newchar[8];

roomnumber=newchar[4];

Inform(Inform&

p)

assert(id!

strcpy(id,p.id);

assert(number!

strcpy(number,p.number);

assert(name!

strcpy(name,p.name);

assert(sex!

strcpy(sex,p.sex);

assert(phonenumber!

strcpy(phonenumber,p.phonenumber);

assert(roomnumber!

strcpy(roomnumber,p.roomnumber);

ach=p.ach;

intInform:

operator==(constInform&

if((strcmp(number,t.number)==0)||(strcmp(name,t.name)==0)||(strcmp(id,t.id)==0)

||strcmp(phonenumber,t.phonenumber)||(strcmp(roomnumber,t.roomnumber)==0))

return1;

return0;

operator==(char*s)

if((strcmp(number,s)==0)||(strcmp(name,s)==0)||(strcmp(id,s)==0)||

(strcmp(roomnumber,s)==0)||(strcmp(phonenumber,s)==0))

operator!

=(char*t)

if((strcmp(number,t)==0)||(strcmp(name,t)==0)||(strcmp(id,t)==0)

||(strcmp(phonenumber,t)==0)||(strcmp(roomnumber,t)==0))

}

Inform&

operator=(Inform&

a)

ach=a.ach;

strcpy(id,a.id);

strcpy(name,a.name);

strcpy(number,a.number);

strcpy(sex,a.sex);

strcpy(phonenumber,a.phonenumber);

strcpy(roomnumber,a.roomnumber);

return*this;

~Inform()

delete[]number;

delete[]id;

delete[]name;

delete[]sex;

delete[]phonenumber;

delete[]roomnumber;

************************achieve.();

#endif

*****************************achieve.cpp*******************************

#include"

achieve.num;

voidachieve:

countaverage(subject*t)

{

sum=average=0;

floattemp=0;

sum+=(t+i)->

xuefen;

temp+=((t+i)->

achievement)*((t+i)->

xuefen);

average=tempsum;

ostream&

operator<

(ostream&

output,achieve&

t.countaverage(t.TT);

t.num;

t.TT[i];

\t总学分:

t.sum<

\t该生的加权平均分是:

setprecision(4)<

t.average<

input,achieve&

intachieve:

operator==(achieve&

if(average==t.average&

sum==t.sum&

TT==t.TT)

achieve&

achieve:

operator=(achieve&

average=t.average;

sum=t.sum;

MAX1;

TT[i]=t.TT[i];

instruction()

********************成绩资料********************"

科目\t\t成绩\t\t学分"

~achieve()

delete[]TT;

***************************subject.cpp***************************************

subject.;

output,constsubject&

T)

setw(17)<

setiosflags(ios:

left)<

T.name<

T.achievement<

\t\t"

T.xuefen<

subject&

subject:

operator=(constsubject&

b)

strcpy(name,b.name);

achievement=b.achievement;

xuefen=b.xuefen;

**********************************list.cpp*******************************************

#include<

iostream.()

charpass[5];

do{

clrscr();

welcome();

pass;

if(strcmp(pass,"

E"

)==0)

exit

(1);

}while(strcmp(pass,passwords)!

staticlistNode*>

while

(1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1