本文目錄一覽:
求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 );
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/180005.html