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

选课权限管理代码(课程管理权限)

admin 发布:2022-12-19 22:23 132


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

本文目录一览:

c语言编写学生选课系统

#includestdio.h

#includeconio.h

#includestring.h

#includestdlib.h

//#includeiostream.h

void clrscr(void)

{

system("cls");

}

char *getpass(char s[])

{

char *pass,ch;

int i;

pass=new char[100];

i=0;

pass[0]='\0';

printf("%s",s);

while(1)

{

ch=getch();

if(ch!=13)

{

printf("*");

pass[i]=ch;

i++;

pass[i]='\0';

}

else break;

}

//scanf("%s",pass);

return pass;

}

struct course

{

char name[20];

int score;

int students_limited;

course *pNext;

};

struct user

{

char name[20];

char password[17];

char coursename[20];

user *pNext;

};

int Login()

{

char key;

ST1:

clrscr();

printf("\n\n\n\n\n\n\n\t\t\tWelcome to Course System!");

printf("\n\n");

printf("\n\t\t\t1. Login with Administrator");

printf("\n\t\t\t2. Login with Users");

printf("\n\t\t\t0. Exit");

key=getch();

switch(key)

{

case '1' : return 1;

case '2' : return 2;

case '0' : return 0;

default : printf("\n\n\t\t\tInput wrong!\n\t\t\t\tPress any key to continue...");

getch();

goto ST1;

}

}

course *readcourse()

{

FILE *fp;

book *pHead,*pTemp,*pLast;

fp=fopen("coursemsg.dat","r");

if(fp==NULL)

{

printf("\n\n\t\t\tOpen course message file failed!");

return NULL;

}

pHead=NULL;

while(!feof(fp))

{

pTemp=new course;

if(fread(pTemp,sizeof(course),1,fp)!=1)

{

delete pTemp;

break;

}

if(pHead==NULL)

{

pHead=pTemp;

pLast=pTemp;

}

pLast-pNext=pTemp;

pTemp-pNext=NULL;

pLast=pTemp;

}//while

fclose(fp);

return pHead;

}

void writecoursetofile(course *pHead)

{

FILE *fp;

course *pTemp,*pNext;

fp=fopen("coursemsg.dat","w");

for(pTemp=pHead;pTemp;pTemp=pTemp-pNext)

fwrite(pTemp,sizeof(course),1,fp);

fclose(fp);

}

void Add_course()

{

course one,*p;

int i,j;

FILE *fp;

p=one;

while(1)

{

clrscr();

printf("\n\n\n\n\n\n\n\n\t\tPlease input the name of course(-1 to end):");

//cinp-name;

scanf("%s",p-name);

if(!strcmp(p-name,"-1"))break;

i=0;

while(1)

{

if(p-name[i]=='\0')break;

else i++;

}

for(j=i;j20;j++)p-name[j]='\0';

printf("\n\t\tInput it's scores:");

//cinp-score;

scanf("%d",p-score);

fp=fopen("coursemsg.dat","a+");

fwrite(p,sizeof(course),1,fp);

fclose(fp);

printf("\n\n\t\tAdd course message OK!");

printf("\n\t\t\tPress any key to countinue...");

getch();

}

}

void Del_course()

{

course *pHead,*pNewHead,*pTemp,*pLast;

char name[20];

pHead=readcourse();

printf("\n\t\tPlease input the name of course to be delete:");

gets(name);

while(strcmp(pHead-name,name)==0)

{

pNewHead=pHead-pNext;

printf("\n\n\t\t--%s had been deleted" ,name);

delete pHead;

pHead=pNewHead;

}

for(pTemp=pHead,pLast=pHead;pTemp!=NULL;pLast=pTemp,pTemp=pTemp-pNext)

{

if(strcmp(pTemp-name,name)==0)

{

pLast-pNext=pTemp-pNext;

printf("\n\n\t\t--%s had been deleted" ,name);

delete pTemp;

pTemp=pLast;

}

}//for

writecoursetofile(pHead);

getch();

}

void course_Op()

