c語言程序設計答案,c語言程序設計答案解析

本文目錄一覽:

求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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-22 05:09
下一篇 2024-11-22 05:09

相關推薦

  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • 學堂雲Python語言程序設計答案

    學堂雲Python語言程序設計是一門重要的計算機專業課程。它涵蓋了Python語言及其應用,包括基礎語法、函數、文件處理、數據結構、圖形界面和網絡編程等內容。在學習中,我們經常會需…

    編程 2025-04-29
  • 南京郵電大學Python慕課答案

    本文將詳細闡述南京郵電大學Python慕課答案,為大家提供學習Python課程的參考。 一、應用範圍 Python是一種高級通用編程語言,應用範圍廣泛,包括Web開發、數據分析與科…

    編程 2025-04-28
  • 大學化學科學出版社教材答案

    本文將從以下幾個方面對大學化學科學出版社教材答案進行詳細闡述,幫助您更好地應對學習中的問題: 一、獲取教材答案的渠道 學習過程中,有時候會遇到難以解答的問題,這時候就需要查看教材答…

    編程 2025-04-28
  • Python初探答案第七關——解題指南

    Python初探答案第七關是一道典型的Python編程題目,涉及字符串的判斷和操作。下面我們將從多個方面詳細闡述這道題目的解題方法。 一、題目分析 首先,我們需要仔細研究題目要求以…

    編程 2025-04-28
  • 計算機二級Python語言程序設計難嗎?

    計算機二級Python語言程序設計並不難,只需要掌握好基礎知識,多練習,多思考,就能輕鬆掌握。 一、Python基礎知識 Python語言相對於其他編程語言來說,語法簡介明了,易於…

    編程 2025-04-28
  • Python語言程序設計教程PDF趙璐百度網盤介紹

    Python語言程序設計教程PDF趙璐百度網盤是一本介紹Python語言編程的入門教材,本文將從以下幾個方面對其進行詳細闡述。 一、Python語言的特點 Python語言屬於解釋…

    編程 2025-04-28
  • 小甲魚Python課後作業及答案百度雲

    小甲魚課程是一門 Python 開發的視頻課程,自 2008 年以來一直廣受歡迎。本文主要介紹小甲魚 Python 課後作業及答案所在的百度雲地址。以下是詳細內容: 一、百度雲地址…

    編程 2025-04-27
  • Python第二版課後答案用法介紹

    本篇文章主要從以下幾個方面對Python第二版課後答案做詳細的闡述: 一、Python第二版的重要性 Python是一種高級編程語言,被廣泛應用於科學計算、Web開發、人工智能等領…

    編程 2025-04-27
  • 北京大學python語言基礎與應用超星答案解析

    北京大學python語言基礎與應用是一門涵蓋了python語言基礎知識、數據處理、web開發等方面的課程。其中超星在線學習平台為學生提供了練習和試卷答題功能。本文將從試卷中常見的知…

    編程 2025-04-27

發表回復

登錄後才能評論