c語言中paa,c語言中判斷是否為閏年

本文目錄一覽:

p.a在c語言中是什麼意思啊

p 是struct S 類型的結構體,p.a就是p這個結構的成員a,

data[1]也是struct S 類型的結構體, p=data[1];

data[1]={20,200} 所以 p.a=20;執行”,++(p.a));結果21

c語言——學生成績管理系統

#includeiostream

#includeiomanip

#includefstream

#includestring

using namespace std;

#define max 100;

class student

{

public:

student *next;

public:

string name;//姓名

long num;//學號

int x,y,z;//數學,語文,英語

int AA;//總分

void play(){coutname”學生的學號是”num”,數學:”x”,語文:”y”,英語:”z”,總分:”AAendl;};

student(string sname,long snum,int sx,int sy,int sz)

{

name=sname;

num=snum;

x=sx;

y=sy;

z=sz;

}

};

class cla

{

public:

cla()//構造函數

{

stu=0;

sload();

}

~cla()//析構函數

{

student *p;

p=stu;

while(p)

{

p=p-next;

delete stu;

stu=p;

}

stu=0;

}

void sadd(); //添加

void sremove(); //刪除

void samend(); //修改

void ssearch(); //查詢

void staxis(); //排序

void ssave(); //保存

void sload(); //讀取

//排序函數

void pxh();

void psx();

void pyw();

void pyy();

void pAA();

private:

student *stu; //頭接點

};

void cla::sadd()//添加

{

student *q;

string name1;

long num1;

int x1,y1,z1;

system(“cls”);

cout”\n **增加的學生** \n”endl;

cout”請輸入學生的(中間用空格間隔) “endl;

cout”姓名 學號 數學成績 語文成績 英語成績:”endl;

cinname1num1x1y1z1;

q=new student(name1,num1,x1,y1,z1);

q-next=0;

q-AA=x1+y1+z1;

if(stu)

{

student *t;

t=stu;

if(t-num==num1)

{

cout”學號已存在,請重新輸入”endl;

return;

}

while(t-next)

{

if(t-num==num1)

{

cout”學號已存在,請重新輸入”endl;

return;

}

t=t-next;

}

t-next=q;

}

else

{

stu=q;

}

cout”輸入完畢”endl;

}

void cla::sremove()//刪除

{

system(“cls”);

int num1;

cout”\n** 刪除學生信息 **\n”;

cout”請輸入想要刪除學生的學號:”;

cinnum1;

//查找要刪除的結點

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1-num==num1)

break;

else

{

p2=p1;

p1=p1-next;

}

}

//刪除結點

if(p1!=NULL)//若找到結點,則刪除

{

p1-play();

cout”確定刪除嗎?[Y/N]”endl;

char c;cinc;

if(toupper(c)!=’Y’) return;

if(p1==stu) //若要刪除的結點是第一個結點

{

stu=p1-next;

delete p1;

}

else //若要刪除的結點是後續結點

{

p2-next=p1-next;

delete p1;

}

cout”找到學號為”num1″的學生,並刪除\n”;

}

else //未找到結點

cout”未找到想要刪除的學生!\n”;

}

void cla::samend()//修改

{

system(“cls”);

long num1;

cout”\n** 修改學生信息 **\n”;

cout”輸入要修改學生的學號”;

cinnum1;

//查找要修改的結點

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1-num==num1)

break;

else

{

p2=p1;

p1=p1-next;

}

}

if(p1!=NULL)

{

cout”學號是”num1″的學生的信息”endl;

cout”姓名 “p1-name”數學”p1-x”語文”p1-y”英語”p1-zendl;

cout”請輸入修改後的信息:姓名 數學成績 語文成績 英語成績”endl;

cinp1-namep1-xp1-yp1-z;

p1-AA=p1-x+p1-y+p1-z;

cout”修改成功”endl;

}

else //未找到接點

cout”未找到!\n”;

}

void cla::ssearch()//查詢

{

system(“cls”);

cout”\n** 查詢學生信息 **\n”endl;

cout”請輸入查詢方式:”endl;

cout”1.按學號查詢”endl;

cout”2.按姓名查詢”endl;

cout”3.返回”endl;

char c; cinc;

switch (c)

{

case ‘1’:

{

long num1;

cout”要查詢的學號”endl;

cinnum1;

//查找要查詢的結點

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1-num==num1)

break;

else

{

p2=p1;

p1=p1-next;

}

}

if(p1!=NULL)

{

cout”學號是”num1″的學生的信息”endl;

cout”姓名:”p1-name” 數學:”p1-x” 語文:”p1-y” 英語:”p1-zendl;

cout”查詢完畢…”;

}

else //未找到接點

cout”未找到!\n”;

break;

}

