1 / 12
文档名称:

课程设计两步走.doc

格式:doc   大小:57KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

课程设计两步走.doc

上传人:iris028 2022/6/26 文件大小:57 KB

下载得到文件列表

课程设计两步走.doc

文档介绍

文档介绍:一、题目
简单学生信息管理系统,主要包括以下功能:
(1)学生信息浏览
(2)学生信息增加
(3)学生信息修改
(4)学生信息删除
(5)学生信息查找
(6)学生信息全部保存在文件中
二、第一步
(1)头文件内容
sclude ""
int CreateFile1()
{
FILE* fp = fopen("","rb");
if(fp == NULL)
{
fp = fopen("","wb");
if(fp == NULL)
return 0;
}
fclose(fp);
return 1;
}
NODE* ReadStuInfo()
{
int i = 0;
NODE* head = NULL, *p1, *p2;
int nStuNum = 0;
FILE* fp = fopen("","rb");
if(fp == NULL)
{
printf("打开文件失败!\n");
return head;
}
fread((char*)&nStuNum,sizeof(int),1,fp);
if(nStuNum == 0)
{
printf("学生信息为空!\n");
return head;
}
for(i=0; i<nStuNum; i++)
{
p1 = (NODE*)malloc(sizeof(NODE));
fread((char*)p1,sizeof(struct StuInfo),1,fp);
p1->next = NULL;
if(head == NULL)
{
head = p1;
p2 = head;
}
else
{
p2->next = p1;
p2 = p1;
}
}
fclose(fp);
return head;
}
int SaveStuInfo(NODE* head)
{
int nStuNum = 0;
NODE* p = head;
FILE* fp = fopen("","wb");
if(fp == NULL)
{
printf("创建文件失败!\n");
return 0;
}
while(p!=NULL)
{
nStuNum ++;
p = p->next;
}
fwrite((char*)&nStuNum,sizeof(int),1,fp);
p = head;
while(p!=NULL)
{
fwrite((char*)&p->stuInfo,sizeof(struct StuInfo),1,fp);
p = p->next;
}
fclose(fp);
return 1;
}
void FreeStuInfo(NODE* head)
{
NODE* p1 = head;
NODE* p2 = head;
for(; p1!=NULL;)
{
p2 = p1->next;
free(p1);
p1 = p2;
}
}
void BrowseStuInfo(NODE* head)
{
NODE* p = head;
printf("所有学生信息如下:\n");
while(p!=NULL)
{
printf("学号:%d,姓名:%s,成绩:%.1f\n",p->,p->,p->);
p = p->next;
}
}
NODE* IsStuInfoExist(NODE* head, int no)
{
NODE* p = head;
while(p!=NULL)
{
if(p-> == no)
return p;
p = p->next;
}
return NULL;
}
NODE* AppendStu(NODE* head)
{
NODE* p1 = NULL;
NODE* p2 = head;
while(p2!=NULL && p2->next!=NULL)//找到本链表的末尾
p2 = p2->next;
while(1)
{