求c语言程序设计答案

求c语言程序设计答案,第1张

#include

<fstream>

#include

<stringh>

#include

<iostream>

#include

<conioh>//用getch();

using

namespace

std;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

class

Student

{

public:

char

name[20];

char

Class[20];

char

Id[20];

int

Cnum;

//C课程得分

int

Mnum;

//数学课程得分

int

Enum;

//英语课程得分

int

Gnum;

//体育

int

sum;

//总分

int

ave;

//平均分

Student

Next;

void

Input()

{

cout<<"\t\t请输入学生的姓名:";

cin>>name;

cout<<"\t\t请输入学生的班级:";

cin>>Class;

cout<<"\t\t请输入学生的学号:";

cin>>Id;

cout<<"\t\t请输入C++的成绩:";

cin>>Cnum;

cout<<"\t\t请输入数学课程的成绩:";

cin>>Mnum;

cout<<"\t\t请输入英语课程的成绩:";

cin>>Enum;

cout<<"\t\t请输入日语的成绩:";

cin>>Gnum;

sum=Cnum+Mnum+Enum+Gnum;

ave=(Cnum+Mnum+Enum+Gnum)/4;

}

void

ReadFile(istream

&

in)

{

in>>name>>Class>>Id>>Cnum>>Mnum>>Enum>>Gnum>>ave>>sum;

}

void

Show()

{

cout<<"姓名:"<<name<<endl<<"班级:"<<Class<<endl<<"学号:"<<Id<<endl<<"C++:"<<Cnum<<endl

<<"数学:"<<Mnum<<endl<<"外语:"<<Enum<<endl<<"日语:"<<Gnum<<endl<<"平均成绩:"<<ave<<endl<<"总成绩:"<<sum<<endl<<endl<<endl;

}

};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

class

Studentmassage

{

public:

Studentmassage();

~Studentmassage();

void

ShowMenu();

void

Find();

void

Save();

void

ModifyItem();

void

RemoveItem();

void

Swap(Student

,Student

);

void

Sort();

int

ListCount();

void

Display()

{

for(Student

p=Head->Next;p!=End;p=p->Next)

p->Show();

cout<<"输入任意字符!继续……";

getch();

}

void

AddItem()

{

End->Input();

End->Next=new

Student;

End=End->Next;

cout<<"添加成功!"<<endl;

cout<<"输入任意字符!继续……";

getch();

}

private:

Student

Head,

End;

ifstream

in;

ofstream

out;

Student

FindItem(char

name)

{

for(Student

p=Head;p->Next!=End;p=p->Next)

if(!strcmp(p->Next->name,name))return

p;

return

NULL;

}

Student

FindID(char

Id)

{

for(Student

p=Head;p->Next!=End;p=p->Next)

if(!strcmp(p->Next->Id,Id))return

p;

return

NULL;

}

Student

FindCLASS(char

Class)

{

for(Student

p=Head;p->Next!=End;p=p->Next)

if(!strcmp(p->Next->Class,Class))return

p;

return

NULL;

}

}Grade;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

Studentmassage::Studentmassage()