{

char key;

ST3:

clrscr();

printf("\n\n\n\n\n\n\n\n\t\t\t\t1. Add Course");

printf("\n\t\t\t\t2. Delete Course");

printf("\n\t\t\t\t0. EXIT");

key=getch();

switch(key)

{

case '1' : Add_course();break;

case '2' : Del_course();break;

case '0' : goto _End;

default : printf("\n\tInput wrong!\n\tPress any key to continue...");

getch();

}

goto ST3;

_End:

;

}

void Add_user()

{

FILE *fp;

char name[20],*na,password[6],*pa;

int i,j;

user one,*p;

p=one;

pa=password;

na=name;

while(1)

{

clrscr();

printf("\n\n\n\n\n\n\n\t\tPlease input user's name(-1 to end):");

gets(name);

if(!strcmp(name,"-1"))break;

pa=getpass("\n\t\tPlease input new password:");

strcpy(p-name,na);

strcpy(p-password,pa);

fp=fopen("usermsg.dat","ab+");

fwrite(p,sizeof(user),1,fp);

fclose(fp);

printf("\n\t\tuser's message has been saved!");

printf("\n\t\tPress any key to countinue...");

getch();

}

}

user *readcusmsg()

{

FILE *fp;

user *pHead,*pTemp,*pLast;

fp=fopen("usermsg.dat","rb");

if(fp==NULL)

{

printf("\n\nOpen user's message file failed");

return NULL;

}

pHead=NULL;

while(!feof(fp))

{

pTemp=new user;

if(fread(pTemp,sizeof(user),1,fp)!=1)

{

delete pTemp;

break;

}

if(pHead==NULL)

{

pHead=pTemp;

pLast=pTemp;

}

pLast-pNext=pTemp;

pTemp-pNext=NULL;

pLast=pTemp;

}//while

fclose(fp);

return pHead;

}

void writecusmsgtofile(user *pHead)

{

FILE *fp;

user *pTemp,*pNext;

fp=fopen("usermsg.dat","wb");

for(pTemp=pHead;pTemp;pTemp=pTemp-pNext)

fwrite(pTemp,sizeof(user),1,fp);

fclose(fp);

}

void user_Op()

{

char key;

ST4:

clrscr();

printf("\n\n\n\n\n\n\n\n\t\t\t\t1. Add Users");

printf("\n\t\t\t\t0. EXIT");

key=getch();

switch(key)

{

case '1' : Add_user();break;

case '0' : goto _End;

default : printf("\n\tInput wrong!\n\tPress any key to continue...");

getch();

}

goto ST4;

_End:;

}

void List_all_course()

{

course *pHead,*pTemp;

int Count=0,tense;

pHead=readcourse();

if(!pHead)

{

printf("\n\t(No data)");

exit(0);

}

printf("\n%30s%8s%10s","course name","Score","Tense");

for(pTemp=pHead;pTemp!=NULL;pTemp=pTemp-pNext)

{

if(pTemp-n0)tense=1;

else tense=0;

printf("\n%30s%8d%10d",pTemp-name,pTemp-score,tense);

Count++;

if(Count%20==0){printf("Press any key to countinue...");getch();}

}

getch();

}

void Search_course_name()

{

char name[20];

int tense,k=1;

book *pHead,*pTemp,*pNext;

printf("\n\tPlease input the name of the course you want to search:");

gets(name);

pHead=readcourse();

for(pTemp=pHead;pTemp!=NULL;pTemp=pTemp-pNext)

if(!strcmp(pTemp-name,name))

{

if(pTemp-n0)tense=1;

else tense=0;

k=0;

printf("\n%30s%8d%10d",pTemp-name,pTemp-score,tense);

}

if(k)

{

printf("\n\n\t\tThere's no course named %s",name);

printf("\n\t\t\tPress any key to countinue...");

}

getch();

}

void course_Search()

{

char key;

ST5:

clrscr();

printf("\n\n\n\n\n\n\t\t\t\t1. List all course");

printf("\n\t\t\t\t2. Search by the name of course");

printf("\n\t\t\t\t0. EXIT");

key=getch();

switch(key)

{

case '1' : List_all_course();break;

case '2' : Search_course_name();break;

case '0' : goto _End;

default : printf("\n\t\t\tInput wrong!\n\t\t\tPress any key to continue...");

getch();

}

goto ST5;

_End:;

}

void Pass(int Res)

