一般来说可以用jsp+servlet框架来实现, 这个可以通过自己的封装, 把路由精简一下, 也可以用最新的servlet注解, 也是比较方便开发的。最近的几个项目都是这么用的。
如果是比较复杂的项目还是推荐用spring全家桶, 极大增加开发效率
//定义链表结构typedef struct QUESTION
{
int index //题号
char title[100] //题目
char A[30] //选项A
char B[30] //选项B
char C[30] //选项C
char D[30] //选项D
char answer[20] //答案
char chapter[20] //章节知识点
int score //分值
int mark //用于标记是否删除 0已删除 1未删除
struct QUESTION *next //指向下一个节点指针
}QUESTION
struct QUESTION *question = NULL //定义链表
int max = 0 //当前链表长度
int rank = 0 //权限标记 0是学生 1是教师
char name[20]
void InitFile() //从文件中初始化读取题目
void SaveFile() //将当前链表保存到文件
void GetTest() //抽取题目组成试卷
void Del() //删除题目
void Alter() //修改题目
void Add() //添加题目
void Search() //搜索题目
void Sort() //对题目进行排序,按题目名称升序排列
void Display() //显示当前链表数据
void Menu() //菜单
void InitRank() //初始化权限
int main()
{
int flag=0 //用于标记用户的选择
InitFile() //启动时即从文件中初始化
InitRank()
while(1) //死循环,直到用户选择0,退出程序
{
do
{
Menu()
scanf("%d",&flag)
} while (flag<0||flag>8) //如果用户选择非法,则一直让用户重新输入
switch(flag) //分支,根据用户的选择进入不同的功能
{
case 1:
if(rank)
Add()
else printf("你无权进行此 *** 作。\n")
break
case 2:
Display()
break
case 3:
GetTest()
break
case 4:
if(rank)
Del()
else printf("你无权进行此 *** 作。\n")
break
case 5:
Search()
break
case 6:
if(rank)
Sort()
else printf("你无权进行此 *** 作。\n")
break
case 7:
if(rank)
SaveFile()
else printf("你无权进行此 *** 作。\n")
break
case 8:
if(rank)
Alter()
else printf("你无权进行此 *** 作。\n")
break
case 0:
printf("谢谢使用!\n")
return 0
}
}
return 0
}
给你贴上我做的,核心功能和框架都有了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)