有关宿舍管理系统的一些问题

以下是宿舍管理系统的程序。请问一下如何更改能使学号这一成员允许输入的数字更多并成功输出。还有就是这个程序执行后有字体颜色,这是为什么,可以调整吗,如何调整。谢谢大佬
//采用顺序线性表解决宿舍管理问题 (C语言)
#include
#include
#include
#define N 40 //线性表存储空间的初始分配量
#define increase 10 //线性表存储空间的分配量增量
int f,t=0; //定义全局变量
typedef struct

{
char name[20];
int num; //学号和房号都为整型
int room;
}stu;
stu stud;
typedef struct
{
int length; //当前长度
stu elem; //存储空间基址
int listsize; //当前分配的存储容量
}linklist;

void init(linklist &l)//线性表初始化
{
l.length=0;
l.elem=(stu *)malloc(N*sizeof(stu ));
l.listsize=N;
}
void menu()//操作菜单
{
printf("\n");
printf(" *
*************请按键选择操作****************\n");
printf("\n");printf("\n");
printf(" 1 按姓名排序 2 按学号排序\n");
printf("\n");
printf(" 3 按房号排序 4 按姓名查找\n");
printf("\n");
printf(" 5 按学号查找 6 按房号查找\n");
printf("\n");
printf(" 7 按学号插入 8 按学号删除\n");
printf("\n"); printf("\n"); printf("\n"); printf("\n");
printf("提示:当输入的数字键为0时,退出操作\n");
if(t==1)
{
printf("请输入数字键(1~8为操作键):");//1~8为有效数字操作键
scanf("%d",&f);
if(f9)
{
system("cls");
printf("\n");
printf("输入数字不对,请在原处重输!\n"); printf("\n");
menu();
}
}

}

void disp() //返回主界面
{
char c;
fflush(stdin);
printf("\n");
printf("请按任意键进入主界面:");
scanf("%c",&c);
system("cls");
}
void panduan3() //如果已无学生记录则返回主界面
{
printf("\n");
printf("已无学生记录\n");
printf("\n");
disp();
menu();
}

void shuru(linklist l) //输入学生的信息
{
printf("请输入姓名:");
fflush(stdin); // 清空输入缓冲区,得到正确的输入数据
gets(stud.name); //输入一行字符串(姓名)
printf("请输入学号:");
scanf("%d",&stud.num);
printf("请输入房号:");
scanf("%d",&stud.room);
}
void create(linklist &l)//创建学生信息表
{
if(l.length>=l.listsize) //判断学生的人数是否超过初值,如果超过,则重新分配
{
stu newbase;
newbase=(stu
)realloc(l.elem,(N+increase)*sizeof(stu ));
l.elem=newbase;
l.listsize+=increase;
}
int i=2;
char ch;
printf("\n");
printf(" **************************开始创建线性表***************************\n");printf("\n");
printf("请输入第1个学生的信息\n");
shuru(l); //调用输入函数
ch=getchar();
strcpy(l.elem[l.length].name,stud.name);
l.elem[l.length].num=stud.num;
l.elem[l.length].room=stud.room;
l.length++;
printf("\n");
printf("是否继续输入?:");
scanf("%c",&ch);
printf("\n");printf("\n");
while(ch=='y')
{

   printf("请输入第%d个学生的信息\n",i);
   shuru(l);
strcpy(l.elem[l.length].name,stud.name);
    l.elem[l.length].num=stud.num;
    l.elem[l.length].room=stud.room;
    l.length++;
i++;
ch=getchar(); printf("\n");
printf("是否继续输入?<y/n>:");
scanf("%c",&ch);
printf("\n");printf("\n");
}

if(ch=='n') system("cls");

}
void sort3(linklist &l)//按房号排序(采用冒泡排序)
{
int i,j;
stu temp;
for(i=0;i for(j=i+1;j if(l.elem[i].room>l.elem[j].room)
{
temp=l.elem[i];
l.elem[i]=l.elem[j];
l.elem[j]=temp;
}

}

void sort2(linklist &l)//按学号排序(采用冒泡排序)
{
int i,j;
stu temp;
for(i=0;i for(j=i+1;j if(l.elem[i].num>l.elem[j].num)
{
temp=l.elem[i];
l.elem[i]=l.elem[j];
l.elem[j]=temp;
}

}
void sort1(linklist &l)//按姓名排序(采用冒泡排序)
{
int i,j;
stu temp;
for(i=0;i for(j=i+1;j if(strcmp(l.elem[i].name,l.elem[j].name)>0)
{
temp=l.elem[i];
l.elem[i]=l.elem[j];
l.elem[j]=temp;
}

}
void print1(linklist &l)//打印学生信息
{
int i;
printf("\n");
printf("姓名 学号 房号\n");printf("\n");
for(i=0;i<l.length;i++)
printf("%-15s %-3d %5d\n",l.elem[i].name,l.elem[i].num,l.elem[i].room);
}
void print2(linklist &l,int mid) //打印查找到的学生信息
{

    printf("查找成功----->该学生信息为:\n");
    printf("姓名          学号     房号\n");printf("\n");
    printf("%-15s %-5d %-5d\n",l.elem[mid].name,l.elem[mid].num,l.elem[mid].room);

}
int panduan1(char ch) //判断是否继续查找
{

scanf("%c",&ch);
    printf("是否继续查找?<y/n>:");
    fflush(stdin);
    scanf("%c",&ch);
    if(ch=='y')
    {
        system("cls");
        return(1);
    }

else
    return 0;

}
int panduan2(char ch) //如果学生不存在,判断是否继续查找
{
scanf("%c",&ch);
printf("该学生不存在,是否继续查找?:");
fflush(stdin);
scanf("%c",&ch);
if(ch=='y')
{
system("cls");
return(1);
}

else
    return 0;

}
void chazhao3(linklist &l)//按房号从小到大查找(采用二分查找)
{
if(l.length==0) panduan3(); //此函数功能为:返回主界面
else
{
int low=0,high=l.length,mid,flag=0;//flag作为标志符,为1则表示查找成功,否则没有所要查找的学生
int m;
char ch;
printf("\n");printf("\n");
printf("按房号查找----->请输入要查找的房号:");

    scanf("%d",&m);
    printf("\n");
    while(low<=high)
    {
         mid=(low+high)/2;
        if(m==l.elem[mid].room)
        {
            flag=1;
            break;
        }
        else if(m>l.elem[mid].room)
        low=mid+1;
        else 
            high=mid-1;
    }
    if(flag==1) 
    {
        print2(l,mid);
        if(panduan1(ch))    //调用判断函数1
            chazhao3(l);
        else 
        {
            system("cls");
            menu();
        }

    }
    else 
    {

        if(panduan2(ch))  //调用判断函数2
            chazhao3(l);
           else 
        {
            system("cls");
            menu();
        }
    }
}

}
void chazhao2(linklist &l)//按学号从小到大查找(采用二分查找)
{
if(l.length==0) panduan3();
else
{
int low=0,high=l.length,mid,flag=0;
int n;
char ch;
printf("\n");printf("\n");
printf("按学号查找----->请输入要查找的学号:");

    scanf("%d",&n);
    printf("\n");
    while(low<=high)
    {
         mid=(low+high)/2;
        if(n==l.elem[mid].num)
        {
            flag=1;
            break;
        }
    else if(n>l.elem[mid].num)
        low=mid+1;
        else 
            high=mid-1;
    }
    if(flag==1) 
    {
        print2(l,mid);
    if(panduan1(ch)) 
        chazhao2(l);
    else 
        {
            system("cls");
            menu();
        }

    }
    else
    {
           if(panduan2(ch))     chazhao2(l);

           else 
           {
            system("cls");
            menu();
           }
    }
}

}
void chazhao1(linklist &l)//按姓名从小到大查找(采用二分查找)
{

if(l.length==0) panduan3();
else
{
int low=0,high=l.length,mid,flag=0;
printf("\n");printf("\n");
printf("按姓名查找----->请输入要查找的姓名:");
char a[15],ch;
scanf("%s",a);
printf("\n");
while(low<=high)
{
mid=(low+high)/2;
if(strcmp(a,l.elem[mid].name)==0)
{
flag=1;
break;
}
else if(strcmp(a,l.elem[mid].name)>0)
low=mid+1;
else
high=mid-1;
}
if(flag==1)
{
print2(l,mid); //打印查找到的学生的信息
if(panduan1(ch)) chazhao1(l);
else
{
system("cls");
menu();
}
}

    else
    {
            if(panduan2(ch))    chazhao1(l);
            else 
            {
                system("cls");
                menu();
            }
    }
}

}
void insert(linklist &l)//按学号从小到大插入该学生
{
int i,j,k;
char ch;
printf("\n");
printf("插入的学生信息为:\n");
printf("姓名:");
fflush(stdin);// 清空输入缓冲区,得到正确的输入数据
gets(stud.name);

printf("学号:"); scanf("%d",&stud.num);
printf("房号:"); scanf("%d",&stud.room);
if(l.length==0)
{
strcpy(l.elem[l.length].name,stud.name);
l.elem[l.length].num=stud.num;
l.elem[l.length].room=stud.room;

    }   
for(i=0;i<l.length;i++)
{
 if(stud.num<l.elem[i].num)
    {
        k=i;
        for(j=l.length;j>k;j--)
            l.elem[j]=l.elem[j-1];
        strcpy(l.elem[k].name,stud.name);
        l.elem[k].num=stud.num;
        l.elem[k].room=stud.room;
        break;
    }
    else 
    {
        strcpy(l.elem[l.length].name,stud.name);
        l.elem[l.length].num=stud.num;
        l.elem[l.length].room=stud.room;
    }   

}
    l.length++;
    fflush(stdin);
    printf("\n");
    printf("是否继续插入?<y/n>:");
    scanf("%c",&ch);
    if(ch=='y') insert(l);
    else system("cls");

}

void Delete(linklist &l)//按学号删除该学生
{
int i,j,k=-1;
char ch;
printf("\n");printf("\n");
printf("请输入要删除学生的学号:");
scanf("%d",&stud.num);
for(i=0;i<l.length;i++)
{
if(stud.num==l.elem[i].num)
{
printf("该学生的信息为:\n");printf("\n");
printf("%-15s %-3d %7d\n",l.elem[i].name,l.elem[i].num,l.elem[i].room);
k=i;
for(j=k;j<l.length-1;j++)
l.elem[j]=l.elem[j+1];

            printf("\n");
            break;
        }

    }
    if(i>=l.length) printf("该学生不存在\n");
    if(k>=0)l.length--;
    fflush(stdin);
    printf("\n");
    printf("是否继续删除?<y/n>:");
    scanf("%c",&ch);
    system("cls");
    if(ch=='y') Delete(l);
    else system("cls");

}
int main() //主函数
{
linklist l; //定义线性表 l
init(l); //调用初始化函数
char ch;
system("color a");
printf("\n");
printf(" *************************欢迎进入宿舍管理查询系统*************************\n");
printf("\n");
printf("请按任意键开始操作:");
scanf("%c",&ch);
system("cls");//将屏幕先前显示的内容清理掉
create(l); //调用线性表创建函数
system("cls");
t=1;
menu(); //调用主菜单函数

while(f!=0)
{

system("cls");
    switch(f)
    {
    case 1: sort1(l);    //调用按姓名排序函数  
        printf("\n");
           if(l.length==0)
           {
               printf("已无学生记录\n");
               printf("\n");
               disp();
               menu();
           }
            else
            {
            printf("按姓名排序:\n");
            print1(l);
            disp();   //调用返回主界面
            menu();    

            }
            break;

    case 2: sort2(l);   //调用按学号排序函数 
        printf("\n");
            if(l.length==0) 
            {
                printf("已无学生记录\n");
                printf("\n");
                disp();
                menu();
            }
            else
            {
            printf("按学号排序:\n");
            print1(l);
            disp();
            menu();
            }break;

    case 3: sort3(l);   //调用按房号排序函数 
        printf("\n");
           if(l.length==0) 
           {
               printf("已无学生记录\n");
               printf("\n");
               disp();
               menu();
           }
            else
            {
            printf("按房号排序:\n");
            print1(l);
            disp();
            menu();
            }break; 

    case 4:sort1(l);      //先调用按姓名排序函数进行排序 
        chazhao1(l);   //再调用按姓名查找函数进行(二分)查找 
           break;   
    case 5: sort2(l);     //先调用按学号排序函数进行排序 
           chazhao2(l);    //再调用按学号查找函数进行(二分)查找 
           break;
    case 6: sort3(l);      //先调用按房号排序函数进行排序 
          chazhao3(l);     //再调用按房号查找函数进行(二分)查找
          break;
    case 7: sort2(l);      //调用插入函数
          insert(l);      
          system("cls");
        printf("显示插入后的学生信息:\n");print1(l);
        disp();
           menu();
           break;
    case 8: Delete(l);     //调用删除函数

        if(l.length==0)
        {
            printf("\n");
            printf("学生记录已被删除完\n");
            printf("\n");
            disp();
           menu();
        }
        else
        {
        printf("显示删除后的学生信息:\n");
        print1(l);
        disp();
        menu();
        }

        break;
    }
}return 0; 

}

1个回答

一个整型都不够你存的吗?那你试试用数组把每一位放进去,颜色,你去找一个system(color)屏蔽掉就行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
基于UML的学生宿舍管理系统的建模
基于UML的学生宿舍管理系统的建模 案例分析目标 本案例采用UML的方式对学生宿舍管理系统进行分析和设计,通过对学生宿舍的建模来对UML进行更加详细的了解和熟悉。
java写宿舍管理系统要求用文件存储数据
数据结构的课设 让写一个宿舍管理系统,用java写怎么才能不用数据库存储数据,而用文件啊。。。求大神帮忙!!!!
输大神看一下我写的宿舍管理系统到底出啥问题了!急,马上要交了!!!
原本只要一个结构体的,但我弄复杂了,求大神帮下忙!这个程序主要是输入时总会得不到正确的链表,我试了好久也没成功,都快崩溃了!简单地用DOS系统运行和其他编程软件运行结果都不同! 学生宿舍管理系统设计 功能:实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等,系统以文本菜单形式工作。 基本要求: 实现宿舍基本信息的录入、修改、删除。 实现宿舍信息的浏览、查询 实现安排学生入住、退出、调整宿舍等功能 实现学生宿舍安排信息的统计功能 (要求:1.系统以文本菜单方式工作2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学) 问题补充:http://pan.baidu.com/share/link?shareid=3686311597&uk=3728380894 源代码太长了,请下载这个文件看 问题详情:我输入一栋楼里的几个数据进入后或几个楼号,用Microsoft Visual C++ 6.0调试当输入第三个数据时,在插入那里有些head或ptr的内存地址出现红色,输出时也不能完全输出。我改了部分后在手机的C4软件运行了下,输入多个楼号(每栋楼只有一个房间),输出没任何问题,但只输入一栋楼的多个房间时,比如7个数据,点浏览数据(全部输出时),只有4个数据,再点浏览却又只输出了1个,如果一开始点了查询时竟然一个数据都不剩了。这些结果是手机上运行的结果,我会在电脑上再试试,如果有更改和更新希望和大家指点一下。(一开始发的源代码错了,有好多问题当时没改过来,现在改了)。我的问题假设:1、创建插入数据时没问题,但浏览和查询把head->room的指向改变了,使某些数据丢失了。2、创建的插入时,由于分链表(房间链表)的最后一个没有赋NULL,刚开始有做时主链表(楼号链表)出现过这个问题。希望大家帮下忙,其他同学都做完了,但由于我弄复杂了写了双结构体而写了好久,关键是马上要交了。求大家帮帮忙,谢谢了!
学生宿舍管理系统,数据存储不让用数据库,要求用数据结构存在文件里
求大神帮忙!!!求求!!! 这是需求: 注意:必须使用文件存储数据,不得使用数据库管理系统。 录入: 可以录入宿舍情况,包括宿舍号、可容纳学生数、已容纳学生数、男生/女生宿舍等信息; 可以录入学生住宿情况,包括学号、姓名、性别、宿舍号等信息。 其他信息可以自行设计。 分配宿舍:为每一个学生分配入一个未住满的宿舍。 调换宿舍:实现一个学生调换宿舍操作以及两个同性学生互换宿舍操作。  学生毕业退宿:删除学生信息,修改其所住宿舍信息。 查询: 按学号\姓名查询:输出学生信息、所在寝室信息、室友,考虑学生同名情况; 按房号查询:输出该寝室所有住宿学生信息。
C语言实现学生宿舍管理系统
对于C语言还有点基础,.NET和Java不太懂。 假期培训了iOS开发,才一个多月,本想用OC来做毕业设计的,现在要做开题报告了,不知道怎么写。所以决定用C来编写程序。 问题1:C语言怎么连接数据库,或是保证下次运行程序内容不会重置。 问题2:怎么用C语言构建图形界面(太难的话,就不用给我讲了)
有没有学生宿舍管理系统的java源代码,不能使用数据库,要保存在文件中
要求要有宿舍信息,学生信息,宿舍安排,要有图形界面,能查询修改删除录入,
用C语言编写简单学生学籍管理系统。有一段已经定义好的函数,求大佬帮忙编写完整。在线急等。求各位大佬帮帮忙,重谢!!
``` #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> typedef struct { int Id; //学号 char name[10]; //姓名 char sex[2]; //性别 int room; //宿舍号 int tel; //电话号码 } StudentInfo; //定义学生信息的结构体类型 typedef struct { int Id; char courseNo[10]; //课程编号 char courseName[20];//课程名 double a; // 课程学分 double b; // 平时成绩 double c; // 实验成绩 double d; // 卷面成绩 double e; // 综合成绩 double f; // 实际学分 } MarkInfo; //定义课程信息的结构体类型 void ReadFile(); //读取文件 void DisplayMainMenu(); //显示主菜单 void DataInput(); //数据录入 void DataQuery(); //数据查询 void DataDelete(); //数据删除 void DataSort(); //数据排序 void QueryById(int ); //按学号查询 void QueryByRoom(int ); //按宿舍查询 void QueryMark(int ); //按成绩查询 void sort1(); //按综合成绩排序 void sort2(); //按实得学分排序 void markput(); //成绩输出 StudentInfo si[30]; // 学生信息结构数组 MarkInfo mi[150]; // 学生成绩结构数组 int sp=0; // 学生信息结构数组中学生数 int mp=0; // 学生成绩结构数组中成绩数 void ReadFile( )//读取文件 { FILE *fp; if((fp = fopen("A.txt","r"))==NULL) printf("cant open the file\n"); while (!feof(fp)) { fscanf(fp,"%d%s%s%d%d",&si[sp].Id,si[sp].name,&si[sp].sex,&si[sp].room,&si[sp].tel); sp++; } fclose (fp); fp = fopen("B.txt","r"); while (!feof(fp)) { fscanf(fp,"%d%s%s%d%d%d%d",&mi[mp].Id,mi[mp].courseNo,mi[mp].courseName,&mi[mp].a,&mi[mp].b,&mi[mp].c, &mi[mp].d); if (mi[mp].c == -1) mi[mp].e = 0.3*(mi[mp].b/1.0)+0.7*(mi[mp].d/1.0); else mi[mp].e = 0.15*(mi[mp].b/1.0)+0.15*(mi[mp].c/1.0)+0.7*(mi[mp].d/1.0); if(mi[mp].e >= 90. ) mi[mp].f = mi[mp].a; else if ( mi [mp].e >= 80. ) mi[mp].f = mi[mp].a *0.8; else if ( mi[mp].e >= 70. ) mi[mp].f = mi[mp].a *0.75; else if ( mi[mp].e >= 60. ) mi[mp].f = mi[mp].a *0.6; else mi[mp].f = 0; mp++; } fclose(fp); } void DisplayMainMenu() //显示主菜单 { printf ("\n 1) 数据录入 \n 2) 数据查询 \n 3) 数据删除 \n 4) 数据排序 \n 5) 程序结束\n "); } void DataInput()//数据查询 { FILE *fp; int i; printf ("学生的学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩\n"); while(1) { scanf("%d%s%s%d%d%d%d",&mi[mp].Id,mi[mp].courseNo,mi[mp].courseName,&mi[mp].a,&mi[mp].b,&mi[mp].c, &mi[mp].d); if(mi[mp].Id==-1) break; if (mi[mp].c == -1) mi[mp].e = 0.3*mi[mp].b+0.7*mi[mp].d; else mi[mp].e = 0.15*mi[mp].b+0.15*mi[mp].c+0.7*mi[mp].d; if ( mi[mp].e >= 90. ) mi[mp].f = mi[mp].a; else if ( mi [mp].e >= 80. ) mi[mp].f = mi[mp].a *0.8; else if ( mi[mp].e >= 70. ) mi[mp].f = mi[mp].a *0.75; else if ( mi[mp].e >= 60. ) mi[mp].f = mi[mp].a *0.6; else mi[mp].f = 0; mp++; } fp = fopen("B.txt","r+"); for(i=0;i<mp;i++) { fprintf(fp,"%d%s%s%d%d%d%d",&mi[i].Id,mi[i].courseNo,mi[i].courseName,&mi[i].a,&mi[mp].b,&mi[i].c, &mi[i].d); fclose(fp); } } void DataQuery()//数据查询 { int x,y,z; printf("\n 1) 学生基本情况查询\n 2) 成绩查询\n");//--------------------------选择查询内容 scanf("%d",&x); if (x == 1) // 查询学生信息 { printf ("1) 按学号查询 2) 按宿舍查询\n");//-------------------------------选择查询方式 scanf("%d",&y); if (y == 1 ) { printf ("输入学号\n");//-----------------------------------------------按学生学号查询 scanf ("%d",&z); QueryById(z); } if (y == 2) { } if ( x ==2) // 查询成绩信息---------------------------------------查询学生成绩(输入学号) { printf ("输入学号\n"); scanf ("%d",&y); QueryMark(y); } } } void DataDelete()//数据删除 { FILE *fp; int x; int i=0; int k,d; printf( "输入学号\n"); scanf( "%d",&x); while( si[i].Id != x) i++; if (i<sp-1) { for ( k=i; k<sp-1; k++) { si[k] = si[k+1]; } } if ( i<sp) sp--; d = 0; for (k=0;k<mp;k++) { if ( mi[k].Id == x ) d++; else mi[k-d] = mi[k]; } mp = mp - d; fp = fopen("D:B.txt","r+"); for(i=0;i<mp;i++) fprintf(fp,"%d%s%s%d%d%d%d",&mi[i].Id,mi[i].courseNo,mi[i].courseName,&mi[i].a,&mi[i].b,&mi[i].c, &mi[i].d); } void sort1() { int i,j; MarkInfo t; for (i=mp-1;i>=1;i--) { for (j=0;j<i;j++) { if (mi[j].e>mi[j+1].e) { t=mi[j]; mi[j] = mi[j+1]; mi[j+1] = t; } } } markput(); } ``` 这段函数是定义好的,求大佬帮帮忙编写完! 要求:使用下面的数据,用C语言设计一个简单的学籍管理系统,实现出最基本的功能。 学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成: 学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756122 … …. .. … ……….. 学生成绩基本信息文件(B.TXT)及其内容: 学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 … …. ………. .. .. … (一) 功能要求及说明: (1) 数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% . 实得学分的计算: 采用等级学分制. 综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80% 综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60% 综合成绩在60以下 ,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询: A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。 A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。 B:成绩查询: B1:输入一个学号时,查询出此生的所有课程情况,格式如下: 学 号:xx 姓 名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx … … … … ……… … … 共修:xx科,实得总学分为: xxx (3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。 (4 ) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
宿舍管理系统用ajax实现添加和修改,大佬看一下哪错了?
宿舍管理系统修改之后点击保存,页面的数据没有修改成功,但是在前端调试出来的是修改后的值,控制台输出的也是修改后的值,哪位大佬帮忙看一下哪错了? ``` <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <script src="${pageContext.request.contextPath}/bootstrap/js/jQuery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("ul li:eq(1)").addClass("active"); }); </script> <script type="text/javascript"> //添加 function add() { //获取表单中输入的值 var uName = $("#userName").val(); var uPass = $("#password").val(); var name = $("#name").val(); var sex = $("#sex").val(); var tel = $("#tel").val(); var dormManagerId = $("#dormManagerId").val(); //alert(uName + " " + uPass + " " + name+" "+sex + " " + tel+" "+dormManagerId ); $.ajax({ type : "POST", url : "dormManager", data : { action:"add", userName : uName, password : uPass, name : name, sex : sex, tel : tel }, success : function(x) { var json = eval("(" + x + ")"); if (json.status == 0) { alert(json.msg); } else if (json.status == 1) { location.href = "mainAdmin.jsp"; } } }) } function update(){ //获取表单中输入的值 var uName = $("#userName").val(); var uPass = $("#password").val(); var name = $("#name").val(); var sex = $("#sex").val(); var tel = $("#tel").val(); var dormManagerId = $("#dormManagerId").val(); $.ajax({ type : "POST", url : "dormManager", data : { action:"update", userName : uName, password : uPass, name : name, sex : sex, tel : tel, dormManagerId : dormManagerId }, success : function(x) { var json = eval("(" + x + ")"); if (json.status == 0) { alert(json.msg); } else if (json.status == 1) { location.href = "mainAdmin.jsp"; } } }) } </script> <div class="data_list"> <div class="data_list_title"> <c:choose> <c:when test="${dormManager.dormManagerId!=null }"> 修改管理员 </c:when> <c:otherwise> 添加管理员 </c:otherwise> </c:choose> </div> <form action="dormManager?action=save" method="post" onsubmit="return checkForm()"> <div class="data_form" > <input type="hidden" id="dormManagerId" name="dormManagerId" value="${dormManager.dormManagerId }"/> <table align="center"> <tr> <td><font color="red">*</font>用户名:</td> <td><input type="text" id="userName" name="userName" value="${dormManager.userName }" style="margin-top:5px;height:30px;" /></td> </tr> <tr> <td><font color="red">*</font>密码:</td> <td><input type="password" id="password" name="password" value="${dormManager.password }" style="margin-top:5px;height:30px;" /></td> </tr> <tr> <td><font color="red">*</font>重复密码:</td> <td><input type="password" id="rPassword" name="rPassword" value="${dormManager.password }" style="margin-top:5px;height:30px;" /></td> </tr> <tr> <td><font color="red">*</font>姓名:</td> <td><input type="text" id="name" name="name" value="${dormManager.name }" style="margin-top:5px;height:30px;" /></td> </tr> <tr> <td><font color="red">*</font>性别:</td> <td> <select id="sex" name="sex" style="width: 90px;"> <option value="">请选择...</option> <option value="男" ${dormManager.sex eq "男"?'selected':'' }>男</option> <option value="女" ${dormManager.sex eq "女"?'selected':'' }>女</option> </select> </td> </tr> <tr> <td><font color="red">*</font>联系电话:</td> <td><input type="text" id="tel" name="tel" value="${dormManager.tel }" style="margin-top:5px;height:30px;" /></td> </tr> </table> <div align="center"> <button type="button" onclick="add()" class="btn btn-primary" />保存 &nbsp; <button class="btn btn-primary" type="button" onclick="javascript:history.back()">返回</button> </div> <div align="center"> <font id="error" color="red">${error }</font> </div> </div> </form> </div> ```
在里面下载的系统如何下载到自己的电脑里去使用?
新人,请问在里面下载的系统如何下载到自己的电脑里去使用?我下载了Java宿舍管理系统,再我的资源里面有显示,可是不知道如何下载到我的电脑里去使用
学生公寓管理系统SQL建数据库连接VB.NET
设计表:1.学生信息包括学号、姓名、宿舍号、性别等 2.学生交费管理包括学号、费用价格、是否已交 3.公寓楼房包括公寓号、楼型等 4.宿舍信息包括公寓号、宿舍号、人数等 至少有两个form,有查询、修改、更新、删除、增加的功能 我们学的是机械工业出版社的信息系统与数据库技术这本书,系统不需要很复杂,求大神帮忙 ![图片说明](https://img-ask.csdn.net/upload/201512/02/1449065653_141877.png)
数据库课程设计 在线等
一、设计内容与设计要求 1、设计内容: 针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。 下面是各个设计阶段的具体内容。 ⒈ 系统需求分析 画出系统的数据流图,写出较为详细的数据字典。 ⒉ 数据库的概念设计 画出局部E-R图和全局E-R图。 ⒊ 数据库的逻辑设计 将概念设计阶段产生的全局概念模式(E-R图)转换成初始的关系模式。 对关系模式进行规范化处理。根据设计所要求的规范级别,逐一分析各个关系模式是否满足规定的范式。 ⒋ 创建数据库 在某一数据库管理系统环境中创建数据库,根据需要也可建立相关数据视图。使用SQL语句定义各个数据库对象。 2、设计要求: 1.课程设计报告命名方式:学号+姓名+设计系统名称。若以小组完成,学号姓名以工作量大小排序。在设计报告最后写出每人完成内容。 2.参考选题 工资管理系统 人事管理系统 仓库管理系统 学生管理系统 图书馆管理信息系统 宾馆客房管理信息系统 学籍管理系统 机票预定系统 学生成绩管理系统 课程管理系统 通讯录子系统 教室管理系统 宿舍管理系统 个人事务管理系统 库房管理系统 小商店销售管理系统 目录 一. 系统需求分析 3 1.1 设计前调查 3 1.2 用户需求分析 3 1.3 核心数据流图 4 1.4 核心数据字典 5 二、概念设计 6 2.1 局部E-R图 6 2.2 全局E-R图 7 三、逻辑设计 8 3.1 开发环境 8 3.2 关系模式形成以及规范 8 3.2.1有以下关系模式: 8 3.2.2分解分析: 8 四、创建数据库 8 宾馆客房信息管理系统 一. 系统需求分析 1.1 设计前调查 近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。尤其是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。但对占80%以上的广大中小型宾馆来说,是难以做到的。因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。而对宾馆的经营状况起决定作用的是客房的管理。简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。 传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用的一个管理系统。 1.2 用户需求分析 建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。因而程序需要实现的功能有如下主要六大功能: 一、 客房管理:客房登记,入住情况查询,客房状态查看。 二、 宾客入住管理:客房预定,登记入住,房间调整,退房结帐 三、 物资管理:物品登记,物品查询,报修和维修,定时提醒。 四、 财务管理:追加押金,增删财务,日报表 五、 员工管理:增改员工,查删员工 六、 系统管理:增删管理员,修改密码,以及预留的基于SQL的数据库管理(该程序考虑到 作为课程设计和信息系统不是很大,使用了单机版的ACCESS,以求方便 写程序) 七、 其他功能:界面管理(提供两套外观: 经典外观和春天里)
用C++编写简单学生学籍管理系统。在线急等
要求:使用下面的数据,用C++设计一个简单的学籍管理系统,实现出最基本的功能。 学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成: 学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756122 … …. .. … ……….. 学生成绩基本信息文件(B.TXT)及其内容: 学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 … …. ………. .. .. … (一) 功能要求及说明: (1) 数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% . 实得学分的计算: 采用等级学分制. 综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80% 综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60% 综合成绩在60以下 ,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询: A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。 A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。 B:成绩查询: B1:输入一个学号时,查询出此生的所有课程情况,格式如下: 学 号:xx 姓 名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx … … … … ……… … … 共修:xx科,实得总学分为: xxx (3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。 (4 ) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
网页制作,其他电脑不能访问
想做bs管理系统,myeclipse编写的代码直接放入jsp的scr中,花生壳申请的域名跟tomcat,为什么自己电脑可以访问,但是别人电脑访问时可以看到网页名字,不会跳出管理系统界面,并且自己电脑跳出的界面图片没了
Ultra grid下拉框绑定数据源的方法
c#:我目前在做一个学生的系统,用到了ultra grid,需要给这个grid的其中一个列绑定数据源 ![图片说明](https://img-ask.csdn.net/upload/201907/25/1564031954_895367.png) 如图所示,大体界面就是这个样子的。 按照需求,在班级信息里面的楼号是一个下拉框,管理员通过这个下拉框来给学生安排宿舍楼; 然后下面的是一个ultra grid,这里放学生的基本信息并分配学生的具体宿舍(寝室号和床号都是下拉框); 难点:上面的宿舍楼的下拉框的值改变的时候,grid里面的寝室号的值也是要改变的,当寝室号发生变化,床号的下拉框也要变化。 求问怎么给ultra grid的列绑定数据源。 有单独的寝室表和床位表的。寝室表的字段只有两个,一个宿舍楼ID,还有一个就是寝室ID;床位表也是两个字段,寝室ID和床位ID; 然后现在使用的是VS的三层架构,目前的进度: 代码方面只是在xml文件里面写完了需要的sql语句。 画面上寝室号和床号的ButtonDisplayStyle属性已经设为Always;Style属性也已经改成了DropdownList 菜鸟一个,希望有大神给出详细一点的方法
附加数据库时出错.有关详细信息 请单击 消息 列中的超链接解决思
这个是消息的内容 附加数据库 对于 服务器“HP-HP\SQLEXPRESS”失败。 (Microsoft.SqlServer.Smo) 其他信息: 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo) 无法打开物理文件“D:\11111111\宿舍管理-项目xxx\suzheguanli_Data.MDF”。操作系统错误 5:“5(拒绝访问。)”。 (Microsoft SQL Server,错误: 5120) 求大神帮帮忙,这个怎么解决啊?
教务信息管理系统,一旦录入选课内容并退出系统再次运行就会出错,求大神帮忙debug,急!
教务信息管理系统,一旦录入选课内容并退出系统再次运行就会出错,求大神帮忙debug,急! #include "stdio.h" #include "string.h" #include "stdlib.h" #include "ctype.h" struct stu { int id;//账号 char name[100];//姓名 int clas;//班级 char sex[6];//性别 int age;//年龄 int dor;//宿舍号码 char key[12];//密码 char phone[12];//电话号码 int score; struct stu * next; struct cla * cla; }*p1,stu1; struct tec //教师结构体 { int id; char name[100]; char sex[6]; char cla_name[100]; int cla_id;//课程编号 char phone[12]; char key[12]; int score; char email[30]; struct cla * cla; struct tec * next; }tec1; struct cla //学生课程结构体 课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、重修否 { int id;//学生id char name[100]; char stu_name[100]; float e_score; float n_score; float t_score; int score;//学分 struct cla *next; struct res *res; struct cla *follow; struct cla *tec; }cla1; struct res //重修结构体 重修学期、重修成绩,并且要考虑多次重修 { int id; char name[100]; //course name int semester; float score; int times; struct res * next; struct res * follow; }res1; struct order // 为了学生成绩排名 { struct cla *pointer; struct order *next; }; struct info //信息结构体 { int num; // the amount of stu or cla or res char key[11]; }in1,in2,in3,in4; struct info2 { char name[500]; char note[500]; int i; struct info2 *next; }; FILE *fp3,*fp1,*fp2,*fp4; struct stu * head=NULL,*p1,*p2; struct tec * head_tec=NULL; struct cla * clap,*headc; struct res * resp,*headr; //definition void apple_ID();//用户注册 void file_open();//用来打开文件和构建链表 void file_close(); void insert_stu(struct stu stu1);//学生结构体插入 void insert_tec(struct tec tec1);//教师结构体插入 struct cla * insert_cla1(struct cla cla1);//将课程插入学生 void insert_cla2(struct cla *cp);//将课程插入教师 void insert_res(struct res res1);//插入重修 void input_stu();//学生录入 void input_tec();//教师录入 void input_cla();//课程录入 void input_res();//重修录入 void copy_tec(struct tec *p1,struct tec tec1);//用于复制 减少代码量 void copy_stu(struct stu *p1,struct stu stu1);// 用于复制 减少代码量 void del_stu();//删除学生信息 void del_tec();//删除教师信息 void del_res();//删除重修信息 void pfree_res(struct cla *p,struct res res1);//解锁及释放重修内存 void pfree_cla(struct stu *p_stu,struct tec *p_tec,struct cla cla1);//解锁及释放课程内存 void modify_stu(struct stu *p);// 学生修改自己信息 void modify_tec(struct tec *p);// 教师修改自己信息 void modify_stu_adm();//管理员进入某一学生系统 修改学生信息 如密码 void modify_tec_adm();//管理员进入某一教师系统 修改教师信息 如密码 void skim_stu(struct stu *head);//按ID或名字查看学生信息 void skim_tec(struct tec *head);//按id或名字查看教师 void skim_stu_all();//查看所有学生学分及不及格课程 void skim_tec_all();//查看所有教师 void skim_stu_course();// 根据课程查看学生 管理员功能 void skim_stu_class();// 根据班级查看学生 管理员功能 void skim_list_stu(struct tec * p);//教师查看所有选自己课的学生 struct order * list(struct cla *head);// 学生分数排序 返回链表头 to make a list of stu void print_stu(struct stu* p1);//输出学生 void adm_ui_1();//学生界面 void adm_ui_2();//教师界面 void stu_ui(struct stu *p);//管理员界面1 void tec_ui(struct tec *p);//管理员界面2 void adm_key();//管理员密码修改 void st_key_stu(struct stu *p);//学生密码修改 void st_key_tec(struct tec *p);//教师密码修改 void key_adm();//管理员密码验证 只要密码 void key_stu();//学生ID与密码验证 void key_tec();//教师ID与密码验证 void stu_score(struct tec * p);//教师查看学生分数 按id void tec_score(struct tec *head);//give score to someone 教师给分 int score_stu(struct stu* p);// 计算学生学分 void select_s(struct stu * p);//学生选课选修 int idc(char * id);//id装换 char 到int void key(char *key);//以星号形式接受密码并放到地址key上 struct info2 *Rfile2(struct info2 *head_note); void Savenote(struct info2 *head_note); struct info2 *First2(struct info2 *head_note); void watchall(struct info2 *head_note); struct info2 *leavenote(struct info2 *head_note); struct info2 *notesys(struct info2 *head_note); main() { int z; system("cls"); file_open(); do { printf("\n\t\t\t+---------------------------+\n"); printf("\t\t\t| 欢迎使用教务信息管理系统 |\n"); printf("\t\t\t+---------------------------+\n"); printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n"); printf("\n\t\t\t--------------------------------\n"); printf("\t\t\t+ 主菜单 |\n"); printf("\t\t\t--------------------------------\n"); printf("\t\t\t+ [1]----学生登录 |\n"); printf("\t\t\t+ [2]----教师登录 |\n"); printf("\t\t\t+ [3]----管理员登陆 |\n"); printf("\t\t\t+ [4]----用户注册 |\n"); printf("\t\t\t+ [0]----退出系统 |\n"); printf("\t\t\t--------------------------------\n"); printf("请输入您的选择:"); scanf("%d", &z); switch(z) { case 0 : break; case 1 :key_stu();break; case 2 :key_tec();break; case 3 :key_adm();break; case 4 :apple_ID();break; default:printf("\n无效选项!"); } } while(z!=0); file_close(); // to free all the pointer and input data to file } void file_open() //用来打开文件和构建链表 head 和 head_tec 是全局变量 { struct stu stu1; struct cla cla1; struct res res1; struct cla *cp; int a1=0,a2=0,a3=0,a4=0; if((fp1=fopen("stu","rb"))==NULL||(fp2=fopen("cla","rb"))==NULL||(fp3=fopen("res","rb"))==NULL||(fp4=fopen("tec","rb"))==NULL) //can't open the file { if((fp1=fopen("stu","wb"))==NULL||(fp2=fopen("cla","wb"))==NULL||(fp3=fopen("res","wb"))==NULL||(fp4=fopen("tec","wb"))==NULL) printf("\nSomething Wrong!"); exit(0); } else // open file successfully { fread(&in1,sizeof(struct info),1,fp1); fread(&in2,sizeof(struct info),1,fp2); fread(&in3,sizeof(struct info),1,fp3); fread(&in4,sizeof(struct info),1,fp4); strcpy(in2.key,"19931101"); if(in1.num==0&&in2.num==0) strcpy(in1.key,"123456"); // create a linked list // add stu struct while(fread(&stu1,sizeof(struct stu),1,fp1)) { insert_stu(stu1); } fclose(fp1); while(fread(&tec1,sizeof(struct tec),1,fp4)) { insert_tec(tec1); } fclose(fp4); while(fread(&cla1,sizeof(struct cla),1,fp2)) { cp=insert_cla1(cla1); if(cp!=NULL) insert_cla2(cp); } fclose(fp2); } while(fread(&res1,sizeof(struct res),1,fp3)) { insert_res(res1); } fclose(fp3); } void file_close() //head和head_tec是全局变量 { struct stu *p1,*p11; struct cla *p2,*p21; struct res *p3,*p31; struct tec *p4,*p41; fp1=fopen("stu","wb"); fp2=fopen("cla","wb"); fp3=fopen("res","wb"); fp4=fopen("tec","wb"); fwrite(&in1,sizeof(struct info),1,fp1); fwrite(&in2,sizeof(struct info),1,fp2); fwrite(&in3,sizeof(struct info),1,fp3); fwrite(&in4,sizeof(struct info),1,fp4); p1=head; while(p1!=NULL) { fwrite(&(*p1),sizeof(struct stu),1,fp1); p11=p1; p1=p1->next; free(p11); } p4=head_tec; while(p4!=NULL) { fwrite(&(*p4),sizeof(struct tec),1,fp4); p41=p4; p4=p4->next; free(p41); } p2=headc; while(p2!=NULL) { fwrite(&(*p2),sizeof(struct cla),1,fp2); p21=p2; p2=p2->follow; free(p21); } p3=headr; while(p3!=NULL) { fwrite(&(*p3),sizeof(struct res),1,fp3); p31=p3; p3=p3->follow; free(p31); } printf("\nSaved!\n"); }
求大神用C或者C++写一个数据结构的实验
课题一:宿舍管理查询系统 1)任务:为宿舍管理员编写一个宿舍管理查询系统 2) 程序要求 A、采用交互工作方式(键盘、鼠标均可,控制台或者图形界面均可) B、建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入、快速排序任选一种) C、用二分查找实现以下操作:按姓名查询、按房号查询、按学号查询 D、打印任一查询结果
26行fclose(fp)显示错误expected constructor destructor or type
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> typedef struct pnode //结构体定义 用于存放学生信息的节点 { char name [10]; //姓名 char num[16]; //学号 char dor[30]; //房号 char group[20]; //班级 }student; char filename[20]; //文件名 FILE *fp; //指向文件的指针 void creat() // 创建一个二进制文件 用于存放学生数据 { student *person; person=(student *)malloc(sizeof(student)); //为节点分配内存 printf("\n 请您输入文件名:\n"); scanf("%s",filename); if((fp=fopen(filename,"w+"))==NULL) {printf("\n 您没有输入文件名 不能找到文件");exit(0);} printf("\n请输入学生的姓名 学号 房号 班级 用空格隔开 以#结束\n"); scanf("%s",person->name); while(strcmp(person->name,"#")) //该循环用于控制学生信息的录入 遇#结束 { scanf("%s %s %s",person->num,person->dor,person->group); fprintf(fp,"%-10s%-10s%-10s%-10s\n",person->name,person->num,person->dor,person->group);scanf("%s",person->name); } fclose(fp); } void readfile() //文件读取函数 { printf("\n请输入文件名:\n"); scanf("%s",filename); //此处输入为文件的路径 if((fp=fopen(filename,"r+"))==NULL) {printf("\n无法打开该文件:\n");exit(0);} fclose(fp); } void output() //输出函数 用于输出文件的全部信息 { student *person; long offset1,offset2; char name1[10],name2[10],name3[10]; char num1[16],num2[16],num3[16]; char dor1[30],dor2[30],dor3[30]; char group1[20],group2[20],group3[20]; person=(student *)malloc(sizeof(student)); if((fp=fopen(filename,"r"))==NULL) {printf("\n 无法打开该文件");exit(0);} while(!feof(fp)) //此循环用于对文件数据中关键字学号进行从小到大冒泡排序 { int a,b,c,d; //a为循环结束判定变量 b,c,d用于起泡排序学号交换的替换 if((fp=fopen(filename,"r+"))==NULL) //冒泡排序 {printf("\n 无法打开该文件");exit(0);} while(!feof(fp)) // 外部循环 { while(!feof(fp)) //内部循环 { offset1=ftell(fp); //获取文件内部当前指针位置fscanf(fp,"%s%s%s%s\n",person->name,person->num,person->dor,person->group); strcpy(name1,person->name); strcpy (num1,person->num); strcpy(dor1,person->dor); strcpy(group1,person->group); if(feof(fp)) break; //文件结束 跳出循环 offset2=ftell(fp); //获取文件内部下一指针位置fscanf(fp,"%s%s%s%s\n",person->name,person->num,person->dor,person->group); strcpy (name2,person->name); strcpy(num2,person->num); strcpy(dor2,person->dor); strcpy(group2,person->group); b=strlen(num1); c=strlen(num2); d=strcmp(num1,num2); if(b==c&&d>0) //如果 学号1大于等于学号2 则交换全部数据 { strcpy(name3,name1); strcpy(name1,name2); strcpy(name2,name3); strcpy(num3,num1); strcpy(num1,num2); strcpy(num2,num3); strcpy(dor3,dor1); strcpy(dor1,dor2); strcpy(dor2,dor3); strcpy(group3,group1); strcpy(group1,group2); strcpy(group2,group3); fseek(fp,offset1,SEEK_SET); //将指针移动offset1个字节 strcpy(person->name,name1); strcpy(person->num,num1); strcpy(person->dor,dor1); strcpy(person->group,group1); fprintf(fp,"%-10s%-10s%-10s%-10s\n", person->name,person->num,person->dor,person->group); //排序后写入文件 strcpy(person->name,name2); strcpy(person->num,num2); strcpy( person->dor,dor2); strcpy(person->group,group2); fprintf(fp,"%-10s%-10s%-10s%-10s\n",person->name,person->num,person->dor,person->group);//排序后写入文件 } fseek(fp,offset2,SEEK_SET); //将文件位置指针从文件头向前移动offset2个字节 } rewind(fp); //指向头文件 while(!feof(fp)) //此循环用于判断学号是否有序 { offset1=ftell(fp); fscanf(fp,"%s%s%s%s\n",person->name,person->num,person->dor,person->group); strcpy (num1,person->num); if(feof(fp)) {a=1;break;} offset2=ftell(fp); fscanf(fp,"%s%s%s%s\n",person->name,person->num,person->dor,person->group); strcpy(num2,person->num); b=strlen(num1); c=strlen(num2); d=strcmp(num1,num2); if(b==c&&d<=0) a=1; //若a为1 则有序 else { a=0; //a为0则无序 break;} fseek(fp,offset2,SEEK_SET); } if(a==1) break; //a为1 说明学号已经有序 跳出循环 rewind(fp); } if(a) break; //若a为1,则学号已有序排列,跳出总循环,输出文件 } rewind(fp); printf("\n****************************************************************\n"); printf("%40s\n","输出的记录如下(已按学号排序)\n"); printf("%-20s%-20s%-20s%-20s\n","姓名","学号","房号","班级"); while(!feof(fp)) //次循环用于输出文件 { fscanf(fp,"%s%s%s%s\n",person->name,person->num,person->dor,person->group); printf("%-20s%-20s%-20s%-20s\n", person->name,person->num,person->dor,person->group); } fclose(fp); printf("************************************************************\n\n"); } void namesearch() // 按姓名搜索函数 { int k=0; char namekey[10]; student *person; person=(student *)malloc(sizeof(student)); printf("\n 请输入您要查找的姓名:"); scanf("%s",namekey); if((fp=fopen(filename,"rb"))==NULL) {printf("\n 无法打开文件");exit(0);} while(!feof(fp)) { fscanf(fp,"%s %s %s %s\n",person->name,person->num,person->dor,person->group); if(!strcmp(namekey,person->name)) { printf("\n\n 已经为您找到 以下是记录:\n\n"); printf("%-20s%-20s%-20s%-20s\n","姓名","学号","房号","班级"); printf("%-20s%-20s%-20s%-20s\n",person->name,person->num,person->dor,person->group); k=1; } } if(!k) printf("\n\n 没有关于此姓名的任何信息! \n"); fclose(fp); } void numsearch() //按学号搜索函数 { int k=0; char xhkey[16]; student *person; person=(student *)malloc(sizeof(student)); printf("\n 请您输入需要查找的学号:"); scanf("%s",xhkey); if((fp=fopen(filename,"rb"))==NULL) { printf("\n 无法打开文件 "); exit(0); } while(!feof(fp)) { fscanf(fp,"%s %s %s %s\n",person->name,person->num,person->dor,person->group); if(!strcmp(xhkey,person->num)) { printf("\n\n 已经为您找到 以下是记录:\n\n"); printf("%-20s%-20s%-20s%-20s\n","姓名","学号","房号","班级"); printf("%-20s%-20s%-20s%-20s\n",person->name,person->num,person->dor,person->group); k=1; } } if(!k) printf("\n\n 没有关于该学号的任何信息\n"); fclose(fp); } void dorsearch () //按房号搜索函数 { int k=0; char fhkey[30]; student *person; person=(student *)malloc(sizeof(student)); printf("\n 请您输入想要查找的房号"); scanf("%s",fhkey); if((fp=fopen(filename,"rb"))==NULL) { printf("\n 无法打开文件"); exit(0); } while(!feof(fp)) { fscanf(fp,"%s %s %s %s\n",person->name,person->num,person->dor,person->group); if(!strcmp(fhkey,person->dor)) { printf("\n\n 已经为您找到 以下是记录:\n\n"); printf("%-20s%-20s%-20s%-20s\n","姓名","学号","房号","班级"); printf("%-20s%-20s%-20s%-20s\n",person->name,person->num,person->dor,person->group); k=1; } } if(!k) printf("\n\n 没有关于此房号的任何信息\n"); fclose(fp); } void add() //插入函数 用于像已有文件插入一条新的学生信息记录 { student *person; person=(student *)malloc(sizeof(student)); if((fp=fopen(filename,"a"))==NULL) { printf("\n 无法打开文件");exit(0);} printf("\n 请您输入学生姓名 学号 房号 班级 \n"); scanf("%s %s %s %s",person->name,person->num,person->dor,person->group); fprintf(fp,"%-10s%-10s%-10s%-10s\n",person->name,person->num,person->dor,person->group); fclose(fp); } void modify() //更新函数 用于修改指定学生姓名的记录 { int k=0; long offset; char namekey[10]; student *person; person=(student *)malloc(sizeof(student)); printf("\n 请您输入想要更改的学生的姓名 :"); scanf("%s",namekey); if((fp=fopen(filename,"r+"))==NULL) { printf("\n 无法打开文件"); exit(0);} while(!feof(fp)) { offset=ftell(fp); fscanf(fp,"%s %s %s %s\n",person->name,person->num,person->dor,person->group); if(!strcmp(namekey,person->name)) //比较是否相同 如 {k=1; break;} } if(k) //相同 输出记录并进行修改 { printf("\n 记录输出如下:\n\n"); printf("%-20s%-20s%-20s%-20s\n","姓名","学号","房号","班级"); printf("%-20s%-20s%-20s%-20s\n",person->name,person->num,person->dor,person->group); printf("\n 请您输入新的学生姓名 学号 房号 班级:\n"); scanf("%s %s %s %s",person->name,person->num,person->dor,person->group); fseek(fp,offset,SEEK_SET); fprintf(fp,"%-10s%-10s%-10s%-10s\n",person->name,person->num,person->dor,person->group); } else printf("\n 没有关于该姓名的任何记录\n"); fclose(fp); } void deleted() //删除函数 用于删除指定学生姓名的记录 { int k=0; char m; long offset; char namekey[10]; student *person; person=(student *)malloc(sizeof(student)); printf("\n请您输入想要删除的姓名:"); scanf("%s",namekey); if((fp=fopen(filename,"r+"))==NULL) { printf("\n 无法打开文件 "); exit(0); } while(!feof(fp)) //此循环遍历整个文件 查找需要删除的记录 { offset=ftell(fp); fscanf(fp,"%s %s %s %s\n",person->name,person->num,person->dor,person->group); if(!strcmp(namekey,person->name)) { k=1; break; } } if(k) { printf("\n 记录输出如下:\n\n"); printf("%-20s%-20s%-20s%-20s\n","姓名","学号","房号","班级"); printf("%-20s%-20s%-20s%-20s\n",person->name,person->num,person->dor,person->group); printf("\n 您真的确定要删除?y/n?"); scanf("%s",&m); if(m=='y') //删除确认按钮 { fseek(fp,offset,SEEK_SET); //删除记录 fprintf(fp,"%-10s%-10s%-10s%-10s\n","","","",""); } else rewind(fp); } else printf("\n 没有关于该姓名的任何记录\n"); fclose(fp); } void main() //主函数 { int m,flag=1; // m用于控制菜单的选择项 flag用于控制菜单弹出 while(flag) { printf("%40s\n","海南大学宿舍管理系统"); printf("--------------------------------------------------------------------------------\n") printf("\t\t0 ------------ 创建文件\n"); printf("\t\t1 ------------ 打开文件\n"); printf("\t\t2 ------------ 姓名查询\n"); printf("\t\t3 ------------ 学号查询\n"); printf("\t\t4 ------------ 房号查询\n"); printf("\t\t5 ------------ 修改记录\n"); printf("\t\t6 ------------ 删除记录\n"); printf("\t\t7 ------------ 增加纪录\n"); printf("\t\t8 ------------ 输出记录\n"); printf("\t\t9 ------------ 退出\n"); printf("--------------------------------------------------------------------------------\n"); printf("\t 请输入0-9选择您的操作:\n"); scanf("%d",&m); switch(m) { case 0:creat(); break; case 1:readfile(); break; case 2:namesearch (); break; case 3:numsearch(); break; case 4:dorsearch(); break; case 5:modify(); break; case 6: deleted(); break; case 7:add(); break; case 8:output(); break; case 9:exit(0); default:break; } } }
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
Android 9.0系统新特性,对刘海屏设备进行适配
其实Android 9.0系统已经是去年推出的“老”系统了,这个系统中新增了一个比较重要的特性,就是对刘海屏设备进行了支持。一直以来我也都有打算针对这个新特性好好地写一篇文章,但是为什么直到拖到了Android 10.0系统都发布了才开始写这篇文章呢?当然,一是因为我这段时间确实比较忙,今年几乎绝大部分的业余时间都放到写新书上了。但是最主要的原因并不是这个,而是因为刘海屏设备的适配存在一定的特殊性
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100) 【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的...
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问