当前位置:首页 > 代码 > 正文

管理系统界面源代码(管理端界面)

admin 发布:2022-12-19 19:40 122


今天给各位分享管理系统界面源代码的知识,其中也会对管理端界面进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

c语言程序学生成绩管理系统源代码

头文件:::

#ifndef H_STUDENT_HH

#define H_STUDENT_HH

#include "stdio.h"

#include "string.h"

#include "malloc.h"

#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/

#define numsubs 5 /*学科数目*/

typedef struct message_student /*结构体定义*/

{

char number[6];

char name[20];

char sex[4];

float subject[numsubs];

float score;

float average;

int index;

}student;

extern int numstus; /*学生数目*/

extern student *pointer; /*指向结构体数组*/

extern int lens;

int menu_select(); /*函数声明*/

int openfile(student stu[]);

int findrecord(student stud[]);

int writetotext(student stud[]);

void welcome();

void display1();

void showtable();

void sort(student stu[]);

void deleterecord(student stu[],int i);

void addrecord(student stud[]);

void display(student stud[],int n1,int n2);

void amendrecord(student stud[]);

void count(student stud[]);

void sortnum(student stud[]);

void sortnum2(student stud[]);

void sortname(student stud[]);

void sortname2(student stud[]);

void sortcount(student stud[]);

void sortcount2(student stud[]);

void statistic(student stud[]);

void display1();

#endif

#include "head.h"

int menu_select()

{

char c;

printf("\n\n");

printf(" | 1. 增加学生记录 5.统计信息 |\n");

printf(" | 2. 查询学生记录 6.打开文件 |\n");

printf(" | 3. 修改学生记录 7.保存文件 |\n");

printf(" | 4. 学生纪录排序 8.显示记录 |\n");

printf(" | 0.退出系统 |\n");

printf("\n\n");

printf("请选择(0-8):");

c=getchar();

getchar();

return (c-'0');

}

#include "head.h"

int findrecord(student stud[]) /*查找信息*/

{

char str[2];

int i,num;

if(numstus==0)

{

printf("没有可被查找的记录\n");

return -1;

}

else

{

printf("以何种方式查找?\n1.学号\t2.姓名\t3.名次\n");

gets(str);

if(str[0]=='1') /*按学号查找*/

{

printf("请输入学号:");

gets(str);

for(i=0;i=numstus;i++)

if(strcmp(str,stud[i].number)==0)

{

display(stud,i,i);

break;

}

else continue;

}

else if(str[0]=='2') /*按姓名查找*/

{

printf("请输入姓名:");

gets(str);

for(i=0;i=numstus;i++)

if(strcmp(str,stud[i].name)==0)

{

display(stud,i,i);

break;

}

else continue;

}

else if(str[0]=='3') /*按名次查找*/

{

printf("请输入名次:");

scanf("%d",num);

getchar();

for(i=0;i=numstus;i++)

if(num==stud[i].index)

{

display(stud,i,i);

break;

}

else continue;

}

if(inumstus)

{

printf("没有查找所要的信息。\n");

return -1;

}

return i;

}

}

#include"head.h"

int openfile(student stu[])

