91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 70KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2024-01-27
  • 語言: C/C++
  • 標簽: C語言??

資源簡介

程序功能 (1)存取功能,能夠從磁盤上的文本文件讀取學生信息,并將內(nèi)存中的學生信息保存到磁盤上的文件中。學生信息包括學號、姓名、數(shù)學成績、英語成績、政治成績。 (2)查詢功能,分別能按學生學號和學生姓名進行查找學生信息,根據(jù)提示輸入不同的數(shù)字,進行不同的查找方式。 (3)學生成績統(tǒng)計功能,能夠統(tǒng)計學生的平均成績和總成績。 (4)插入功能,能夠插入學生信息,若新插入的學號應經(jīng)存在系統(tǒng)中,會進行提示,此時不允許在插入具有相同學號的學生信息。 (5)修改功能,先用學號或姓名關鍵字查找要修改的學生的信息,若找到,則可進行修改。 (6)刪除功能,能夠刪除指定的學生信息。

資源截圖

代碼片段和文件信息

/*?File:StuManage.c
?*
?*?學生成績管理信息系統(tǒng)
?*?作者:阿龍
?*?使用時自己先建一個名為stumanage.txt的文件
?*?不然學生信息不能保存到磁盤上去的啊
?*/

#include?
#include?
#include?
#include?
#define?LEN?sizeof(struct?students)

/*定義結構體,用來存放學生信息*/
struct?score
{
double?math;
double?english;
double?politics;
};

struct?students
{
char?num[12];
char?name[15];
struct?score?sco;
struct?students?*next;
};

/*開始運行程序時,從stumanage.txt文件讀取學生信息到內(nèi)存中,并返回頭指針*/
struct?students?*InputMem(struct?students?*head)
{
FILE?*fp;
struct?students?*temp?=?NULL?*tail?=?NULL;

fp?=?fopen(“stumanage.txt“?“r+“);

if?(NULL?==?fp)
{
printf(“不能打開文件\n“);
return?head;
}

while?(!feof(fp))
{
temp?=?(struct?students?*)malloc(LEN);
/*判斷是否申請到內(nèi)存空間,若沒有返回頭指針,否則跳過if繼續(xù)執(zhí)行*/
if?(NULL?==?temp)
{
printf(“沒有申請到足夠的內(nèi)存空間\n“);
return?head;
}

fread(temp?LEN?1?fp);
if?(head?==?NULL)
{
head?=?temp;
tail?=?temp;
}
else
{
tail->next?=?temp;
tail?=?temp;
}
}
temp->next?=?NULL;?/*將動態(tài)鏈表最后節(jié)點的尾指針設為NULL*/
fclose(fp);
return?head;
}

/*退出時將內(nèi)存中的學生信息寫入到stumanage.txt文件中去*/
void?OutputMem(struct?students?*head)
{
FILE?*fp;
struct?students?*temp?=?NULL;
fp??=?fopen(“stumanage.txt“?“r+“);
if?(head?!=?NULL)
{
temp?=?head;
while?(temp->next?!=?NULL)
{
fwrite(temp?LEN?1?fp);
temp?=?temp->next;
}
}
fclose(fp);
}

/*程序運行結束時釋放申請的內(nèi)存空間*/
void?DelMem(struct?students?*head)
{
struct?students?*temp?=?head;

if?(temp?!=NULL)
{
while?(temp->next?!=NULL)
{
head?=?temp->next;
free(temp);
temp?=?head;
}
free(head);
}
}

/*打印信息管理系統(tǒng)功能使用說明*/
void?Instruction(void)
{
printf(“********************************************\n“);
printf(“??????????學生成績管理信息系統(tǒng)??????????\n\n“);
printf(“??使用說明\n“);
printf(“??查看所有信息請按?1???學生信息查詢請按?2\n“);
printf(“??學生信息插入請按?3???學生信息修改請按?4\n“);
printf(“??學生信息刪除請按?5???學生成績統(tǒng)計請按?6\n“);
printf(“??退出請按?0\n\n“);
printf(“********************************************\n“);

}

/*打印學生信息的表頭*/
void?Printtitle()
{
printf(“??學號??姓名??數(shù)學??英語??政治“);
}

/*輸出temp指針指向的單個學生的信息*/
void?PrintStuInfo(struct?students?*temp)
{
printf(“%6s%6s%6.1lf%6.1lf%6.1lf“?temp->num?temp->name?
temp->sco.mathtemp->sco.english?temp->sco.politics);
}

/*查看所有學生信息*/
void?Chakan(struct?students?*head)
{
struct?students?*temp?=?head;

if?(NULL?==?head)
{
printf(“沒有學生信息,請先輸入后再查看學生信息\n\n“);
}
else
{
printf(“????學生的所有信息如下:\n\n“);
Printtitle();
printf(“\n“);;
while?(temp->next!=NULL)
{
PrintStuInfo(temp);
printf(“\n“);
temp?=?temp->next;
}
printf(“\n\n“);
}
}
/*按學生學號進行查詢*/
struct?students?*NumQuery(struct?students?*head?char?number[])
{
struct?students?*temp?=?head;

while?(temp->next?!=?NULL)
{
if?(!strcmp(temp->num?number))
{
return?temp;
}
temp?=?temp->next;
}
return?NULL;
}

/*按學生姓名進行查詢*/
struct?students?*NameQuery(stru

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????9573??2008-09-21?20:15??學生成績管理信息系統(tǒng)\stumanage.c

?????文件?????134656??2008-09-21?20:27??學生成績管理信息系統(tǒng)\課程設計.doc

?????目錄??????????0??2008-09-21?20:25??學生成績管理信息系統(tǒng)

-----------?---------??----------?-----??----

???????????????144229????????????????????3


評論

共有 條評論