档案管理源码
① 消防档案管理系统源代码
去网上找,就是谁有也不能给你现成的,自己写吧也没多难。
② 80分奖励给一个C语言源代码“档案管理系统的设计”
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
/*********************** 字定义函数声明 ********************************/
void Add(); //增加记录
void Delete(); //删除记录
void Search(); //查找记录
void Alter(); //修改记录
void Views(); //查看所有记录
void delete_all(); //清除所有记录
int check(char strID[]); //查找文件记录中已经存在的学生ID
/********************* 定义学生信息结构体 **********/
struct student
{
//学生信息(学号,姓名,性别,籍贯,电话,住址,民族);
char ID[10];
char name[10];
char sex[4];
char nativePlace[10];
char phone[13];
char nation[6];
};
struct student stu;
FILE *fp;//定义文件指针
/********************* main() 主函数 *************************************/
void main()
{
int flag;
while(flag!=7)
{
printf("\n\t\t 【 请选择您所要的操作 】 \n");
printf("\t\t‖****************************************‖\n");
printf("\t\t‖ 1、增加记录 4、修改记录 ‖\n");
printf("\t\t‖ 2、删除记录 5、清除所有记录 ‖\n");
printf("\t\t‖ 3、查询记录 6、所有记录列表 ‖\n");
printf("\t\t‖ 〖 按任意键退出 〗 ‖\n");
printf("\t\t‖****************************************‖\n");
scanf("%d",&flag);
switch(flag)
{
case 1:
Add(); //增加记录
getch();
system("cls");
break;
case 2:
Delete(); //删除记录
getch();
system("cls");
break;
case 3:
Search(); //查找记录
getch();
system("cls");
break;
case 4:
Alter(); //修改记录
getch();
system("cls");
break;
case 5:
delete_all(); //清空所有记录
getch();
system("cls");
break;
case 6:
Views(); //查看所有记录
getch();
system("cls");
break;
default:
exit(0);
}
}
}
/***************** 插入新记录 *******************************/
void Add()
{
if((fp=fopen("StudentMessage","ab+"))==NULL)
{
printf("学生信息文件打开失败!");
exit(1);
}
else
{
int check_add(char stuID[]);
long flength,offset;
int k=0,t; //t用来接收check()函数的传值
char str[53];
fseek(fp,0,SEEK_END);
flength=ftell(fp)/sizeof(stu); //统计文件中有多少条记录
printf("\t请输入要插入的学生的信息:\n");
input_message:
printf("\t学号:");
scanf("%s",&stu.ID);
t=check_add(stu.ID);
if(t==1)
{
printf("\t》 该学号已经存在,不允许重复插入!请重新输入一个学号。《\n");
goto input_message; //跳转到“input_message”标记处继续执行
}
printf("\t姓名:");
scanf("%s",&stu.name);
printf("\t性别:");
scanf("%s",&stu.sex);
printf("\t籍贯:");
scanf("%s",&stu.nation);
printf("\t电话:");
scanf("%s",&stu.phone);
printf("\t名族:");
scanf("%s",&stu.nativePlace);
rewind(fp);
//检测文件中是否有空字符串,如果有则在此处插入新记录,如果没有则插入到文件尾
while(!feof(fp))
{
fread(&str,sizeof(stu),1,fp);
//检测到空字符串,则将fp所指向的文件关闭,以读写方式重新打开
if(strcmp(str,"")==0)
{
fclose(fp);
fp=fopen("StudentMessage","rb+");
break;
}
k++;
}
offset=sizeof(stu)*k;
fseek(fp,offset,SEEK_SET);
fwrite(&stu,sizeof(stu),1,fp);
fclose(fp);
printf("插入数据成功!\n");
}
}
/****************** 检测将要插入的学号是否已存在文件记录中 **************************/
int check(char stuID[10])
{
int id=0,k=1;
FILE *fpp;
struct student checkID;
if((fpp=fopen("StudentMessage","rb"))==NULL) //以只读方式打开一个二进制文件StudentMessage
{
printf("文件打开失败!\n");
exit(1);//打开失败,返回系统
}
while(!feof(fpp))
{
fread(&checkID,sizeof(stu),1,fpp);
//检测用户输入的学号是否已经存在,若存在则终止程序的执行
if(strcmp(checkID.ID,stuID)==0)
{
break;
}
id++;
}
fclose(fpp);
return id*k;
}
/******************** 检测输入的学号是否能插入 *****************************************/
int check_add(char stuID[10])
{
int id;
FILE *fpp;
struct student checkID;
if((fpp=fopen("StudentMessage","rb"))==NULL) //以只读方式打开一个二进制文件StudentMessage
{
printf("文件打开失败!\n");
exit(1);//打开失败,返回系统
}
while(!feof(fpp))
{
fread(&checkID,sizeof(stu),1,fpp);
//检测用户输入的学号是否已经存在,若存在则终止程序的执行
if(strcmp(checkID.ID,stuID)==0)
{
id=1;
break;
}
else
{
id=0;
}
}
fclose(fpp);
return id;
}
/******************* 根据用户输入的学号删除记录 ************/
void Delete()
{
printf("删除相应记录!\n");
if((fp=fopen("StudentMessage","rb+"))==NULL) //以可读可写方式打开一个二进制文件
{
printf("文件打开失败!\n");
return;
}
else
{
char message[10]; //接收用户需要删除的学号
int i;
long flength;
fseek(fp,0,SEEK_END); //把文件指针移到文件尾
flength=ftell(fp)/sizeof(struct student); //计算文件中有多少条记录
printf("\t请输入您要删除的学号:");
scanf("%s",message);
i=check(message);
long offset=sizeof(stu)*i; //记录要删除的学号的位置
if(flength==0)
{
printf("文件记录为空!\n");
return;
}
else if(i>flength)
{
printf("没有该学生信息!\n");
return;
}
else
{
//将要删除的字符串全部置为空
strcpy(stu.ID,"");
strcpy(stu.name,"");
strcpy(stu.sex,"");
strcpy(stu.nation,"");
strcpy(stu.phone,"");
strcpy(stu.nativePlace,"");
fseek(fp,offset,SEEK_SET); //移动指针到要删除的学号的位置
fwrite(&stu,sizeof(stu),1,fp); //将置空的信息重新写回到文件中
printf("\t\t数据删除成功!\n");
}
fclose(fp);
}
}
/****************** 查找数据 ***************************************/
void Search()
{
if((fp=fopen("StudentMessage","rb"))==NULL) //以只读方式打开StudentMessage文件
{
printf("\t文件打开失败!\n");
return;
}
else
{
char message[10]; //接收用户需要查找的信息
int i;
long flength,offset;
fseek(fp,0,SEEK_END); //将文件指针移文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少条记录
printf("\t请输入您要查找的学号:");
scanf("%s",message);
i=check(message);
offset=sizeof(struct student)*i;
if(flength==0)
{
printf("\t文件记录为空!\n");
return;
}
else if(i>flength)
{
printf("\t\t查找失败,没有找到相应信息!\n");
return;
}
else
{
//输出查找到的内容
rewind(fp);
fseek(fp,offset,SEEK_SET);
fread(&stu,sizeof(struct student),1,fp);
printf("学号:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性别:%s ",stu.sex);
printf("籍贯:%s ",stu.nation);
printf("电话:%s ",stu.phone);
printf("民族:%s\n",stu.nativePlace);
}
fclose(fp);
}
}
/****************** 修改记录 ********************************/
void Alter()
{
printf("修改相应记录!\n");
if((fp=fopen("StudentMessage","rb+"))==NULL)
{
printf("文件打开失败!\n");
exit(1);
}
else
{
char message[10]; //存储用户要修改的学号
int i;
long flength,offset;
fseek(fp,0,SEEK_END); //移动文件指针到文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少条记录
printf("\t请输入您要修改的学号:");
scanf("%s",message);
i=check(message);
offset=sizeof(struct student)*i; //记录要修改的记录在文件中的位置
if(flength==0)
{
printf("文件记录为空!\n");
return;
}
else if(i>flength)
{
printf("没有该学生信息!\n");
return;
}
else
{
rewind(fp);
fseek(fp,offset,SEEK_SET);
fread(&stu,sizeof(struct student),1,fp);
printf("该学生原来的信息:\n");
printf("\t学号:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性别:%s ",stu.sex);
printf("籍贯:%s ",stu.nation);
printf("电话:%s ",stu.phone);
printf("名族:%s\n\n",stu.nativePlace);
printf("请更新该学生的信息:\n");
strcpy(stu.ID,message);
printf("\t姓名:");
scanf("%s",&stu.name);
printf("\t性别:");
scanf("%s",&stu.sex);
printf("\t籍贯:");
scanf("%s",&stu.nation);
printf("\t电话:");
scanf("%s",&stu.phone);
printf("\t名族:");
scanf("%s",&stu.nativePlace);
fseek(fp,offset,SEEK_SET); //将文件指针指向要修改的地方
fwrite(&stu,sizeof(stu),1,fp); //将修改后的内容重新写回到原来的地方
printf("\t数据更新成功!\n");
}
fclose(fp);
}
}
/************** 查看所有记录 ************************************/
void Views()
{
long flength;
if((fp=fopen("StudentMessage","rb"))==NULL)
{
printf("文件打开失败!\n");
exit(1);
}
fseek(fp,0,SEEK_END); //移动文件指针到文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少条记录
if(flength==0)
{
printf("文件中没有记录!");
return;
}
rewind(fp); //将文件指针移动到文件头
printf("\t\t\t所有记录列表\n\n");
while(!feof(fp))
{
fread(&stu,sizeof(stu),1,fp);
if(strcmp(stu.ID,"")!=0) //检测文件中的空字符串,如果不是空字符串则输出
{
printf("学号:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性别:%s ",stu.sex);
printf("籍贯:%s ",stu.nation);
printf("电话:%s ",stu.phone);
printf("民族:%s\n",stu.nativePlace);
}
}
fclose(fp);
}
/******************** 删除所有记录 ********************************/
void delete_all()
{
int ch;
printf("该操作将删除所有记录,按“0”退出,按“1”继续。\n");
scanf("%d",&ch);
switch(ch)
{
case 0:
break;
case 1:
printf("将删除所有记录,继续请按“1”,退出请按“0”。\n");
scanf("%d",&ch);
switch(ch)
{
case 0:
break;
case 1:
if (remove("StudentMessage") == 0) //删除StudentMessage文件
{
printf("操作成功,所有记录已经删除!");
}
else
{
perror("remove"); //如果删除不成功则输出系统出错的信息
}
break;
}
}
}
③ 求C语言学生档案管理界面的源代码
简短的代码 原创 花了2小时搞的#include "stdafx.h"
#include "stdio.h"
#include "string.h"int main(int argc, char* argv[])
{
struct days
{
int year;
int mon;
int day;
};
struct max
{
int num;
char name[20];
float cpp;
float data;
float english;
struct days mon;
}stu[100]={0,"",0,0,0,0,0,0};
int a,b,c,yanz=0;
char name[50];
FILE *fp;
printf("****************************ZX学生管理系统1.0测试版*****************************\n");
loop:printf("1.通过学号查找信息\n2.通过姓名查找信息\n3.添加学生信息\n4.删除学生信息\n5.文件操作\n请输入操作代码(1~6):");
scanf("%d",&a);
switch(a)
{
case 1:
printf("请输入学生学号:");
scanf("%d",&c);
for(b=0;b<100;b++)
if(stu[b].num==c)
printf("学号:%d\n姓名:%s\nC++:%f分\n数据结构:%f分\n英语:%f分\n平均分%f\n出生日期:%d年%d月%d日\n\n",stu[b].num,stu[b].name,stu[b].cpp,stu[b].data,stu[b].english,(stu[b].cpp+stu[b].data+stu[b].english)/3,stu[b].mon.year,stu[b].mon.mon,stu[b].mon.day);
break;
case 2:
printf("请输入学生姓名:");
scanf("%s",&name);
for(b=0;b<100;b++)
if((strcmp(stu[b].name,name))==0 && stu[b].num!=0)
printf("学号:%d\n姓名:%s\nC++:%f分\n数据结构:%f分\n英语:%f分\n平均分%f\n出生日期:%d年%d月%d日\n\n",stu[b].num,stu[b].name,stu[b].cpp,stu[b].data,stu[b].english,(stu[b].cpp+stu[b].data+stu[b].english)/3,stu[b].mon.year,stu[b].mon.mon,stu[b].mon.day);
break;
case 3:
for(b=0;b<100;b++)
{
if(stu[b].num==0)
{printf("请输入新学生的学号:");<br> scanf("%d",&stu[b].num);<br> printf("请输入新学生的姓名:");<br> scanf("%s",&stu[b].name);<br> printf("请输入新学生的C++分:");<br> scanf("%f",&stu[b].cpp);<br> printf("请输入新学生的数据结构分:");<br> scanf("%f",&stu[b].data);<br> printf("请输入新学生的英语分数:");<br> scanf("%f",&stu[b].english);<br> printf("请输入新学生的出生日期(****,**,**):");<br> scanf("%d,%d,%d",&stu[b].mon.year,&stu[b].mon.mon,&stu[b].mon.day);<br> break;}
}
if(b>=99) printf("空间已满!\n");
break;
case 4:
printf("请输入要删除的那个学生学号:");
scanf("%d",&c);
for(b=0;b<100;b++)
if(stu[b].num==c)
{
stu[b].num=NULL;
printf("删除成功!\n");
yanz=1;
}
if(yanz==0) printf("找不到学号为%d学生的信息!",c);
break;
case 5:
printf("1.保存信息文件\n2.新建文件\n3.读取文件\n请输入操作代码:");
scanf("%d",&c);
if(c==1)
{
printf("请输入输入文件路径:");
scanf("%s",&name);
if((fp=fopen(name,"ab"))!=0)
{
for(b=0;b<100;b++)
if(stu[b].num!=0)fwrite(&stu[b],sizeof(struct max),1,fp);
fclose(fp);
}
else printf("保存文件失败,可能文件被保护或磁盘写满!\n");
}
else if(c==2)
{
printf("请输入输入文件名:");
scanf("%s",&name);
fp=fopen(name,"wb");
fclose(fp);
}
else if(c==3)
{
printf("请输入输入文件路径:");
scanf("%s",&name);
if((fp=fopen(name,"rb"))!=0)
{
for(b=0;b<100;b++)
fread(&stu[b],sizeof(struct max),1,fp);
fclose(fp);
}
else printf("读取文件失败,可能文件不存在或被保护!\n");
}
else printf("输入错误!\n");
}
goto loop;
return 0;
}
④ 用PHP做一个网上文件档案管理系统!
给你画个框架:
基本功能:上传/下载/浏览/注册/登录
设计数据库表
套用网上的源码,这类源码一搜一大堆,现成的上传组件,现成的登录注册组件,你只需要套进来之后桥接一下,梳理下流程,连接数据库就行.
调整页面.梳理流程,完事.
⑤ 特急!C语言学生档案管理系统 源代码`(马上给个答复麻烦了))
已完成,请私信我。界面如下:
⑥ 急需sql图书馆管理系统或者学籍档案管理系统的源代码
1.手工建表用企业管理器.
2.sql脚本建表用查询分析器
3.建表方法请参考sql自带帮助.
⑦ 急求毕业设计—职工档案管理系统(含源代码)
你可以留下你的Email地址,方便我们交换资料
⑧ 人事档案系统源码
网上有这样的程序,可下载,也许有部分功能需要收费,你可以将那一部分屏弊掉来使用。
⑨ 急求!基于javaweb的档案管理系统的实现源代码(附带程序说明)!
基本没人会帮你免费做的。。。。相信我。做这个基本就是有偿。。楼上说猪八戒也挺好的,也就100左右能搞定