{

FILE *fp;

char psw[17],*p,pass_in[17],user_name[20];

user *pHead,*pTemp;

int i,k=0;

clrscr();

p=pass;

if(Res==1)

{

if(!(fp=fopen("adm.psw","rb")))

{

printf("\n\n\n\n\n\n\n\t\tWelcome!\n\t******Login Administrator******");

p=getpass("\n\tPlease input your new password:");

fp=fopen("adm.psw","wb");

fprintf(fp,"%s",p);

fclose(fp);

}

else

{

fscanf(fp,"%s",pass_in);

fclose(fp);

printf("\n\n\n\n\n\n\t******Login by Administrator******");

p=getpass("\n\n\t\t\tPlease input your password:");

if(strcmp(p,pass_in))

{

printf("\n\t\tYour Password is wrong!");

printf("\n\t\tPress any key to EXIT...");

getch();

exit(0);

}//if_else

}

Adm_List();

}//if

else

{

printf("\n\n\n\n\n\n\n\n\t\t\t\tWelcome!");

printf("\n\t\t\t******Login by User******");

printf("\n\t\t\tPlease input your name:");

scanf("%s",user_name);

p=getpass("\n\t\t\tPlease input your password:");

pHead=readuser();

for(pTemp=pHead;pTemp!=NULL;pTemp=pTemp-pNext)

if(!strcmp(pTemp-name,user_name))

if(strcmp(pTemp-password,p))

{

k=1;

printf("\n\t\t\tYour password is wrong!");

printf("\n\t\t\t\tPress any key to EXIT...");

getch();

exit(0);

}//if_else

}//psw

int main()

{

int Res;

clrscr();

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

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

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

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

printf("\n\t* QiuYong No.20052419 *");

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

printf("\n\t* 2006-7-20 *");

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

printf("\n\t\t\t\t\t\tPress any key to countinue...");

getch();

START:

Res=login();

if(Res==0)goto End;

else if(Res==3)Help();

else Psw(Res);

goto START;

End:

clrscr();

printf("\n\n\n\n\n\n\t\t\tGoodBye ^_^");

return 0;

}

ASP编写学生选课系统后台管理权限分级问题

你这东西写太垃圾了,好多东西都是没用的。

太垃圾了,

不就是一个登录的功能嘛,

如果你想做的话,QQ联系我吧,我有时间我帮你看看

QQ:14219971

求大神帮忙写个c语言代码关于学生选课的, 要求:管理员登陆后,可增加、修改、删除课程信息。

package com.efounder.gwt.formplay.client;

import com.efounder.gwt.app.client.GWTSimpleContainer;

import com.efounder.gwt.app.client.ui.base.IApplicationFrame;

import com.efounder.gwt.app.client.ui.base.IContentView;

import com.efounder.gwt.app.client.ui.base.IMenuView;

import com.google.gwt.core.client.GWT;

import com.google.gwt.resources.client.ClientBundle;

import com.google.gwt.resources.client.CssResource;

import com.google.gwt.resources.client.CssResource.NotStrict;

import com.google.gwt.resources.client.ImageResource;

import com.google.gwt.resources.client.ImageResource.ImageOptions;

import com.google.gwt.resources.client.ImageResource.RepeatStyle;

import com.sencha.gxt.core.client.BindingPropertySet;

import com.sencha.gxt.core.client.BindingPropertySet.PropertyName;

import com.sencha.gxt.core.client.util.Margins;

import com.sencha.gxt.widget.core.client.container.MarginData;

/**

 * 主应用界面的外壳程序

 * @author xiewanzhi

 * @datetime 2015年4月8日 下午5:35:42

 */

public class FormPlayApplicationFrame extends GWTSimpleContainer implements IApplicationFrame {

/**

 * 菜单视图

 */

private IMenuView menuView = null;

/**

 * 内容视图

 */

private IContentView contentView = null;

@Override

public IMenuView getMenuView() {

return menuView;

}

@Override

public IContentView getContentView() {

return contentView;

}

@Override

public void setMenuView(IMenuView menuView) {

this.menuView = menuView;

}

@Override

public void setContentView(IContentView contentView) {

this.contentView = contentView;

}

/**

 * 隐藏左侧菜单区域,如果不存在此区域,此方法可以无具体内容

 * @param visible 显示还是隐藏:true/false

 */

@Override

public void hideMenuView(boolean visible) {

}

/**

 * 初始化界面组件

 */

@Override

public void initApplicationFrame() {

Resources res = GWT.create(Resources.class);

res.explorerStyles().ensureInjected();

this.setStateful(true);

this.setStateId("explorerLayout");

MarginData centerData = new MarginData();

centerData.setMargins(new Margins(0, 0, 0, 8));

this.add(contentView.asWidget(), new MarginData(0, 0, 0, 0));

}

@PropertyName("gxt.theme")

public interface ActiveTheme extends BindingPropertySet {

@PropertyValue(value = "gray", warn = false)

boolean isGray();

@PropertyValue(value = "blue", warn = false)

boolean isBlue();

@PropertyValue(value = "neptune", warn = false)

boolean isNeptune();

}

public interface Resources extends ClientBundle {

@NotStrict

CssResource explorerStyles();

@Source("hd-bg.gif")

@ImageOptions(repeatStyle = RepeatStyle.Horizontal)

ImageResource classicBg();

@ImageOptions(repeatStyle = RepeatStyle.Both)

@Source("square.gif")

ImageResource squareBg();

@Source("sample-over.gif")

ImageResource sampleOver();

}

}

学生学籍管理系统

5.6 学生模块的实现

学生登录系统之后可以拥有一些信息修改和查看的能力,可以对个人信息进行修改。学生可以查看自己所有的成绩,如图5-13所示。

图5-13 学生成绩查看

学生成绩查看部分功能代码:

学生登录后可以点击选课信息管理按钮,点击选课列表,学生可以查看自己的选课信息,如图5-14所示。

图5-14 选课查看

选课查看功能部分代码如下:

学生账号登录后,点击个人信息中的修改学=学生信息按钮,学生可以对自己的个人信息(性别、姓名、电话、QQ、班级)进行修改操作,具体如图5-15所示。

图5-15 学生信息修改

6 系统测试

(System Testing)是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。再例如,压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取) 等情况下是否还能正常地工作。主要目的是尽可能多的发现已编程序中存在的错误。

