本文目录一览:
求c语言程序设计答案
#include
fstream
#include
string.h
#include
iostream
#include
conio.h//用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请输入学生的姓名:";
cinname;
cout"\t\t请输入学生的班级:";
cinClass;
cout"\t\t请输入学生的学号:";
cinId;
cout"\t\t请输入C++的成绩:";
cinCnum;
cout"\t\t请输入数学课程的成绩:";
cinMnum;
cout"\t\t请输入英语课程的成绩:";
cinEnum;
cout"\t\t请输入日语的成绩:";
cinGnum;
sum=Cnum+Mnum+Enum+Gnum;
ave=(Cnum+Mnum+Enum+Gnum)/4;
}
void
ReadFile(istream
in)
{
innameClassIdCnumMnumEnumGnumavesum;
}
void
Show()
{
cout"姓名:"nameendl"班级:"Classendl"学号:"Idendl"C++:"Cnumendl
"数学:"Mnumendl"外语:"Enumendl"日语:"Gnumendl"平均成绩:"aveendl"总成绩:"sumendlendlendl;
}
};
//﹌﹌﹌﹌﹌﹌﹌﹌﹌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;
in.open("sort.txt");
if(!in)
cout"这是一个新系统,无学生信息。请先输入。"endl;
else
{
while(!in.eof())
{
End-ReadFile(in);
if(End-name[0]=='\0')break;
End-Next=new
Student;
End=End-Next;
}
in.close();
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请选择:";
cinx;
switch(x)
{
case
1:{cout"\t\t请输入要查找的学生的姓名:";cinname;
if(p=FindItem(name))
{
p-Next-Show();
cout"输入任意字符!继续……";
getch();
}
else
{
cout"\t\t没有找到该姓名的学生!"'\n'endl;
cout"输入任意字符!继续……";
getch();
}
}break;
case
2:
{
cout"\t\t请输入要查找的学生的学号:";cinId;
if(p=FindID(Id))
{
p-Next-Show();
cout"输入任意字符!继续……";
getch();
}
else
{
cout"\t\t没有找到该学号的学生!"'\n'endl;
cout"输入任意字符!继续……";
getch();
}
}break;
case
3:{cout"\t\t请输入要查找的学生的班级:";cinClass;
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请输入要修改的人的学号:";cinID;
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请输入要删除的学生的学号:";cinID;
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(n2)
return;
for(p=Head-Next;p!=End;p=p-Next)
for(k=p-Next;k!=End;k=k-Next)
{
if(p-sumk-sum)
{
Studentmassage::Swap(p,k);
}
}
cout
"排序完成!"endl;
getch();
return;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void
Studentmassage::Save()
{
out.open("sort.txt");
for(Student
*p=Head-Next;p!=End;p=p-Next)
outp-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';
out.close();
}
void
code()
//密码
{
char
s1[20]="123",s2[20];
cout"请输入密码:";
while(cins2)
{
if(!strcmp(s1,s2))
{
Grade.ModifyItem();break;
}
else
cout"你输入的密码不正确,请重新输入:";
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int
main()
{
int
x,i=0;
bool
quit=false;
cout"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"endl;
for(i=0;i3;i++)
cout"\t\t◎\t\t\t\t\t\t
◎"endl;
cout"\t\t◎★★★★【
欢迎进入学生成绩管理系统
】★★★★◎"endl;
for(i=0;i3;i++)
cout"\t\t◎\t\t\t\t\t\t
◎"endl;
cout"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"endl;;
cout"请按任意键开始……";
getch();
while(!quit)
{
system("cls");
Grade.ShowMenu();
cinx;
switch(x)
{
case
0:cout"★★★★感谢您的使用★★★★"endl;quit=true;break;
case
1:Grade.AddItem();break;
case
2:Grade.Display();break;
case
3:Grade.Sort();break;
case
4:Grade.Find();break;
case
5:Grade.RemoveItem();break;
case
6:code();break;
}
}
return
0;
}
我稍微改了下,应该可以用~
额~~你们一定要C编吗~C++不可以嘛?
C语言程序设计试题 求标准答案 都是多选
1、答案:A
(单引号括起来的都是字符,而且一对单引号最多对应一个字符,\反斜杠是转义字符的开始,\72是ASCII码对应的字母H。也就是把H这个字母存到了变量char a中。就一个字符H。)
2、ACDE
解析:
int a=3,b=4,c=5;,
A、ab
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!((a<b)!c||b)
优先级由大到小:() ! ||
A选项,34错误,逻辑值0。
B选项,3=4正确,逻辑值1。
C选项,(3||4)5,(3||4)"或"逻辑运算符两边只要有一个非0的整个值就是1,15错,逻辑值0。
D选项,3=(4||5)错误,逻辑值0。
E选项,!((34)!5||4),先(34)逻辑值1,!5逻辑值0,10是0,0||4是1,!1是0,所以逻辑值0。
3、AC。
解析:A可以,B答案b不能被赋值(自左向右,计算||左侧就已经是1了右边就不用再计算了整个表达式无论右边如何整个逻辑值必定是1,计算机也就不会计算右边了)C可以(因为两边都必须计算才能得出最后的逻辑值答案),D不可以a不能被赋值(左边就一个a,构不成赋值,可能存放一个随机值,右边可以被赋值)。
4、ABCD。
外部函数几乎可以被所有函数调用。只要开头#include” "引入。
c语言程序设计(何钦铭 颜晖 第三版)课后习题答案
习 题 1
1.1 填空题
1.函数
2.主函数main();主函数main()
3.主函数main()
4.函数首部;函数体
5.{;}
6.顺序结构;选择结构;循环结构
7..c;.obj;.exe
1.2 思考题
1.答:结构化程序设计是指,为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构
2.答:算法是对具体问题求解步骤的一
种描述。计算机算法的表达工具通常采用以下几种方法:①用自然语言表示算法;②用流程图表示算法;③用伪代码表示算法;④用程序设计语言表示算法。
3.略
4.略
5.略
1.3 编程题
1.答:
#include "stdio.h"
main()
{ float a=10, b=20, h=5, s;
s=(a+b)*h/2;
printf("s=%f " , s );
}