case ‘2’:

{

string name1;

cout”要查詢的學生姓名”endl;

cinname1;

//查找要查詢的結點

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1-name==name1)

break;

else

{

p2=p1;

p1=p1-next;

}

}

if(p1!=NULL)

{

coutname1″的學生的信息”endl;

cout”學號:”p1-num” 數學:”p1-x” 語文:”p1-y” 英語:”p1-zendl;

cout”查詢完畢…”;

}

else //未找到接點

cout”未找到!\n”;

break;

}

case ‘3’: return;

}

}

void cla::pxh() //按學號排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1-next)

{ n++; p1=p1-next; }

cout”共有”n”條信息…”endl;

int i;

p1=stu;

for(i=1;in;i++)

{

p1=stu;

if (p1-nump1-next-num) // 如果頭結點大於第二個的

{

p2=p1-next;

p1-next=p1-next-next;

p2-next=p1; //頭結點交換

stu=p2;

}

p1=stu;

while(p1-next-next) //中間的交換

{

p2=p1;

p1=p1-next;

if(p1-nump1-next-num)

{

p2-next=p1-next;

p1-next=p1-next-next;

p2-next-next=p1;

p1=p2-next; //交換

}

}

}

p1=stu;

do

{

p1-play();

p1=p1-next;

}while(p1);

}

void cla::psx()//按數學成績排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1-next)

{ n++; p1=p1-next; }

cout”共有”n”條信息…”endl;

int i;

p1=stu;

for(i=1;in;i++)

{ p1=stu;

if (p1-xp1-next-x) // 如果頭結點大於第二個的

{ p2=p1-next;

p1-next=p1-next-next;

p2-next=p1; //頭結點交換

stu=p2;

}

p1=stu;

while(p1-next-next) //中間的交換

{ p2=p1;

p1=p1-next;

if(p1-xp1-next-x)

{

p2-next=p1-next;

p1-next=p1-next-next;

p2-next-next=p1;

p1=p2-next; //交換

}

}

}

p1=stu;

do

{ p1-play();

p1=p1-next;

}while(p1);

}

void cla::pyw()//按語文成績排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1-next)

{ n++; p1=p1-next; }

cout”共有”n”條信息…”endl;

int i;

p1=stu;

for(i=1;in;i++)

{ p1=stu;

if (p1-yp1-next-y) // 如果頭結點大於第二個的

{ p2=p1-next;

p1-next=p1-next-next;

p2-next=p1; //頭結點交換

stu=p2;

}

p1=stu;

while(p1-next-next) //中間的交換

{ p2=p1;

p1=p1-next;

if(p1-yp1-next-y)

{

p2-next=p1-next;

p1-next=p1-next-next;

p2-next-next=p1;

p1=p2-next; //交換

}

}

}

p1=stu;

do

{ p1-play();

p1=p1-next;

}while(p1);

}

void cla::pyy()//按英語成績排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1-next)

{ n++; p1=p1-next; }

cout”共有”n”條信息…”endl;

int i;

p1=stu;

for(i=1;in;i++)

{ p1=stu;

if (p1-zp1-next-z) // 如果頭結點大於第二個的

{ p2=p1-next;

p1-next=p1-next-next;

p2-next=p1; //頭結點交換

stu=p2;

}

p1=stu;

while(p1-next-next) //中間的交換

{ p2=p1;

p1=p1-next;

if(p1-zp1-next-z)

{

p2-next=p1-next;

p1-next=p1-next-next;

p2-next-next=p1;

p1=p2-next; //交換

}

}

}

p1=stu;

do

{ p1-play();

p1=p1-next;

}while(p1);

}

void cla::pAA()//按總分排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1-next)

{ n++; p1=p1-next; }

cout”共有”n”條信息…”endl;

int i;

p1=stu;

for(i=1;in;i++)

{ p1=stu;

if (p1-AAp1-next-AA) // 如果頭結點大於第二個的

{ p2=p1-next;

p1-next=p1-next-next;

p2-next=p1; //頭結點交換

stu=p2;

}

p1=stu;

while(p1-next-next) //中間的交換

{ p2=p1;

p1=p1-next;

if(p1-AAp1-next-AA)

{

p2-next=p1-next;

p1-next=p1-next-next;

p2-next-next=p1;

p1=p2-next; //交換

}

}

}

