内蒙古科技大学C语言学生信息管理系统.doc
文本预览下载声明
#includestdio.h
#includestdlib.h
#includestring.h
#includetime.h
#define N 3
#define CODE 123
#define LEN sizeof(struct student)
typedef struct date
{
char year[5];//年
char month[5];//月
char day[5];//日
}DATE;
struct student
{
char NO[10];//学号
char name[10];//姓名
char age[5];//年龄
char sex[3];//性别
DATE birthday;//出生日期
char origo[20];//籍贯
char college[10];//学院
char major[10];//专业
char achieve[10];//奖惩
struct student *next;
};
typedef struct student STU;
STU *head=NULL;
int n,i=0;
void show_stu();//显示菜单功能
void menu_stu();//选择菜单功能
void creat_stu();//建立链表
void input_stu();//输入功能
void print_stu();//浏览功能
void search_NO();//以学号的方式查找信息
void search_name();//以姓名的方式查找信息
void insert_stu();//插入功能
void delete_stu();//删除功能
void revise_stu();//修改功能
void save_stu();//保存功能
void code_stu();//输入密码
void arrage_stu();//排序功能
main()
{
code_stu();
creat_stu();
menu_stu();
}
void code_stu() //输入密码
{
int start,end,code,i=0;
do
{
i++;
if(iN)
{
i=1;
printf(\t\t密码错误!请10秒后重新输入密码:\n);
start=time(NULL);
END:
end=time(NULL);
if(difftime(end,start)==10) //10秒后重新输入密码
goto end;
else
goto END;
}
end:
printf(\t\t这是第%d次输入密码(数字):\n,i);
scanf(%d,code);
}
while(code!=CODE);
}
void creat_stu()
{
long size;
STU *p,*q;
char c;
FILE *fp; // 文件指针
char ch; // 用来接收读取到的字符
head=(STU*)malloc(sizeof(STU));
head-next=NULL;
if((fp=fopen(fname.txt,r))==NULL ) // 判断文件是否打开成功
{
//打开文件失败了
printf(\t\t没有找到该文件,请查证!\n);
return;
}
ch=fgetc(fp); // 读取第一个字符
size=ftell(fp);
if(!size)
{
printf(\t\t这是空表!\n);
printf(\n);
return;
}
printf(\n);
printf(\t\t文档有记录,是否要清空所有记录(y/n)?\t);
scanf( %c,c);
if(c==Y||c==y)
{
fp=fopen(fname.txt,w+); //以只读方式.如果这个文件存在,就清空, 如果不存在就创建
显示全部