在学生信息管理系统设计开发完成后,需要对其进行测试分析,为了检验学生信息管理系统的可实施性以及各方面还有可能存在的问题。学生信息管理系统测试由测试的主要内容和分析构成。

6.1 用户登入功能测试

用户登入功能测试主要测试是否只有数据库中存在的用户在输入正确密码的前提下才能登入系统,用户登入功能测试用例如表6-1所示

表6-1 用户登入测试

测试的名称 用户登入测试

测试的目的 检查该系统的用户登录界面的功能是否存在问题

前置的条件 使用三种不同的身份进行登录

测试的步骤 使用前置条件中的存在的和不存在的管理员用户名和密码登录

预期的结果 只有在数据库中已经存在了的用户名和对应的正确密码才可以成功登录该系统

测试的结果 通过

测试的名称用户登入测试

测试的目的检查该系统的用户登录界面的功能是否存在问题

前置的条件使用三种不同的身份进行登录

测试的步骤使用前置条件中的存在的和不存在的管理员用户名和密码登录

预期的结果只有在数据库中已经存在了的用户名和对应的正确密码才可以成功登录该系统

测试的结果通过

根据表中步骤进行测试,没有出现问题,成功通过测试用户登入功能,符合设计的目的和要求。

6.2 各项信息的管理功能测试

各项信息管理功能测试需要测试用户登入,是否学生、老师、管理员可以使用各自的信息的添加删除和修改信息的功能。修改各项信息的管理功能测试用例如表6-2所示

表6-2 各项信息的管理功能测试

测试的名称 各项信息管理功能测试

测试的目的 检查不同用户各项信息管理功能中的添加修改和删除功能是否相互对应

前置的条件 分别使用三种系统数据库中已经存在上网不同的身份进行登录(老师、学生、管理员)

测试的步骤 (1)使用学生用户登录系统,分别进行修改密码和添加、删除个人信息操作。(2)使用教师用户登录系统,分别进行修改密码、添加和删除学生信息操作。(3)使用管理员身份登录系统,分别进行对老师和学生的添加修改和删除操作。

预期的结果 不同的身份登录可以对应不同的身份所拥有的权限(添加、删除和修改功能)

测试的结果 通过

测试的名称各项信息管理功能测试

