资源简介
C语言大作业,大一的时候写的,现在分享给小伙伴们参考以发挥余热。
这是学生考勤管理系统,更多请搜索"C语言课程设计之".
代码片段和文件信息
#include“linklist.h“
#include
#include
#include
#include
#include
void delete_node(plinklist pl nodeitem* pn)
{
pnode curr prev;
if((curr=find_node(pl pn))!=NULL){
for(curr=pl->head prev=NULL; curr!=NULL&&!is_equal(&(curr->elem) pn); prev=curr curr=curr->next)
;
if(prev==NULL){
pl->head=curr->next;
}
else{
prev->next=curr->next;
}
free(curr);
curr=NULL;
printf(“\n删除成功!\n“);
}
else{
printf(“\n未找到该记录!\n“);
}
return;
}
void read_list(plinklist pl)
{
FILE *fp;
if((fp=fopen(“records.txt““r+“))==NULL){
fp=fopen(“records.txt““w+“);
}
nodeitem n;
int i=0;
fseek(fp 0 0);
while(fread(&n sizeof(nodeitem) 1 fp)==1){
insert_list(pl &n);
i++;
}
fclose(fp);
//printf(“%d devices have been entered\n“ i);
return;
}
bool save_node(plinklist pl)
{
FILE *fp;
pnode p;
int i=0;
p=pl->head;
if((fp=fopen(“records.txt“ “w“))==NULL){
printf(“\nCan‘t open file!\n“);
return 0;
}
fseek(fp 0 0);
while(p){
fwrite(&(p->elem) sizeof(nodeitem) 1 fp);
p=p->next;
i++;
}
fclose(fp);
//printf(“\n%d devices have been saved!\n“ i);
return 1;
}
pnode find_node(plinklist pl nodeitem *pn)
{
pnode p=pl->head;
while(p){
if(is_equal(pn &(p->elem))){
return p;
}
p=p->next;
}
return NULL;
}
student* find_student(pstulist pl char name[])
{
student* p=pl->head;
while(p){
if(!strcmp(name p->elem.name)){
return p;
}
p=p->next;
}
return NULL;
}
course* find_course(pcoulist pl char name[])
{
course* p=pl->head;
while(p){
if(!strcmp(name p->elem.name)){
return p;
}
p=p->next;
}
return NULL;
}
void init_list(plinklist pl)
{
pl->head=NULL;
return;
}
void insert_list(plinklist plnodeitem *pn)
{
pnode p=create_node(pn);
p->next=pl->head;
pl->head=p;
return;
}
void insert_course(pcoulist pl cou *pn)
{
course* p=create_course(pn);
p->next=pl->head;
pl->head=p;
return;
}
void insert_student(pstulist pl stu *pn)
{
student* p=create_student(pn);
p->next=pl->head;
pl->head=p;
return;
}
void display_list(plinklist pl)
{
pnode p=pl->head;
if(p==NULL){
printf(“\n暂无记录!\n“);
return;
}
printf(“\n缺课日期\t第几节课\t课程名称\t\t学生姓名\t缺课类型\n\n“);
while(p)
{
display_nodeitem(&(p->elem));
p=p->next;
}
return;
}
void display_stulist(pstulist pl)
{
student* p=pl->head;
printf(“\n学生姓名\t旷课次数\n\n“);
while(p){
printf(“%s\t\t%d\n“ p->elem.name p->elem.number);
p=p->next;
}
ret
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8 2017-06-24 22:42 学生考勤管理系统\password.txt
文件 142 2017-06-24 22:42 学生考勤管理系统\records.txt
文件 280 2017-06-13 22:57 学生考勤管理系统\使用说明及成员名单.txt
文件 4983 2017-06-13 22:51 学生考勤管理系统\源代码\li
文件 6484 2017-06-13 22:51 学生考勤管理系统\源代码\li
文件 1103 2017-06-13 22:41 学生考勤管理系统\源代码\li
文件 3567 2017-06-13 22:39 学生考勤管理系统\源代码\main.cpp
文件 4993 2017-06-13 22:41 学生考勤管理系统\源代码\main.o
文件 1412 2017-06-13 22:51 学生考勤管理系统\源代码\Makefile.win
文件 719 2017-06-13 21:42 学生考勤管理系统\源代码\node.cpp
文件 396 2017-06-13 21:42 学生考勤管理系统\源代码\node.h
文件 1541 2017-06-13 21:42 学生考勤管理系统\源代码\node.o
文件 2135 2017-06-13 22:16 学生考勤管理系统\源代码\nodeitem.cpp
文件 620 2017-06-13 21:42 学生考勤管理系统\源代码\nodeitem.h
文件 3215 2017-06-13 22:17 学生考勤管理系统\源代码\nodeitem.o
文件 8 2017-06-13 22:52 学生考勤管理系统\源代码\password.txt
文件 71 2017-06-13 22:52 学生考勤管理系统\源代码\records.txt
文件 4809 2017-06-13 21:42 学生考勤管理系统\源代码\sort.cpp
文件 212 2017-06-13 21:42 学生考勤管理系统\源代码\sort.h
文件 5568 2017-06-13 21:42 学生考勤管理系统\源代码\sort.o
文件 1854 2017-06-13 21:40 学生考勤管理系统\源代码\缺勤登记.dev
文件 148673 2017-06-13 22:51 学生考勤管理系统\源代码\缺勤登记.exe
文件 611 2017-06-13 22:56 学生考勤管理系统\源代码\缺勤登记.layout
文件 148673 2017-06-13 22:51 学生考勤管理系统\缺勤登记.exe
目录 0 2017-07-15 20:54 学生考勤管理系统\源代码
目录 0 2017-07-15 20:54 学生考勤管理系统
----------- --------- ---------- ----- ----
342077 26
- 上一篇:C语言课程设计之实验室设备管理系统
- 下一篇:7.4循环码c语言
评论
共有 条评论