{

int i=0,j;

FILE *fp;

char filename[20],str[2];

if(numstus!=0)

{

printf("已经有记录存在,是否保存?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

writetotext(stu);

}

printf("请输入文件名:");

gets(filename);

numstus=0;

if((fp=fopen(filename,"rb+"))==NULL)

{

printf("无法打开该文件\n");

return(-1);

}

fscanf(fp,"%d",numstus);

fgetc(fp);

while(inumstus)

{

fscanf(fp,"%s",stu[i].number);

fscanf(fp,"%s",stu[i].name);

fscanf(fp,"%s",stu[i].sex);

for(j=0;jnumsubs;j++)

fscanf(fp,"%f",stu[i].subject[j]);

fscanf(fp,"%f",stu[i].score);

fscanf(fp,"%f",stu[i].average);

fscanf(fp,"%d",stu[i].index);

i++;

}

fclose(fp);

printf("文件读取成功\n");

printf("是否显示纪录?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

display(stu,0,numstus-1);

return(0);

}

#include "head.h"

void sort(student stud[])

{

int i,j=0;

char str[5];

student *p;

p=stud;

if(numstus==0)

{

printf("没有可供查询的记录!");

}

while(1)

{

for(i=0;;i++)

{

printf(" 请输入查询方式:");

printf("(直接输入回车则结束查询操作)\n");

printf("1.按照学号\t");

printf("2.按照姓名\t");

printf("3.按照名次\n");

gets(str);

if(strlen(str)==0) break;

if(str[0]=='1')

{

printf("请输入排序次序:\n");

printf("1.升序排列\t");

printf("2.降序排列\n");

gets(str);

if(str[0]=='1')

sortnum2(p);

else

sortnum(p);

display(stud,0,numstus-1);

}

else if(str[0]=='2')

{

printf("请输入排序次序:\n");

printf("1.升序排列\t");

printf("2.降序排列\n");

gets(str);

if(str[0]=='1')

sortname2(p);

else

sortname(p);

display(stud,0,numstus-1);

}

else if(str[0]=='3')

{

printf("请输入排序次序:\n");

printf("1.升序排列\t");

printf("2.降序排列\n");

gets(str);

if(str[0]=='1')

sortcount2(p);

else

sortcount(p);

display(stud,0,numstus-1);

}

else printf("请输入1~3");

printf("是否退出排序?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y') break;

}

return;

}

}

void sortnum(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j+1].number,stud[j].number)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortnum2(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j].number,stud[j+1].number)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortname(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j+1].name,stud[j].name)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortname2(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j].name,stud[j+1].name)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortcount(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(stud[j+1].indexstud[j].index)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortcount2(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(stud[j].indexstud[j+1].index)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

#include"head.h"

void statistic(student stud[]) /*新增功能,输出统计信息*/

{

int i,j=0,k=0;

char c1,str[2];

float average[numsubs],sum=0;

if(numstus==0)

printf("没有可被查找的记录\n");

else

{

while(1)

{

printf("下面将统计考试成绩\n");

printf("请选择你要统计哪科的成绩 1.A\t2.B\t3.C\t4.D\t5.E\n");

c1=getchar();

printf("\t一共有个%d记录\n",numstus); /*总共记录数*/

switch(c1)

{

case '1':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[0];

if(stud[k].subject[0]stud[i].subject[0]) k=i;

if(stud[j].subject[0]stud[i].subject[0]) j=i;

}

average[0]=sum/numstus;

printf("\t科目A的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[0]);

printf("\t科目A的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[0]);

printf("\t科目A的平均分是 %5.2f\n",average[0]); /*平均分*/

break;

case '2':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[1];

if(stud[k].subject[1]stud[i].subject[1]) k=i;

if(stud[j].subject[1]stud[i].subject[1]) j=i;

}

average[1]=sum/numstus;

printf("\t科目B的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[1]);

printf("\t科目B的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[1]);

printf("\t科目B的平均分是 %5.2f\n",average[1]); /*平均分*/

break;

case '3':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[2];

if(stud[k].subject[2]stud[i].subject[2]) k=i;

if(stud[j].subject[2]stud[i].subject[2]) j=i;

}

average[2]=sum/numstus;

printf("\t科目C的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[2]);

printf("\t科目C的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[2]);

printf("\t科目C的平均分是 %5.2f\n",average[2]); /*平均分*/

break;

case '4':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[3];

if(stud[k].subject[3]stud[i].subject[3]) k=i;

if(stud[j].subject[3]stud[i].subject[3]) j=i;

}

average[3]=sum/numstus;

printf("\t科目D的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[3]);

printf("\t科目D的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[3]);

printf("\t科目D的平均分是 %5.2f\n",average[3]); /*平均分*/

break;

case '5':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[4];

if(stud[k].subject[4]stud[i].subject[4]) k=i;

if(stud[j].subject[4]stud[i].subject[4]) j=i;

}

average[4]=sum/numstus;

printf("\t科目E的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[4]);

printf("\t科目E的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[4]);

printf("\t科目E的平均分是 %5.2f\n",average[4]); /*平均分*/

break;

default:printf("输入错误!请输入1~5之间的数\n");

}

sum=0;

getchar();

printf("是否继续进行统计?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y') ;

else break;

}

}

}

#include"head.h"

int writetotext(student stud[]) /*将所有记录写入文件*/

{

int i=0,j;

FILE *fp;

char filename[20];

printf("输入文件名称:");

gets(filename);

fp=fopen(filename,"w");

fprintf(fp,"%d\n",numstus);

while(inumstus)

{

fprintf(fp,"%s %s %s ",stud[i].number,stud[i].name,stud[i].sex);

for(j=0;jnumsubs;j++)

fprintf(fp,"%f ",stud[i].subject[j]);

fprintf(fp,"%f %f %d ",stud[i].score,stud[i].average,stud[i].index);

i++;

}

fclose(fp);

printf("已成功存储!\n");

display(stud,0,numstus-1);

numstus=0;

return 0;

}

#include"head.h"

void welcome()

{

printf("\t*************************************************************\n");

printf("\t\t\t\t这是一个学生成绩管理系统\n\t\t\t\t 倾情奉献 欢迎使用!\n");

printf("\t*************************************************************\n");

}

void showtable()

{

printf("---------------------------------------------------------------------------------------\n");

printf("学号\t姓名\t性别\tA\tB\tC\tD\tE\t总分\t平均分\t名次\n");

printf("---------------------------------------------------------------------------------------\n");

}

void display(student stud[],int n1,int n2)

{

int i;

showtable(); /*显示表头*/

for(i=n1;i=n2;i++)

printf("%s\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\t\n",stud[i].number,stud[i].name,stud[i].sex,stud[i].subject[0],stud[i].subject[1],stud[i].subject[2],stud[i].subject[3],stud[i].subject[4],stud[i].score,stud[i].average,stud[i].index);

/*通过循环输出数据*/

}

void display1()

{

printf("\t\t本系统由计应精英一组亲情制作\n\n");

printf("\t\t制作人员列表: (按比划)\n");

printf("\t\t王庆斌\t\t\t张威\n\t\t李智\t\t\t周在峰\n\t\t杨凯\t\t\t胡杨\n");

printf("\n\n");

getchar();

}

#include"head.h"

#includestring.h

void amendrecord(student stud[])

{

char str[5]; /*供用户输入*/

int i=-1,j;

if(numstus==0) /*没有记录返回*/

printf("没有可供修改的记录!");

while(i0)

{

i=findrecord(stud);

if(i=0)

{

printf("要删除这个学生的信息吗?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

{

deleterecord(stud,i);

count(stud);

}

else

{

printf("确定要修改这个学生的信息吗?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

{

printf("下面请重新输入学生的信息:\n");

printf("请输入学号:");

gets(stud[i].number);

printf("请输入姓名:");

gets(stud[i].name);

printf("请输入性别(男/女 1/0):");

gets(str);

if(str[0]=='0')

strcpy(stud[i].sex,"女");

else

strcpy(stud[i].sex,"男");

stud[i].score=0;

printf("请按顺序输入成绩:");

for(j=0;jnumsubs;j++)

{

scanf("%f",stud[i].subject[j]);

stud[i].score+=stud[i].subject[j];

}

getchar();

stud[i].average=stud[i].score/numsubs;

}

count(stud);

}

display(stud,0,numstus-1);

}

printf("是否继续进行其他修改?(y/n)\n");

gets(str);

if(str[0]=='y'||str[0]=='Y')

i=-1;

else i=1;

}

}

void deleterecord(student stu[],int i) /*删除信息*/

{

int j;

while(i=0)

{

for(j=i;jnumstus;j++)

stu[j]=stu[j+1];

numstus--;

printf("删除成功!\n");

}

}

void count(student stud[])

{

int i,j;

for(i=0;inumstus;i++)

{

stud[i].index=1;

for(j=0;jnumstus;j++)

if(stud[j].scorestud[i].score)

stud[i].index++;

}

}

#include "head.h"

void addrecord(student stud[])

{

int i=0,j,num;

char str[5];

if(numstus!=0)

{

printf("已有记录存在是否覆盖?(y/n)\n");

gets(str);

if(str[0]=='Y'||str[0]=='y')

i=0;

else i=numstus;

}

printf("请输入增加的学生信息条目数:");

scanf("%d",num);

if(i==0)

numstus=num;

else numstus+=num;

if(numstuslens)

{

lens+=50;

pointer=(student *)realloc(pointer,lens*LEN);

}

printf("请输入学生信息:\n");

for(;inumstus;i++)

{

getchar();

printf("请输入学号:");

gets(pointer[i].number);

printf("请输入姓名:");

gets(pointer[i].name);

printf("请输入性别(男/女 1/0):");

gets(pointer[i].sex);

if(pointer[i].sex[0]=='0') strcpy(pointer[i].sex,"女");

else strcpy(pointer[i].sex,"男");

printf("请输入各科成绩:(按ABCDE的顺序):");

stud[i].score=0;

for(j=0;jnumsubs;j++)

{

scanf("%f",stud[i].subject[j]); /*计算总分*/

stud[i].score+=stud[i].subject[j];

}

stud[i].average=stud[i].score/numsubs; /*计算平均分*/

}

count(stud); /*附名次*/

display(stud,0,numstus-1);

getchar();

}#include "head.h"

int numstus;

int lens;

student *pointer;

void main()

{

int i=1;

char str[2];

lens=100;

pointer=(student *)malloc(lens*LEN); /*分配内存*/

numstus=0;

welcome(); /*欢迎界面*/

while(i0)

{

i=menu_select(); /*控制菜单*/

switch(i)

{

case 1:addrecord(pointer);break; /*增加学生信息*/

case 2:findrecord(pointer);break; /*查询学生信息*/

case 3:amendrecord(pointer);break; /*修改学生信息*/

case 4:sort(pointer);break; /*学生信息排序*/

case 5:statistic(pointer);break; /*统计信息*/

case 6:openfile(pointer);break; /*打开文件*/

case 7:writetotext(pointer);break; /*保存文件*/

case 8:display(pointer,0,numstus-1);break; /*显示记录*/

case 0:

if(numstus!=0) printf("是否保存当前记录?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

writetotext(pointer);

i=-1;break; /*退出系统*/

default:printf("请输入数字0~8:\n");i=1; /*输入错误*/

}

}

printf("\t\t欢迎再次使用本系统。\n\n");

display1();

}

自己一改就能用,给我加分哈!

C++图书馆管理系统源代码

/*****************************************************************************************/

#include iostream

#include iomanip

#include cstring

#include fstream//输入/输出文件流类

using namespace std;

const int Maxr=100;//最多的读者

const int Maxb=100;//最多的图书

const int Maxbor=5;//每位读者最多借五本书

//读者类,实现对读者的信息的描述

class Reader

{

private:

int tag; //删除标记 1:已删 0:未删

int no; //读者编号

char name[10]; //读者姓名

int borbook[Maxbor];//所借图书

public:

Reader() {}

char *getname() {return name;} //获取姓名

int gettag() {return tag;} //获取删除标记

int getno() {return no;} //获取读者编号

void setname(char na[]) //设置姓名

{

strcpy(name,na);

}

void delbook(){ tag=1; }//设置删除标记 1:已删 0:未删

void addreader(int n,char *na)//增加读者

{

tag=0;

no=n;

strcpy(name,na);

for(int i=0;iMaxbor;i++)

borbook[i]=0;

}

void borrowbook(int bookid)//借书操作

{

for(int i=0;iMaxbor;i++)

{

if (borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

}

int retbook(int bookid)//还书操作

{

for(int i=0;iMaxbor;i++)

{

if(borbook[i]==bookid)

{

borbook[i]=0;

return 1;

}

}

return 0;

}

void disp()//读出读者信息

{

cout setw(5) no setw(10) name"借书编号:[";

for(int i=0;iMaxbor;i++)

if(borbook[i]!=0)

cout borbook[i] "|";

cout "]"endl;

}

};

//读者类库,实现建立读者的个人资料

class RDatabase

{

private:

int top; //读者记录指针

Reader read[Maxr];//读者记录

public:

RDatabase() //构造函数,将reader.txt读到read[]中

{

Reader s;

top=-1;

fstream file("reader.txt",ios::in);//打开一个输入文件

while (1)

{

file.read((char *)s,sizeof(s));

if (!file)break;

top++;

read[top]=s;

}

file.close(); //关闭 reader.txt

}

void clear()//删除所有读者信息

{

top=-1;

}

int addreader(int n,char *na)//添加读者时先查找是否存在

{

Reader *p=query(n);

if (p==NULL)

{

top++;

read[top].addreader(n,na);

return 1;

}

return 0;

}

Reader *query(int readerid)//按编号查找

{

for (int i=0;i=top;i++)

if (read[i].getno()==readerid

read[i].gettag()==0)

{

return read[i];

}

return NULL;

}

void disp() //输出所有读者信息

{

for (int i=0;i=top;i++)

read[i].disp();

}

void readerdata();//读者库维护

~RDatabase() //析构函数,将read[]写到reader.txt文件中

{

fstream file("reader.txt",ios::out);

for (int i=0;i=top;i++)

if (read[i].gettag()==0)

file.write((char *)read[i],sizeof(read[i]));

file.close();

}

};

void RDatabase::readerdata()

{

char choice;

char rname[20];

int readerid;

Reader *r;

while (choice!='0')

{

cout "\n\n\t\t\t读 者 维 护\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 删 除\n\n\t\t 4 查 找\n\n\t\t 5 显 示\n\n\t\t 6 全 删\n\n\t\t 0 退 出"endl;

cin choice;

switch (choice)

{

case '1':

cout "输入读者编号:";

cin readerid;

cout "输入读者姓名:";

cin rname;

addreader (readerid,rname);

break;

case '2':

cout "输入读者编号:";

cin readerid;

r=query(readerid);

if (r==NULL)

{

cout " 该读者不存在 "endl;

break;

}

cout "输入新的姓名:";

cin rname;

r-setname(rname);

break;

case '3':

cout " 输入读者编号:";

cin readerid;

r=query(readerid);

if (r==NULL)

{

cout " 该读者不存在" endl;

break;

}

r-delbook();

break;

case '4':

cout "读入读者编号:";

cin readerid;

r=query(readerid);

if (r==NULL)

{

cout "该读者不存在" endl;

break;

}

r-disp();

break;

case '5':

disp();

break;

case '6':

clear();

break;

default:cout"输入错误,请从新输入:";break;

}

}

}

//图书类,实现对图书的描述,图书的编号,书名,借出,还入等

class Book

{

private:

int tag;//删除标记 1:已删 0:未删

int no;//图书编号

char name[20];//书名

int onshelf;//是否再架 1:再架 2:已借

public:

Book(){}

char *getname() { return name; }//获取姓名

int getno(){ return no; }//获取图书编号

int gettag(){ return tag; }//获取删除标记

void setname(char na[])//设置书名

{

strcpy(name,na);

}

void delbook(){ tag=1;}//删除图书

void addbook(int n,char *na)//增加图书

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

int borrowbook()//借书操作

{

if (onshelf==1)

{

onshelf=0;

return 1;

}

return 0;

}

void retbook()//还书操作

{

onshelf=1;

}

void disp()//输出图书

{

cout setw(6) no setw(18) name setw(10)

(onshelf==1? "在架":"已借") endl;

}

};

//图书库类,实现对图书的维护,查找,删除等

class BDatabase

{

private:

int top; //图书记录指针

Book book[Maxb]; //图书记录

public:

BDatabase()//构造函数,将book.txt读到book[]中

{

Book b;

top=-1;

fstream file("book.txt",ios::in);

while (1)

{

file.read((char *)b,sizeof(b));

if (!file) break;

top++;

book[top]=b;

}

file.close();

}

void clear()//全删

{

top=-1;

}

int addbook(int n,char *na)//增加图书

{

Book *p=query(n);

if (NULL==p)

{

top++;

book[top].addbook(n,na);

return 1;

}

return 0;

}

Book *query(int bookid)//查找图书

{

for (int i=0;i=top;i++)

if (book[i].getno()==bookid book[i].gettag()==0)

{

return book[i];

}

return NULL;

}

void bookdata();//图书库维护

void disp()

{

for (int i=0;i=top;i++)

if (book[i].gettag()==0)

book[i].disp();

}

~BDatabase()//析构函数,将book[]写到book.txt文件中

{

fstream file("book.txt",ios::out);

for (int i=0;i=top;i++)

if (book[i].gettag()==0)

file.write((char *)book[i],sizeof(book[i]));

file.close();

}

};

void BDatabase::bookdata()

{

char choice;

char bname[40];

int bookid;

Book *b;

while (choice!='0')

{

cout "\n\n\n\t\t\t图 书 维 护 "endlendl;

cout"\t\t1 新 增\n \t\t2 更 改\n\t\t3 删 除\n\t\t4 查 找\n\t\t5 显 示\n\t\t6 全 删\n\t\t0 退 出"endl;

cin choice;

switch (choice)

{

case '1':

cout "输入图书编号:"endl;

cin bookid;

cout "输入图书书名:"endl;

cin bname;

addbook(bookid,bname);

break;

case '2':

cout "输入图书编号:"endl;

cin bookid;

b=query(bookid);

if (b==NULL)

{

cout " 该图书不存在 "endl;

break;

}

cout "输入新的书名:"endl;

cin bname;

b-setname(bname);

break;

case '3':

cout " 读入图书编号:"endl;

cin bookid;

b=query(bookid);

if (b==NULL)

{

cout " 该图书不存在" endl;

break;

}

b-delbook();

break;

case '4':

cout " 读入图书编号:"endl;

cin bookid;

b=query(bookid);

if (b==NULL)

{

cout " 该图书不存在" endl;

break;

}

b-disp();

break;

case '5':

disp();

break;

case '6':

clear();

break;

default:cout"输入错误,请从新输入:";

}

}

}

//main() 函数的实现,程序的主界面的引导

int main(void)

{

char choice;

int bookid,readerid;

RDatabase ReaderDB;

Reader *r;

BDatabase BookDB;

Book *b;

while(choice!='0')

{

cout endlendl"\t\t\t 图 书 管 理 系 统\n\n\n";

cout "\t\t\t1 借 书\n\n\t\t\t2 还 书 \n\n\t\t\t3 图 书 维 护\n\n\t\t\t4 读 者 维 护\n\n\t\t\t0 离 开"endl;

cin choice;

switch (choice)

{

case '1':

cout " 借书 读者编号:";

cin readerid;

cout " 图书编号: ";

cin bookid;

r=ReaderDB.query(readerid);//按编号查找

if (NULL==r)

{

cout " 不存在该读者,不能借书" endl;

break;

}

b=BookDB.query(bookid);

if (b==NULL)

{

cout " 不存在该图书,不能借书" endl;

break;

}

if (b-borrowbook()==0)

{

cout " 该图书已借出,不能借书" endl;

break;

}

r-borrowbook(b-getno());

break;

case '2':

cout"还书\n 读者编号:";

cin readerid;

cout " 图书编号:";

cin bookid;

r=ReaderDB.query(readerid);

if (r==NULL)

{

cout " 不存在该读者,不能还书" endl;

break;

}

b=BookDB.query(bookid);

if (b==NULL)

{

cout " 不存在该图书,不能还书" endl;

break;

}

b-retbook();

r-retbook(b-getno());

break;

case '3':

BookDB.bookdata();

break;

case '4':

ReaderDB.readerdata();

break;

default:cout"输入错误,请从新输入:";

}

}

return 0;

}

个人博客管理系统源码

技术栈

后端技术栈:egg.js + mysql + sequelize + jwt 等

前端技术栈:vue全家桶 + axios + elementUI + markdown编辑器等

前端项目地址:

项目运行

git clone

# 如果clone 很慢,也可以拉码云的仓库

git clone

cd egg-cms

npm install

然后修改config/config.default.js和database/config.json(这个改不改都行)下自己的数据库用户名和密码

创建数据库egg_cms_development

在egg_cms_development数据库下导入项目根目录下egg_cms_development.sql文件

运行项目

npm run dev

浏览器打开

admin登录账号:admin,密码: 123456 普通用户账号密码自己用admin去用户管理创建

演示地址: (自己服务器只开放部分功能,想要查看全部功能,请copy代码在自己的电脑上看)

用户名: test

密码:123456

项目功能

登录 -- 完成

首页 -- 去我的博客

文章列表 -- 增删改查

文章类型 -- 增删改查

用户中心 -- 增删改查

角色管理 -- 增删改查

菜单管理 -- 增删改查

部门管理 -- 增删改查

通知公告 -- 增删改查

头像上传 -- 完成

我的博客前端界面(知道地址后无需登录就可以进入)

界面截图

传送门:前端vue3 + 后端egg项目地址: 或者

管理系统界面源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于管理端界面、管理系统界面源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/21039.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载