p1=stu;

do

{ p1-play();

p1=p1-next;

}while(p1);

}

void cla::staxis()//排序

{

system(“cls”);

char c;

cout”請選擇以何種方式排序:”endl;

cout”1……以學號排序”endl;

cout”2……以數學成績排序”endl;

cout”3……以語文成績排序”endl;

cout”4……以英語成績排序”endl;

cout”5……以總分排序”endl;

cout”6……返回”endl;

cout”請選擇(1-6)”endl;

cinc;

switch (c)

{

case ‘1’:pxh(); break;

case ‘2’:psx(); break;

case ‘3’:pyw(); break;

case ‘4’:pyy(); break;

case ‘5’:pAA(); break;

case ‘6’:return;

}

}

void cla::ssave() //保存到文件

{

system(“cls”);

char c;

cout”\n保存學生信息(將覆蓋原文件),是否繼續?[Y/N]:”; cinc;

if(toupper(c)!=’Y’) return;

ofstream tfile(“date.txt”,ios_base::binary);

student *p=stu;

while(p)// 寫入文件

{

tfilep-name”\t”p-num”\t”p-x”\t”p-y”\t”p-z;

tfileendl;

p=p-next;

}

tfile.close();

cout”保存完畢…”endl;

}

void cla::sload() //讀取

{

student *p;

p=stu;

while(p)

{

stu=p-next;

delete p;

p=stu;

}

ifstream tfile(“date.txt”,ios_base::binary);

string name1;

long num1;

int x1,y1,z1;

tfilename1num1x1y1z1;

while(tfile.good())

{

//創建學生接點

student *s;

s=stu;

s=new student(name1,num1,x1,y1,z1);

s-next=0;

s-AA=x1+y1+z1;

if(stu) //若已經存在結點

{

student *p2;

p2=stu;

while(p2-next) //查找尾結點

{

p2=p2-next;

}

p2-next=s; //連接

}

else //若不存在結點(表空)

{

stu=s; //連接

}

tfilename1num1x1y1z1;

}

tfile.close();

cout”\n學生信息已經裝入…\n”;

}

void main()

{

char c;

cla a;

do

{

cout”\n 學 生 成 績 管 理 系 統 \n”;

cout”**************************************\n”;

cout” 作者:軟體工程06110119:zgjxwl \n”;

cout” 1……增加學生 \n”;

cout” 2……刪除學生 \n”;

cout” 3……修改學生 \n”;

cout” 4……查詢學生信息 \n”;

cout” 5……排序 \n”;

cout” 6……保存信息 \n”;

cout” 7……讀取信息 \n”;

cout” 8……退出 \n”;

cout”**************************************\n”;

cout”請選擇(1-8):”;

cinc;

switch(c)

{

case ‘1’: a.sadd();break;

case ‘2’: a.sremove();break;

case ‘3’: a.samend();break;

case ‘4’: a.ssearch();break;

case ‘5’: a.staxis();break;

case ‘6’: a.ssave();break;

case ‘7’: a.sload();break;

}

}while(c!=’8′);

}

c語言中,假設pa是一個指針,那麼*pa++的作用是什麼

*pa++包含兩個語句,一*pa=*pa+1, 即pa指向的地址的值加1, 二pa=pa+1,即指針後移一個單位。

C語言里聲明是什麼意思?

什麼是聲明:有兩重含義,如下:

第一重含義:告訴編譯器,這個名字已經匹配到一塊內存上了(伊人已嫁,吾將何去何

從?何以解憂,唯有稀粥),下面的代碼用到變數或對象是在別的地方定義的.聲明可以出

現多次.

第二重含義:告訴編譯器,我這個名字我先預定了,別的地方再也不能用它來作為變數

名或對象名.比如你在圖書館自習室的某個座位上放了一本書,表明這個座位已經有人預

訂,別人再也不允許使用這個座位.其實這個時候你本人並沒有坐在這個座位上.這種聲

明最典型的例子就是函數參數的聲明,例如:

void fun(int i, char c);好,這樣一解釋,我們可以很清楚的判斷:a)是定義;b)是聲明.

原創文章,作者:IVPM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139268.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IVPM的頭像IVPM
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

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

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論