测试的目的检查不同用户各项信息管理功能中的添加修改和删除功能是否相互对应

前置的条件分别使用三种系统数据库中已经存在上网不同的身份进行登录(老师、学生、管理员)

测试的步骤 (1)使用学生用户登录系统,分别进行修改密码和添加、删除个人信息操作。(2)使用教师用户登录系统,分别进行修改密码、添加和删除学生信息操作。(3)使用管理员身份登录系统,分别进行对老师和学生的添加修改和删除操作。

预期的结果不同的身份登录可以对应不同的身份所拥有的权限(添加、删除和修改功能)

测试的结果通过

根据表中步骤进行测试,没有出现问题,成功通过各项信息管理功能,符合设计的目的和要求。

6.3 Excel导出学生成绩表功能测试

导出学生成绩功能测试需要测试用户登入后进行学生成绩的导出操作,检验是否可以正常导出学生成绩表的功能。Excel导出学生成绩表功能测试用例如表6-3所示。

表6-3 学生信息管理功能测试

测试名称 Excel导出学生成绩表功能测试

测试目的 检查导出学生成绩表功能是否达到要求

前置条件 使用数据库中存在的老师、管理员用户信息登录系统

测试步骤 点击成绩信息管理,点击成绩列表,点击导出操作,选择导出目录,导出学生成绩表。

预期结果 能正常导出学生成绩表功能

测试结果 通过

测试名称 Excel导出学生成绩表功能测试

测试目的检查导出学生成绩表功能是否达到要求

前置条件使用数据库中存在的老师、管理员用户信息登录系统

测试步骤点击成绩信息管理,点击成绩列表,点击导出操作,选择导出目录,导出学生成绩表。

预期结果能正常导出学生成绩表功能

测试结果通过

根据表中步骤进行测试,没有出现问题,成功通过Excel学生成绩导出功能,符合设计的目的和要求。

总结

该系统主要实现了管理员模块,老师模块以及学生模块,主要实现了管理员对于系统中教师,学生以及课程数据的增删改查操作;以及教师对于学生相关信息的管理,例如学生的成绩和考勤信息等;以及学生对于个人信息的修改以及选课信息和课程成绩的查看等功能。由于使用的功能基本相同,所以跳转页面也几乎一致,不同的是点击事件和功能。节省了好多繁琐的跳转的不同页面,设计和实现界面设计的简洁化,更加节省了代码的繁琐程度。

本文虽然设计了信息化的学生信息管理系统,然而由于本人个人能力的不足以及时间的问题,本系统的设计并没有非常完善,系统设计中还存在着一些不足。由于对Java和数据库的掌握还未到炉火纯青的地步,有些比较难以实现的功能尚未完成。我会加强对Java和数据库的理解和学习,之后将会学习比较主流的SpringBoot框架对系统的开发流程进行简化,以及加入一些例如Redis之类的中间件,提高系统的健壮性。

致谢

光阴飞逝,现在蓦然回首,已在南信院学习三年了。依稀记得当年的懵懂小伙,仰望南信校门的情景。第一次走进学校,还是一个转业都分不清的无知者,四年后,我们专业知识已经过硬。这都得益于老师们的辛勤耕耘,无私奉献。"捧着一颗心来, 不带走半根草”。感谢我的南信院的老师们!是你们引领我走向了学术的殿堂,是你们引领我遨游在知识的海洋。在老师的谆教诲之下,我开阔了视野,深邃了思想,丰富了知识。尤其在毕业论文的指导上,老师更是不敢稍微懈怠。从论文选题开始,老师便倾入了大量的心血。得益于老师的启发我选择了研究沉没成本效应。这片浩瀚论文书海之中,我一个人感觉很是无助。但由于老师的指导和帮助,我不再害怕,我鼓足勇气耐心地完成我的毕设。

然后感谢我的论文指导老师蒋理老师,他认真负责的态度以及细心的指导,使我获益匪浅。耐心地指导让我感到万分感谢。感谢南京信息职业技术学院为我提供了这样的学习机会,此次使我感受颇深,并对软件开发技术的掌握也进一步加强了然后,也感谢我的舍友们,在我不懂的时候给予热心的帮助,让我不必一直纠结于哪一个问题,放松了很多。最后,感谢和我一起走过这三年的每一个人,因为有你们,生活变得美好,学习变得快乐。