{

Head=new

Student;

Head->Next=new

Student;

End=Head->Next;

inopen("sorttxt");

if(!in)

cout<<"这是一个新系统,无学生信息。请先输入。"<<endl;

else

{

while(!ineof())

{

End->ReadFile(in);

if(End->name[0]=='\0')break;

End->Next=new

Student;

End=End->Next;

}

inclose();

cout<<"\t\t读取学生信息成功!"<<endl;

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

Studentmassage::~Studentmassage()

{

Save();

for(Student

temp;Head->Next!=End;)

{

temp=Head->Next;

Head->Next=Head->Next->Next;

delete

temp;

}

delete

Head,End;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::ShowMenu()

{

cout<<"〓〓〓〓〓〓〓〓〓〓

〓〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓★★★★★

★★★★★★★

★★★★★〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

1增加学生成绩

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

2显示学生成绩

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

3排序统计成绩

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

4查找学生成绩

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

5删除学生成绩

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

6修改学生信息

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"〓〓〓〓〓〓〓〓〓★

0安全退出系统

★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"\n\t\t\n\t\t请选择:";

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::Find()

{

char

name[20]

,Id[10],Class[20];

int

x;

Student

p=NULL;

cout<<"\n\t\t\n";

cout<<"\t\t※

1按学生的姓名查找\n\t\t※

2按学生学号查找\n\t\t※

3按学生班级查找";

cout<<"\n\t\t\n请选择:";

cin>>x;

switch(x)

{

case

1:{cout<<"\t\t请输入要查找的学生的姓名:";cin>>name;

if(p=FindItem(name))

{

p->Next->Show();

cout<<"输入任意字符!继续……";

getch();

}

else

{

cout<<"\t\t没有找到该姓名的学生!"<<'\n'<<endl;

cout<<"输入任意字符!继续……";

getch();

}

}break;

case

2:

{

cout<<"\t\t请输入要查找的学生的学号:";cin>>Id;

if(p=FindID(Id))

{

p->Next->Show();

cout<<"输入任意字符!继续……";

getch();

}

else

{

cout<<"\t\t没有找到该学号的学生!"<<'\n'<<endl;

cout<<"输入任意字符!继续……";

getch();

}

}break;

case

3:{cout<<"\t\t请输入要查找的学生的班级:";cin>>Class;

if(p=FindCLASS(Class))

{

p->Next->Show();

cout<<"输入任意字符!继续……";

getch();

}

else

{

cout<<"\t\t没有找到该班级的学生!"<<'\n'<<endl;

cout<<"输入任意字符!继续……";

getch();

}

}break;

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::ModifyItem()

//修改信息

{

char

ID[20];

Student

p=NULL;

cout<<"\t\t请输入要修改的人的学号:";cin>>ID;

if(p=FindID(ID))

{

cout<<"\t\t已找到学生的信息,请输入新的信息!"<<endl;

p->Next->Input();

cout<<"修改成功!"<<endl;

cout<<"输入任意字符!继续……";

getch();

}

else

{

cout<<"\t\t没有找到!"<<endl;

cout<<"输入任意字符!继续……";

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::RemoveItem()

//

删除信息

{

char

ID[20];

Student

p=NULL,temp=NULL;

cout<<"\t\t请输入要删除的学生的学号:";cin>>ID;

if(p=FindID(ID))

{

temp=p->Next;

p->Next=p->Next->Next;

delete

temp;

cout<<"\t\t删除成功!"<<endl;

cout<<"输入任意字符!继续……";

getch();

}

else

{

cout<<"\t\t没有找到!"<<endl;

cout<<"输入任意字符!继续……";

getch();

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::Swap(Student

p1,

Student

p2)

{

Student

temp=new

Student;

strcpy(temp->name,p1->name);

strcpy(temp->Id,p1->Id);

temp->Cnum=p1->Cnum;

temp->Mnum=p1->Mnum;

temp->Enum=p1->Enum;

temp->sum=p1->sum;

strcpy(p1->name,p2->name);

strcpy(p1->Id,p2->Id);

p1->Cnum=p2->Cnum;

p1->Mnum=p2->Mnum;

p1->Enum=p2->Enum;

p1->sum=p2->sum;

strcpy(p2->name,temp->name);

strcpy(p2->Id,temp->Id);

p2->Cnum=temp->Cnum;

p2->Mnum=temp->Mnum;

p2->Enum=temp->Enum;

p2->sum=temp->sum;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

int

Studentmassage::ListCount()//统计当前的记录总数

{

if(!

Head)

return

0;

int

n=0;

for(Student

p=Head->Next;p!=End;p=p->Next)

{

n++;

}

return

n;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::Sort()//对当前学生进行排序

{

cout

<<"Sorting"<<endl;

Student

p=NULL,p1=NULL,k=NULL;

int

n=Studentmassage::ListCount();

if(n<2)

return;

for(p=Head->Next;p!=End;p=p->Next)

for(k=p->Next;k!=End;k=k->Next)

{

if(p->sum>k->sum)

{

Studentmassage::Swap(p,k);

}

}

cout

<<"排序完成!"<<endl;

getch();

return;

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

void

Studentmassage::Save()

{

outopen("sorttxt");

for(Student

p=Head->Next;p!=End;p=p->Next)

out<<p->name<<"\t"<<p->Class<<"\t"<<p->Id<<"\t"

<<p->Cnum<<"\t"<<p->Mnum<<"\t"<<p->Enum<<"\t"<<p->Gnum<<"\t"<<p->ave<<"\t"<<p->sum<<'\n';

outclose();

}

void

code()

//密码

{

char

s1[20]="123",s2[20];

cout<<"请输入密码:";

while(cin>>s2)

{

if(!strcmp(s1,s2))

{

GradeModifyItem();break;

}

else

cout<<"你输入的密码不正确,请重新输入:";

}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

int

main()

{

int

x,i=0;

bool

quit=false;

cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;

for(i=0;i<3;i++)

cout<<"\t\t◎\t\t\t\t\t\t

◎"<<endl;

cout<<"\t\t◎★★★★

欢迎进入学生成绩管理系统

★★★★◎"<<endl;

for(i=0;i<3;i++)

cout<<"\t\t◎\t\t\t\t\t\t

◎"<<endl;

cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl;;

cout<<"请按任意键开始……";

getch();

while(!quit)

{

system("cls");

GradeShowMenu();

cin>>x;

switch(x)

{

case

0:cout<<"★★★★感谢您的使用★★★★"<<endl;quit=true;break;

case

1:GradeAddItem();break;

case

2:GradeDisplay();break;

case

3:GradeSort();break;

case

4:GradeFind();break;

case

5:GradeRemoveItem();break;

case

6:code();break;

}

}

return

0;

}

我稍微改了下,应该可以用~

额~~你们一定要C编吗~C++不可以嘛?

如何学习C语言,点击看详细1,学习C语言,你可以是一个很好的工具,以应付任何类型的节目。

2,一定要练习上机,通过程序来了解相关的知识。反复几次方得正果。

3,不学C语言作为一种使命,而不是把它看作是一项艰巨的任务。要有信心,只要一个人智力正常的可以学习C语言。始终保持游戏的心态,多去发现的乐趣。当编程乐趣的感觉,你是在电脑不可估量的未来而言。

4,如果程序不能找出最后时刻抛开一时,过一段时间,你就可以实现从其他程序的真相。

5,C语言作为一个整体,有机联系的各个方面,从整体上把握它,不要把它变成一个独立不相关的部分。

6,不要完全相信,材料(包括本讲义),最好在船上所有的结论进行验证。如何学习C语言,点击看详细1工欲善其事,必先利其

准备:一个开发环境,如的Turbo C 20,Visual C ++和其他开发工具;一个良好的材料,如“C语言程序设计”(第二版)的主编谭浩强。我也看到了他的第一个版本,这是它的简单性,完美的吸引只是把它放下,与两个音看着星期一。

2

秘密武器初学者学习计算机语言是“阅读计划”,申请小型,感兴趣的游戏类节目,并加深模仿C语言程序设计的理解和运作,只有不断地写,一个调试器来获得经验,深化的过程式编程,这是学习写优秀的高级程序秘密武器的认识。

3发扬探索精神

学习C语言编程,有点像做数学题,只要我们善于思考,善于发掘,培养探索精神找到好的设计思路和方法,以C语言掌握的真正本质。

准备C语言考试技巧

1了解大纲,鸡

乱书面形形色色,大多数的问题是内容和要求的基本轮廓同样的,难度不高,但内容是非常广泛的,应牢牢把握的C语言考试大纲要求的基本组成部分。只有熟悉题型,了解语法,句法,是为了鸡混乱认识。

2良好的感应,强化记忆

需要基本的计算机知识和记忆基本概念,如果检查,因此是一大遗憾失分。如:C语言中有几种不同类型的数据?优先级的 *** 作是什么?因此,我们必须善于整合这些基本的计算机知识,加强理解的基础上记忆。

3重视实践,调试好企业名录计算机科学是一门理论和实践科目都很强的C语言测试参与者的基本理论要求并不高,而该机往往是针对这些问题很多考生无法通过考试,所以要勤于实践的重要原因。

4做练习,查漏补缺

在指定用书经过仔细研究,最好是找一些问题,严重考验,检讨,你可以检查你的情况;其次,可以查漏补缺; 3心理状况可以调整,以保持冷静正式考试做准备,万无一失。

习  题  1

11  填空题

1.函数

2.主函数main();主函数main()

3.主函数main()

4.函数首部;函数体

5.{;}

6.顺序结构;选择结构;循环结构

7.c;obj;exe

12  思考题

1.答:结构化程序设计是指,为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构

2.答:算法是对具体问题求解步骤的一

种描述。计算机算法的表达工具通常采用以下几种方法:①用自然语言表示算法;②用流程图表示算法;③用伪代码表示算法;④用程序设计语言表示算法。

3.略

4.略

5.略

13  编程题

1.答:

#include "stdioh"

main()

{  float a=10, b=20, h=5, s;

s=(a+b)h/2;

printf("s=%f " , s );

}

以上就是关于求c语言程序设计答案全部的内容,包括:求c语言程序设计答案、C语言程序设计,再求答案啊。、c语言程序设计(何钦铭 颜晖 第三版)课后习题答案等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9306830.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存