学生信息管理系统程序Word格式.docx
- 文档编号:14262373
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:33
- 大小:352.82KB
学生信息管理系统程序Word格式.docx
《学生信息管理系统程序Word格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统程序Word格式.docx(33页珍藏版)》请在冰豆网上搜索。
二、数据结构设计及用法说明
#include"
stdio.h"
stdlib.h"
string.h"
/*定义结构体用作创建链表*/
typedefstructz1
{
charno[11];
//学生学号
charname[15];
//学生姓名
intage;
//学生年龄
charsex;
//学生性别
charbirthday[8];
//学生出生年月
charaddress[20];
//学生住址
chartel[12];
//学生联系
chare_mail[20];
//学生e-mail
structz1*next;
//指向下一链表
}STUDENT;
/*声明用户自定义函数*/
STUDENT*init();
STUDENT*create();
STUDENT*del(STUDENT*h);
STUDENT*insert(STUDENT*h);
STUDENT*revise(STUDENT*h);
voidprint(STUDENT*h);
voidsearch1(STUDENT*h);
voidsearch2(STUDENT*h);
voidsave(STUDENT*h);
intmenu_select();
voidinputs(char*prompt,char*s,intcount);
/*主函数,用于选择功能*/
voidmain()
STUDENT*head;
head=init();
//初始化链表表头
for(;
;
)
{
switch(menu_select())
{
case0:
head=init();
break;
//初始化
case1:
head=create();
//创建列表
case2:
head=insert(head);
//插入节点
case3:
save(head);
//以文件形式保存
case4:
print(head);
//显示
case5:
search1(head);
//搜索学号
case6:
search2(head);
//搜索姓名
case7:
head=del(head);
//删除
case8:
head=revise(head);
//修改
case9:
exit(0);
//退出程序
}
}
}
/*目录选择函数,返回用户输入的数字*/
intmenu_select()
char*menu[]={"
************菜单************"
"
0.初始化链表"
1.输入学生信息"
2.插入学生信息"
3.保存学生信息"
4.显示学生信息"
5.按学号查找学生信息"
6.按姓名查找学生信息"
7.删除指定学号的学生信息"
8.修改指定学号的学生信息"
9.退出系统"
};
intc,i;
for(i=0;
i<
=11;
i++)
printf("
%s\n"
menu[i]);
do
\n请选择0~9中的某一个选项:
\n"
);
scanf("
%d"
&
c);
}while(c<
0||c>
10);
returnc;
/*初始化函数,作用是返回空指针初始化链表*/
STUDENT*init()
returnNULL;
/*创建函数,输入学生信息*/
STUDENT*create()
STUDENT*h=NULL,*info;
info=(STUDENT*)malloc(sizeof(STUDENT));
if(!
info)
printf("
\n存不足"
inputs("
输入学号:
"
info->
no,11);
if(info->
no[0]=='
@'
)break;
输入姓名:
name,15);
输入年龄:
info->
age);
输入性别编号(0.男1.女):
%s"
sex);
输入出生年月(XXXX/XX):
birthday);
输入地址:
address,20);
输入:
tel,12);
输入E-mail:
e_mail,20);
info->
next=h;
h=info;
returnh;
/*输入函数,用于判断输入的字符是否超出程序定义避免数据溢出*/
voidinputs(char*prompt,char*s,intcount)
charp[255];
printf(prompt);
scanf("
p);
if(strlen(p)>
count)
\n太长了!
}while(strlen(p)>
count);
strcpy(s,p);
/*插入函数,插入学生成绩*/
STUDENT*insert(STUDENT*h)
STUDENT*p,*q,*info;
chars[11];
请输入插入点的学生学号\n"
s);
\n请输入新的学生信息\n"
info=(STUDENT*)malloc(sizeof(STUDENT));
inputs("
info->
next=NULL;
p=h;
q=h;
while(strcmp(p->
no,s)&
&
p!
=NULL)
q=p;
p=p->
next;
if(p==NULL)
if(p==h)
h=info;
else
q->
next=info;
elseif(p==h)
next=p;
else
q->
\n已经插入了%s这个学生\n"
name);
return(h);
/*保存函数,以文件的形式保存学生信息*/
voidsave(STUDENT*h)
FILE*fp;
STUDENT*p;
charoutfile[50];
请输入保存文件的文件名,例如c:
\\f1\\te.txt:
outfile);
if((fp=fopen(outfile,"
wb"
))==NULL)
不能打开文件\n"
exit
(1);
}
\n正在保存......\n"
while(p!
fwrite(p,sizeof(STUDENT),1,fp);
p=p->
fclose(fp);
------保存成功------\n"
/*显示函数,显示学生信息*/
voidprint(STUDENT*h)
inti=0;
\n\n\n********************************学生*************************************\n"
|学号|姓名|年龄|性别|出生年月|地址||E-mail|\n"
|--------|--------|----|----|--------|--------------|-----------|-------------|\n"
i++;
|%-8s|%-8s|%4d|%4c|%8s|%14s|%11s|%13s|\n"
p->
no,p->
name,p->
age,p->
sex,p->
birthday,p->
address,p->
tel,p->
e_mail);
***************************************end*************************************\n"
/*搜索函数,按学号搜索学生信息并显示*/
voidsearch1(STUDENT*h)
请输入你要查找的同学的学号\n"
'
n没有学号为%s的学生\n"
\n\n\n****************************找到了***************************************\n"
|--------|--------|----
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 程序