資源簡介
C語言課程設計學生成績管理系統(源碼文檔).rar

代碼片段和文件信息
#include?“stdio.h“???/*標準輸入輸出函數庫*/
#include?“stdlib.h“??/*標準函數庫*/
#include?“string.h“??/*字符串函數庫*/
#define?HEADER1?“??????----------------------------STUDENT----------------------------------??\n“
#define?HEADER2?“???????number?????????name???????????Comp???Math???Eng????sum?????ave????\n“
#define?HEADER3?“??????---------------------------------------------------------------------“
#define?FORMAT??“????????????%-10s????%-15s%4d??%5d??%5d??%5d????%.2f?\n“
#define?DATA??p->data.nump->data.namep->data.cgradep->data.mgradep->data.egradep->data.totalp->data.ave
#define?END?????“??????---------------------------------------------------------------------?\n“
int?saveflag=0;??/*是否需要存盤的標志變量*/
/*定義與學生有關的數據結構*/
struct?student??????/*標記為student*/
{
char?num[10];???/*學號*/
char?name[15];??/*姓名*/
int?cgrade;?????/*C語言成績*/
int?mgrade;?????/*數學成績*/
int?egrade;?????/*英語成績*/
int?total;??????/*總分*/
float?ave;??????/*平均分*/
};
/*定義每條記錄或結點的數據結構,標記為:node*/
typedef?struct?node
{
struct?student?data;??/*數據域*/
struct?node?*next;????/*指針域*/
}Node*link;???/*Node為struct?node類型的別名,link為struct?node類型的指針變量的別名*/
void?menu()??/*主菜單*/
{
system(“cls“);???/*清屏*/
printf(“?????????????????The?Students‘?Grade?Management?System?\n“);
printf(“?????*************************Menu********************************\n“);
printf(“?????*??1?input???record?????????????2?delete??record????????????*\n“);
printf(“?????*??3?search??record?????????????4?display?record????????????*\n“);
printf(“?????*??5?save????record?????????????6?quit????system????????????*\n“);
printf(“?????*************************************************************\n“);
}
void?printheader()?/*格式化輸出表頭*/
{
??printf(HEADER1);
??printf(HEADER2);
??printf(HEADER3);
}
void?printdata(Node?*pp)?/*格式化輸出表中數據*/
{
?Node*?p;
?p=pp;
?printf(FORMATDATA);
}
void?Wrong()??/*輸出按鍵錯誤信息*/
{
printf(“????????????input?the?num?is?wrong?please?you?input?again!\n“);
getchar();
}
void?Nofind()??/*輸出未查找此學生的信息*/
{
printf(“????????????Nofind?this?studen\n“);
getchar();
}
void?Disp(link?head)??/*顯示單鏈表head中存儲的學生記錄,內容為student結構中定義的內容*/
{
Node?*p;
p=head->next;?/*head存儲的是單鏈表中頭結點的指針,該頭結點沒有存儲學生信息,指針域指向的后繼結點才有學生信息*/
if(!p)??/*p==NULLNUll在stdlib中定義為0*/
{
??printf(“\n=====>Not?student?record!\n“);
??getchar();
??return;
}
printf(“\n\n“);
printheader();?/*輸出表格頭部*/
while(p)????/*逐條輸出鏈表中存儲的學生信息*/
{
??printdata(p);
??p=p->next;??/*移動到下一個結點*/
??printf(HEADER3);
}
getchar(“\n“);
getchar();
}
/****************************************************************************
作用:用于定位鏈表中符合要求的節點,在單鏈表head中查找;并返回指向該節點的指針
參數:findmess[]保存要查找的具體內容;?nameornum[]保存按什么查找;????
*****************************************************************************/
Node*?Locate(link?headchar?findmess[]char?nameornum[])
{
Node?*r;
if(strcmp(nameornum“num“)==0)?/*按學號查詢*/
{
??r=head->next;
??while(r)
??{
???if(strcmp(r->data.numfindmess)==0)?/*若找到findme
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11488??2009-07-03?01:31??C語言課程設計學生成績管理系統(源碼+文檔)\B08050210C語言程序設計.cpp
?????文件?????208384??2010-12-18?20:05??C語言課程設計學生成績管理系統(源碼+文檔)\B08050210C語言課程設計報告書.doc
?????目錄??????????0??2010-12-18?20:06??C語言課程設計學生成績管理系統(源碼+文檔)
-----------?---------??----------?-----??----
???????????????219872????????????????????3
評論
共有 條評論