C語言實現(xiàn)學(xué)生消費管理系統(tǒng)_第1頁
C語言實現(xiàn)學(xué)生消費管理系統(tǒng)_第2頁
C語言實現(xiàn)學(xué)生消費管理系統(tǒng)_第3頁
C語言實現(xiàn)學(xué)生消費管理系統(tǒng)_第4頁
C語言實現(xiàn)學(xué)生消費管理系統(tǒng)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第C語言實現(xiàn)學(xué)生消費管理系統(tǒng)本文實例為大家分享了C語言實現(xiàn)學(xué)生消費管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

代碼可以實現(xiàn)的功能:

(1)直接從終端鍵盤輸入信息

(2)從磁盤文件錄入學(xué)生信息

(3)可以查詢學(xué)生消費信息

(4)可以刪除學(xué)生信息

(5)可以添加學(xué)生的消費信息,并顯示添加后學(xué)生的人數(shù)

(6)顯示錄入的學(xué)生信息

(7)把錄入的學(xué)生信息保存到指定的文件中

代碼:

#includestdio.h

#includestdlib.h

#includestring.h

#defineLENsizeof(structscorenode)

#defineDEBUG

structscorenode

//定義結(jié)構(gòu)體

{intnumber;/*學(xué)號*/

charname[10];/*姓名*/

intxiaofei;/*消費情況*/

structscorenode*next;

typedefstructscorenodescore;

intn,k;/*n,k為全局變量,本程序中的函數(shù)均可*p3以使用它*/

voidmenu();

score*creat(void);

score*load(score*head);

score*search(score*head);

score*del(score*head);

score*add(score*head,score*stu);

voidprint(score*head);

save(score*p1);

/*==============================================================================================*/

/*=========================創(chuàng)建鏈表,此函數(shù)帶回一個指向鏈表頭的指針=============================*/

score*creat(void)

score*head;

score*p1,*p2,*p3,*max;

inti,j;

chart[10];

n=0;

p1=p2=p3=(score*)malloc(LEN);/*head=p3;開辟一個新單元*/

printf("請輸入學(xué)生信息!(以0結(jié)束)\n");

repeat1:printf("請輸入學(xué)生編號(編號0):");/*輸入學(xué)號,學(xué)號應(yīng)大于0*/

scanf("%d",p1-number);

while(p1-number0)

{

getchar();

printf("錯誤,請重新輸入號碼:");

scanf("%d",p1-number);

}

/*輸入學(xué)號為字符或小于0時,程序報錯,提示重新輸入學(xué)號*/

if(p1-number==0)

gotoend;/*當輸入的學(xué)號為0時,轉(zhuǎn)到末尾,結(jié)束創(chuàng)建鏈表*/

else

{

p3=head;

if(n0)

{

for(i=0;ii++)

{

if(p1-number!=p3-number)

p3=p3-next;

else

{

printf("numberrepeate,pleaseinputagain!\n");

gotorepeat1;

/*當輸入的學(xué)號已經(jīng)存在,程序報錯,返回前面重新輸入*/

}

}

}

}

printf("請輸入學(xué)生姓名");

scanf("%s",p1-name);/*輸入學(xué)生姓名*/

printf("請輸入消費情況");/*輸入消費情況;*/

scanf("%d",p1-xiaofei);

while(p1-number!=0)

n=n+1;

if(n==1)

head=p1;

else

p2-next=p1;

p2=p1;

p1=(score*)malloc(LEN);

printf("請輸入學(xué)生信息(以0結(jié)束)\n");

repeat2:printf("請輸入學(xué)號(學(xué)號應(yīng)大于0):");

scanf("%d",p1-number);/*輸入學(xué)號,學(xué)號應(yīng)大于0*/

while(p1-number0)

{getchar();

printf("請重新輸入學(xué)號:");

scanf("%d",p1-number);}

/*輸入學(xué)號為字符或小于0時,程序報錯,提示重新輸入學(xué)號*/

if(p1-number==0)

gotoend;/*當輸入的學(xué)號為0時,轉(zhuǎn)到末尾,結(jié)束創(chuàng)建鏈表*/

else

p3=head;

if(n0)

{for(i=0;ii++)

{if(p1-number!=p3-number)

p3=p3-next;

else

{printf("numberrepeate,pleaseinputagain!\n");

gotorepeat2;

/*當輸入的學(xué)號已經(jīng)存在,程序報錯,返回前面重新輸入*/

}

}

printf("請輸入學(xué)生姓名:");

scanf("%s",p1-name);/*輸入學(xué)生姓名*/

printf("請輸入學(xué)生消費形況:");

scanf("%d",p1-xiaofei);/*輸入消費情況;*/

end:p1=head;

p3=p1;

for(i=1;ii++)

{

for(j=i+1;jj++)

{

max=p1;

p1=p1-next;

if(max-numberp1-number)

{

k=max-number;

max-number=p1-number;

p1-number=k;

/*交換前后結(jié)點中的學(xué)號值,使得學(xué)號大者移到后面的結(jié)點中*/

strcpy(t,max-name);

strcpy(max-name,p1-name);

strcpy(p1-name,t);

/*交換前后結(jié)點中的姓名,使之與學(xué)號相匹配*/

/*交換前后結(jié)點中的消費情況,使之與學(xué)號相匹配*/

}

}

max=head;p1=head;/*重新使max,p指向鏈表頭*/

p2-next=NULL;/*鏈表結(jié)尾*/

printf("inputstudent'snum:%dge!\n",n);

getch();

return(head);

/*==============================================================================================*/

/*===========================從文件讀入學(xué)生記錄=================================================*/

score*load(score*head)

score*p1,*p2;

intm=0;

charfilepn[10];

FILE*fp;

printf("請輸入路徑及文件名:");

scanf("%s",filepn);/*輸入文件路徑及名稱*/

if((fp=fopen(filepn,"r+"))==NULL)

{

printf("不能打開此文件\n");

getch();

return0;

}

else

{

p1=(score*)malloc(LEN);/*開辟一個新單元*/

fscanf(fp,"%d%s%d\n",p1-number,p1-name,p1-xiaofei);

printf("|%d\t|%s\t|%d\t\n",p1-number,p1-name,p1-xiaofei);

/*文件讀入與顯示*/

head=NULL;

do

{

n=n+1;

if(n==1)

head=p1;

else

p2-next=p1;

p2=p1;

p1=(score*)malloc(LEN);

/*開辟一個新單元*/

fscanf(fp,"%d%s%d\n",p1-number,p1-name,p1-xiaofei);

printf("|%d\t|%s\t|%d\t\n",p1-number,p1-name,p1-xiaofei);

/*文件讀入與顯示*/

}while(!feof(fp));

p2-next=p1;

p1-next=NULL;

n=n+1;

}

printf("-----------------------------------------\n");/*表格下線*/

getch();

fclose(fp);/*結(jié)束讀入,關(guān)閉文件*/

return(head);

/*==============================================================================================*/

/*=====================查詢學(xué)生消費=====================================================*/

score*search(score*head)

intnumber;

score*p1,*p2;

printf("inputthestudent'snumberofsearching:");

scanf("%d",number);

getchar();

while(number!=0)

{

if(head==NULL)

{

printf("\nnobodyinformation!\n");

return(head);

}

printf("-----------------------------------------\n");

printf("|number\t|name\t|consume\t\n");

printf("-----------------------------------------\n");/*打印表格域*/

p1=head;

while(number!=p1-numberp1-next!=NULL)

{

p2=p1;

p1=p1-next;

}

if(number==p1-number)

{

printf("|%d\t|%s\t|%d\t\n",p1-number,p1-name,p1-xiaofei);

printf("-----------------------------------------\n");

}/*打印表格域*/

else

printf("%dthisstudentnotexist!\n",number);

printf("inputthestudent'snumberofsearching:");

scanf("%d",number);

getchar();

}

printf("alreadyexit!\n");

getchar();

return(head);

/*==============================================================================================*/

/*=======================刪除學(xué)生資料================================================*/

score*del(score*head)

score*p1,*p2;

intnumber;

printf("inputthestudent'snumberofdeleting(input0e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論