- 时间:2021-02-12 01:57 编辑:刘春 来源:蚂蚁资源 阅读:168
- 扫一扫,手机访问
摘要:大家好,今天给大家介绍关于文档管理系统源码(开源在线文档管理系统)的相关内容,详细讲解C语言编一个小型文件管理系统,有没有开源的文档管理系统什么公司开发的,求助!C/C++编写文件管理系统等,希望可以帮助到您。
C语言编一个小型文件管理系统,(1)学生管理系统/ * main.c * /#包括
#include #include“linkedlist.h”#include“passwd.h”#include“menu.h”const Char级[] =“等级”; const char 2 [] =“学生编号”; const char name [] =“name”; const char math [] =“数学”; const char中文[] =“语言”; const char英语[] =“英语”; const char total [] =“总分”; const char平均[] =“平均等级”; #define main_jug(jug,n)((n = strcmp(jug,“是”))== 0)|| ((n = strcmp(jug,“是”)))== 0)|| ((n = strcmp(jug,“y”))== 0)|| n = strcmp(jug,“y”))== 0))结构节点尾部; struct节点head = {null,null和tails}; struct节点tails = {null,head,null};静态链接头=头;静态链接尾=和尾部; void fprint_item(链接p,文件* f){fpRINTF(F,“%-10s%-5d%-15s%-7.2f%-7.2f%-7.2f%-7.2f%-7.2f \ n”,p->项目 - >等级,p->项目 - >否,p->项目 - >名称,p->项目 - >得分仪[0],p->项目 - >得分仪[1],p->项目 - >得分仪[2],p->项目 - >总,p->项目> vers);返回;} void print_item(链接p){printf(“% - 10s%-5d%-15s%-7.2f%-7.2f%-7.2f%-7.2f%-7.2f \ n”,p->项目 - >级,p->项目 - >否,p->项目 - >名称,p->项目 - >得分仪[0],p->项目 - >得分手[1],p->项目 - >分数[ 2],p->项目 - >总,p->项目 - > ver); void main_sort_menu(void){printf(“0.退出排序\ n”“1.按成绩\ n”“。排序通过学生ID号“3.按学生姓名排序”“4。按数学分类”“5。排序语言等级\ n”“6。按英语级别排序\ n”7。排序总分\ n“”8 。分类\ n“平均等级);返回;李nk main_pop(void){if(head-> next == tail)返回null;否则{link p = head-> next; link temp = head-> next; temp-> next-> prev = head;头 - > next = temp-> next;返回p;}} void main_output_file(void){char文件[30],jug [5]; int标志= 1; int n;文件* fp = null;链接= null; Printf(“你想保存所有学生的记录(Y或N)?:”); if(scanf(“%s”,jug)项); q-> prev = null; q-> next = null;免费(q);} fclose(fp);虽然((q = main_pop()))){free(q->项目); q-> prev = null; q-> next = null;免费(q);} flag = 0;} else {while((q = main_pop()))){free(q->项目); q-> prev = null; q-> next = null;免费(q);}}返回; void partial_insert(int covest n,链接p){ix(head-> next == tail){p-> next = head-> next;头 - >下一个 - > prev = p; p-> prev = head;头 - >下一个= p; Retu.rn;链接q = null;切换(n){case 1:for(q = head-> next; q!=尾部; q = q-> next){if(strcmp(p->项目 - >等级,q->项目 - >等级) < 0) { perror("scanf"); exit(1); } if (MAIN_JUG(jug, n)) { printf("请输入文件名: "); if (scanf("%s", file) < 0) { perror("scanf"); exit(1); } if ((fp = fopen(file, "w")) == NULL) { perror("Open file stu_info"); exit(1); } fprintf(fp, "%-13s%-8s%-18s%-10s%-10s%-10s%-11s%-8s\n", Grade, StuID, Name, Math, Chinese, English, Total, Average); while ((q = main_pop())) { fprint_item(q, fp); free(q->下一个= q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;否则{if(q-> next == tail){ p-> next = q-> next; q-> next-> prev = p; p-> prev = q; q-> next = p; return;}}}案例2:for(q = head-> next ; q!=尾部; q = q-> next){if(p->项目 - >否< 0) { p->项 - > no){p-> next = q; q-> prev-> next = p; p - > prev = q-> prev; q-> prev = p}} else {if(q-> next == tail){p-> next = q-> next; q-> next-> prev = p; p-> prev = q; q-> next = p返回;}}} ucase 3:for(q = head-> next; q!=尾部; q = q = q-> next){if(strcmp(p->项目 - >名称,Q->项目 - >名称)< q->下一个= q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;返回;}否则{if(q->下一个== tail){p-> next = q-> next; Q->下一个 - > prev = p; p-> prev = q; q-> next = p; return;}}}案例4:for(q = head-> next; q!=尾部; q = q-> next){if(p->项目 - >得分仪[0] < 0) { p->项目 - >得分仪0 ]){p-> next = q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;} {if(q-> next == tail){p-> next = q-> next; Q->下一个 - > prev = p; p-> prev = q; q-> next = p;返回;}}}案例5:for(q = head-> next; q!=尾部; q = q-> next){if(p->项目 - >得分仪[1] < q->项目 - >得分手[ 1]){p-> next = q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;} {if(q-> next == tail){p-> next = q-> next; Q->下一个 - > prev = p; p-> prev = q; q-> next = p;返回;}}}案例6:for(q = head-> next; q!x尾部; q = q-> next){if(p->项目 - >得分仪[2] < q->项目 - >得分手[ 2]){P->下一个= q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;} {if(q-> next == tail){p-> next = q-> next; Q->下一个 - > prev = p; p-> prev = q; q-> next = p;返回;}}}案例7:for(q = head-> next; q!=尾部; q = q-> next){if(p - >项目 - >总计< q->项目 - >总计){p- >下一个= q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;} {if(q-> next == tail){p-> next = q-> next; Q->下一个 - > prev = p; p-> prev = q; q-> next = p;返回;}}}案例8:for(q = head-> next; q!=尾部; q = q-> next){if(p - >项目 - > aver < q->项 - > aver){p- >下一个= q; q-> prev-> next = p; p-> prev = q-> prev; q-> prev = p;返回;} {if(q-> next == tail){p-> next = q-> next; q-> next - > prev = p; p-> prev = q; q-> next = p;返回;}}}默认值:printf(“没有相应的功能!\ n“);免费(p->项目); p-> prev = null; p-> next = null;自由(p); return;} void sort_insert(int const n){link p = null,q = null; whis(p = fake_pop()))){partial_insert(n,p);} printf(“% - 13s%-8s%-18s%-10s%-10s%-10s%-11s%-8s \ n “,级别,斯法德,姓名,数学,汉语,英文,总,平均值);对于(q =头 - >下一个; q!=尾部; q = q - > next)print_item(q);返回;返回; void main_insert( void){int标志= 1,func; while(flash){mail_sort_menu(); printf(“请键入相应的函数编号:”);如果(scanf(“%d”,&func)<0){perror( “scanf”);退出(1);}切换(func){case 0:main_output_file(); flags = 0;休息;案例1:sort_insert(1);休息;案例2:sort_insert(2);休息;休息;休息;休息;休息3:sort_insert(3);休息;案例4:sort_insert(4);休息;案例5:sort_insert(5); brEAK;案例6:sort_insert(6);打破;案例7:sort_insert(7);打破;案例8:sort_insert(8);打破;默认值:肉类(“没有此功能,请重新输入!\ n”,stderr); break;}}}} int main(void){int ch,sys,标志= 1; //虽然(1){if(passwd()<0){fprintf(stderr,“密码错误!退出!\ n”);出口(-1);} printf(“欢迎”“学生管理系统!\ n”); while(标志){menu(); if(scanf(“%d”,&ch)<0){perror(“scanf”);出口(1);}切换(CH){ucket 0:output_file();标志= 0;打破;案例1:if((sys = system(“clear”))== - 1 ||(sys = system(“clear”))== 127puts(“清除屏幕失败”);链接引脚= make_node();插入(PIN);休息;案例2:如果((sys = system(“clear”))== -1 ||(sys = system)“clear”))== 127)放置(“清除屏幕失败”);删除();打破;案例3:if((sys = system(“clear”))== -1 || (sys = system)“清除”))== 127)放置(“清除屏幕失败”); Printf(“请输入相应的函数编号以查找要修改的学生记录!\ n”); char cmo; int = 1,Inimo = 1; while(imo){链接pmo = search(); if(pmo == null){printf(“没有这个学生!\ n”); PUTS(“你想找到更改(y或n)吗?:”)(INIMO){if(scanf(“%c”,&cmo)<0){perror(“scanf”);退出(1);}如果(cmo =='y'|| cmo =='y'imo = 1,Inimo = 0;否则if(cmo =='n'|| cmo =='n')imo = 0,Inimo = 0;否则{printf(“请输入\'y \',\'y \',\'n \',\'n \',\'n \',\'n \',\'n \':”); imo = 1,Inimo = 1;}} } else {修改(pmo); imo = 0;}} break;案例4:if((sys = system(“clear”))== -1 ||(sys = system(“clear”))== 127 )放置(“清理失败”);链接pse = searcH (); if(pse == null){printf(“没有这个学生!\ n”);休息;} printf(“您正在寻找的学生信息:\ n”); printf(“% - 13s%-8s%-18s%-18s%-10s%-10s%-11s%-8s \ n”,等级,stuid,姓名,数学,汉语,英文,总,平均); print_item(pse);打破;案例5:if((sys = system)(“clear”))== -1 || (sys = system(“clear”))== 127)放置(“清除屏幕失败”); main_insert();打破;案例6:if((sys = system(“clear”))== -1 ||(sys = system(“clear”)== 127)放置(“清除屏幕失败”); read_file(); printf(“ % - 13s%-8s%-18s%-10s%-10s%-10s%-11s%-8s \ n“,等级,stuid,名称,数学,中国,英语,总,平均;横向(print_item);休息;案例7:if((sys = system(“clear”))== -1 ||(sys = system(“clear”))== 127)放置(“清除屏幕失败”); printf(“% - 13s%-8s%-18s%-10s%-10s%-10s%-11s%-8s \ n“,等级,stuid,名称,数学,汉语,英文,总,平均;横穿;休息;案例8:if((sys = system(“clear”))== -1 ||(sys = system(“clear”))== 127)放置(“清理”); int a [5] [sjt] = {{0}}; pass_rate(a); display_rate(a);中断;默认值:if((sys = system(“cles = system))== -1 ||(sys = system)(”clear“) )== 127)放置(“清除屏幕失败”);呕吐(“没有此功能!\ n”,stderr); break;}}如果((sys = system(“重置”))== -1 ||(sys = system(“重置”)== 127)放置(“清除屏幕失败”);返回0;} / * linkedlist.h * /#ifndef linkedlist_h#define linkedlist_h#定义grd 30 //最大字符数(即,年度字段的最大长度)#define nam 40 / /最大长度的名称#def #defINE SJT 3 //主题标志STRUST学生{CHAR等级[GRD];否; CHAR名称[NAM];浮动得分[sjt];浮动总计;浮动ver;}; typedef strunt学生* stu; struct节点{stu项目; struct节点* prev;结构节点*下一个;}; typedef结构节点*链接; extern link make_node(void); extern void free_node(链接p); extern链接搜索(void); extern void插入(链接p); extern void delete(void); extern void修改(链接p); extern void traverse(void(*访问)(链接)); extern void破坏(空白); extern link fake_pop(void); extern link pop(void); extern void fle; extern void outprut_file(void); extern void pass_rate(int count [] [sjt]); extern void display_rate(int p [] [sjt]); #EDIF
有没有开源的文档管理系统什么公司开发的,Broadcom文件管理系统将有强大的发展,无论开源是否需要具体
求助!C/C++编写文件管理系统,#include“stdio.h”#include“stdlib.h”#include“string.h”// main文件结构struct masterfile {char用户名[20]; //用户名char密码[20]; //用户名密码char标志; //徽标结构; //用户文件结构struct userfile {int fnum; //文件编号char flength; //文件名int flencenct; //文件长度char标志; //文件长度char标志; //签署char fpw [20]; //文件保护代码结构userfile *链接;}; //全局变量int shovesave; //存储标签Int使用num; //当前用户标签struct masterfile mfd [20]; // lord目录struct userfile ufd [20] [20]; //查看Main Catalog Free Zone Struct MasterFile * MoveMfdTolast(for(int i = 0; i <20;i++){ if(MFD[i].flag==0) usingnum=i; return &MFD[i]; } return NULL; } //查找用户 struct MasterFile*SearchMFD(char str[]){ for(int i=0;i<20;i++){ if(strcmp(str,MFD[i].username)==0){ usingnum=i; return &MFD[i]; } } return NULL; } //寻找用户目录空闲区 struct UserFile *MoveUFDToLast(){ for(int i=0;i<20;i++){ if(UFD[usingnum][i].flag==0) return &UFD[usingnum][i]; } return NULL; } //查找用户文件 struct UserFile *SearchUFD(int num){ for(int i=0;i<20;i++){ if(UFD[usingnum][i].fnum==num) return &UFD[usingnum][i]; } return NULL; } //删除用户文件目录 void LeftMoveUFD(int num){ for(int i=0;i<20;i++){ if(UFD[usingnum][i].fnum==num){ for(int j=i;j<19;j++){ UFD[usingnum][i].flag=UFD[usingnum][i+1].flag; UFD[usingnum][i].flength=UFD[usingnum][i+1].flength; strcpy(UFD[usingnum][i].fname,UFD[usingnum][i+1].fname); UFD[usingnum][i].fnum=UFD[usingnum][i+1].fnum; strcpy(UFD[usingnum][i].fpw,UFD[usingnum][i+1].fpw); UFD[usingnum][i].link=UFD[usingnum][i+1].link; } } } } //用户登陆 void Login(){ char flag1,flag2,flag3; char str1[20],str2[20],str3[20],str4[20]; struct MasterFile *p; printf("你是已有用户吗(y/n)?"); scanf("%s",&flag1); if(flag1=='n'){ //新用户登录 printf("请创建新的用户:(y/n)"); scanf("%s",&flag2); if(flag2=='n'){ printf("你已退出了系统!\n"); exit(1); }else{ printf("请输入你的用户名:"); scanf("%s",&str1); printf("请输入口令:"); scanf("%s",&str2); p=MoveMFDToLast(); strcpy(p->用户名,str1); strcpy(p->密码,str2); p->标志= 1; printf(“%d”,mfd [使用嗯] .flag); p-> next = null; shoudsave = 1; // Store Tag}} {//旧用户登录(1){printf(“请输入您的用户名:”); //输入username scanf(“%s”,&str3); p = searchmfd(str3); if(p == null){printf(“抱歉,您不存在的用户名!\ n”); Printf(“继续(y)或放弃(n)?”); scanf(“%s”,&flag3);如果(flag3 =='y')继续;否则{printf(“您退出了系统!\ n”);退出(1);}}否则(1){printf(“请输入密码:”); //输入密码scanf(“%s”,&str4); if(strcmp(str4,p-> password)!= 0){printf(“抱歉,您输入的密码正确,请重新输入。\ n”);继续;} else break;}} break;}}}} //菜单void menu(){printf(“\ n ********************** ** ************************************************** *************************“); printf(”\ t1列文件目录
责任编辑(刘春)
以上就是关于**文档管理系统源码,开源在线文档管理系统**的全部内容,了解更多请关注蚂蚁资源网。
- 201538
- 有什么好用文件管理系统1免费开源2检索方便管理安全3cms,有什么好用文件管理系统1免费开源2检索方便管理安全3…2317
- 2021-02-12 01:57:34
- hedianshui
- 原发布者:lorisyf232文件管理系统设计方案 传统的管理和保存文件的方式是人工生成和保管文件(包括:生成、传阅、审批、进入受控状态等),文件通常是保存在文件柜中的。 由于文件数量多,版本复杂,在实际使用中经常出现问题,例如:文件版本不一致、文件查找困难、文件管理处理历史记录报表工作量过大等。本方案旨在解决单位对大量工程和技术文件的管理,达到并确保工作人员手中文件版本的一致性、文件更改的可追溯性,同时以实现电子公告、电子通知、电子邮件、公文收发等功能来提高单位日常办公及管理的自动化。一、文件管理系统的建设目标和意义目标:满足企业对文件信息进行集中管理、查询的需要通过文件的集中管理,使企业实现资料共享,资料同步更新企业重要文档的使用权限设置,一方面节约了资本,另一方面自动化管理,保证了资料的保密性和安全性简化了员工查找和使用资料的工作步骤,使员工把时间放在其他更有价值的工作上,减少重复劳动,提高工作效率,为企业争取更多利润把无纸化办公和自动化办公结合起来,实现了无纸化和物理化文档管理的有机组合把先进的数据库技术运用于文档管理,促进企业信息化管理的进步文件管理系统建设意义:1、分类、管理企业文件文件管理系统通过数据库管理,对企业纷杂的文件内容进行分门别类的管理,按照不同的介质(图片、影音、word、excel、ppt、pdf等)进行存放管理。文件管理系统通过权限管理,对不同的员工开放不同级别的文件库,最
- 2021-02-12 01:57:34
- qian
- OpenGoo PHP开源文档管理系统OpenGoo是一套基于ExtJs+XAMP(Apache、PHP、MySQL)开发的开源web office。适用于任何单位或个人创建,共享,协作维护和发布它们所有内部与外部文档。relaybrelayb是一个Ajax目录管理器。支持拖放操作文件和文件夹。动态加载文件结构。文件上传提示进度条。缩略图查看包括PDF格式,支持多用户和多账号。Simple Directory ListingSimple Directory Listing提供一个类似于apache http服务器目录列表的文档管理界面。拥有复制,移动,删除,重命名,创建文件夹/文件。上传/下载文件,Unicode支持,缩略图查看,RSS发布等。CKFinderCKFinder是一个易于使用的Ajax文件管理器。提供文件夹树形结构(Folders tree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成FCKeditor在线编辑器。phpWebFtpphpWebFtp是一个基于Web的Ftp客户端,可以连接至任意Ftp服务器。内置22种语言包。易于在Binary/ASCII两种模式下切换。提供WYSIWYG文件编辑器用于编辑.htm文件。内置文件与目录下载模式。支持解压zip文件等。CuteFlowCuteFlow是一个基于Web的文档流转/工作流工具。用户定义好一个文档之后就会按指定的流程一步一步地转发给列表中的每一个用户。EpiwareEpiware是一个AJAX支持的项目与文档管理Web应用系统。它提供了一套完整的文件管理功能包括文档上传,下载,版本控制,审核,变化通知和访问历史列表等。Epiware还为开发团队创建一个安全的信息交流与相互协作平台。PHP Navigator基于Web运用PHP+Ajax技术开发的PHP开源文档管理系统。它具有WindowsXP风格的操作界面。使你感觉像在Windows中。DocMgrDocMgr是一个基于PHP+Postgresql构建的Web文档管理系统。支持利用tsearch2对大部分流行的文档格式进行全文索引。它同样包含访问控制列表,用户权限管理和文件多级分组功能。SimpleDocSimpleDoc是一个基于web的PHP开源文档管理系统。它的界面简单而且直观(以树的结构进行管理,运用Ajax技术使得当修改内容时不需要刷新浏览器)。SimpleDoc不需要数据库支持。DocumentManagerDocument Manager是一个包含权限管理与邮件提醒功能基于Web的文档管理器。无需要数据库支持。KnowledgeTreeKnowledgeTree是一个开源基于Web的文档管理系统。它具有知识管理,文档版本控制,分层文档管理和支持一些流行的文件格式也可以自定文件类型等。Owl Intranet EngineOwl是一个多用户的PHP开源文档管理系统。它可对文件夹和文件设置权限,基于角色权限管理,具有易于使用并且简洁的用户操作与管理界面,能够对文件夹和文件 进行监控,支持对文本,MS-Word和PDF文件进行全文搜索,提供下载统计功能,数据库备份工具,新闻系统,版本控制,回收站,自定文档类型等等。更多详细的可以去看这篇文章http://www.php.cn/php-weizijiaocheng-304283.html,希望对你有帮助
- 2021-02-25 16:15:01