参考文献

1 史健.海南体育职业技术学院训练竞赛管理系统开发与应用[J].当代体

育科技,2017.

2 张应辉,饶云波.计算机文化基础[M].北京航空航天大学出版社,20

(09).

3 赵文艳,康健.移动 web前端开发.北京理工大学出版社,2018,(09).

4 宋协栋.Dreamweaver网页设计与制作.北京理工大学出版社,2017,(07).

5 万征,刘喜平,骆斯文,万常选.面向计算思维的大学计算机基础.北京高等教育出版社,2015,(02).

6 万征,刘喜平,骆斯文,万常选.数据库系统原理与设计第 3版.北京清华大学出版社,2017,(09).

7 张聪.一种复合模式的仓储式物流配送管理系统设计[J].商场现代化,2017,(07):86-87.

8 余海伟.手工艺品企业的管理系统的设计与实现[D].厦门大学,2017.

9 方银斌. 基于移动物联网的大数据平台设计与实现[D].电子科技大学,2014.

10 DINO ESPOSITO.Social Authentication in ASP.NET MVC 4[J].MSDN magazine, 2013, 28(5):6-10.

C语言求高手修改下面代码!谢谢

修改完毕:直接加到主函数中即可,加上了输入错误的循环过程,测试通过,有问题留言

int i;

while(1)

{

printf("欢迎进入学生选课系统\n");

printf("请输入1~6选取学生情况:");

scanf("%d", i);

switch (i) {

case 1:

printf("第一位学生情况:学号%d,姓名%s,性别%c,班级%d\n", stu[1].num, stu[1].name,

stu[1].age, stu[1].Cla);

break;

case 2:

printf("第二位学生情况:学号%d,姓名%s,性别%c,班级%d\n", stu[2].num, stu[2].name,

stu[2].age, stu[2].Cla);

break;

case 3:

printf("第三位学生情况:学号%d,姓名%s,性别%c,班级%d\n", stu[3].num, stu[3].name,

stu[3].age, stu[3].Cla);

break;

case 4:

printf("第四位学生情况:学号%d,姓名%s,性别%c,班级%d\n", stu[4].num, stu[4].name,

stu[4].age, stu[4].Cla);

break;

case 5:

printf("第五位学生情况:学号%d,姓名%s,性别%c,班级%d\n", stu[5].num, stu[5].name,

stu[5].age, stu[5].Cla);

break;

case 6:

printf("第六位学生情况:学号%d,姓名%s,性别%c,班级%d\n", stu[6].num, stu[6].name,

stu[6].age, stu[6].Cla);

break;

default:

printf("输入错误请重新选择:1~6\n");

continue;

}

break;

}

//下面是学生选课部分

int j;

for(;;)

{

printf("\n 有四门课程供同学选择1表示英语,2表示汉语,3,表示财政学4,表示数学\n");

printf("请输入1~4选择同学们感兴趣的课程:");

scanf("%d",j);

switch (j) {

case 1:

printf("你选择的课程是%s\n",cla.E);

break;

case 2:

printf("你选择的课程是%s\n",cla.C);

break;

case 3:

printf("你选择的课程是%s\n",cla.F);

break;

case 4:

printf("你选择的课程是%s\n",cla.M);

break;

default:

printf("选择错误请重新选择1~4:\n");

continue;;

}

break;

}

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

运行结果:

欢迎进入学生选课系统

请输入1~6选取学生情况:9

输入错误请重新选择:1~6

欢迎进入学生选课系统

请输入1~6选取学生情况:6

第六位学生情况:学号1818717797,姓名ish,性别n,班级1634533376

有四门课程供同学选择1表示英语,2表示汉语,3,表示财政学4,表示数学

请输入1~4选择同学们感兴趣的课程:9

选择错误请重新选择1~4:

有四门课程供同学选择1表示英语,2表示汉语,3,表示财政学4,表示数学

请输入1~4选择同学们感兴趣的课程:3

你选择的课程是finance

选课权限管理代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于课程管理权限、选课权限管理代码的信息别忘了在本站进行查找喔。

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

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


取消回复欢迎 发表评论:

分享到

温馨提示

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

联系我们反馈

立即下载