c语言选修课程设计,C语言课程设计--学生选修课系统.doc

#includevoid index();//首页

void login();//登陆

void bye_sys();//退出界面

void stu_login();//学生登陆菜单

void c_select();//选择课程

void c_view();//课程浏览

void c_add();//新增课程

void c_delete();//删除课程

void c_searchs();//学生查询函数

void c_searchm();//管理员查询函数

void c_viewm();//管理员浏览函数

void c_views();//学生浏览函数

struct course//定义课程结构体

{

int c_num;//课程编号

char c_name[20];//课程名字

int c_score;//课程学分

char c_properties[20];//课程性质

int c_time;//课程学时

char c_term[20];//开课学期

};

struct student

{

char s_number[10];

char s_password[10];

};

struct manager

{

char m_name[10];

char m_password[10];

};

int main()//主函数部分

{

index();

login();

return 0;

}

void index()//首页

{

char input;

printf("\n\n\t\t\t◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆\n");

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

printf("\t\t\t◆ 内蒙古科技大学 ◆\n");

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

printf("\t\t\t◆ 学生选课系统 ◆\n");

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

printf("\t\t\t◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆\n");

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

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

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

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

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

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

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

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

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

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

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

printf("\t\t\t◆◇◆◇◆◇※贾伟 ☆ 郭科※◆◇◆◇◆\n");

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

input=getchar();

system("cls");//清屏

}

void login()//登陆界面

{

void stu_login();

void man_login();

void bye_sys();

int input;

do

{

system("cls");

printf("\n\n\n\n\n\n\t\t\t\t1.学生登陆\n");

printf("\n\t\t\t\t2.管理员登陆\n");

printf("\n\t\t\t\t3.退出系统\n\n\n");

printf("\n\n\n\t请输入项目代号:");

scanf("%d",&input);

if(input!=1&&input!=2&&input!=3)

{

printf("\n\t 输入有误!!请重新输入\n");

printf("\n\t 按任意键返回\n\t");

getchar();getchar();

system("cls");

}

if(input==3)

{

bye_sys();

}

}while(input!=1&&input!=2&&input!=3);

switch(input)

{

case 1:

stu_login();break;

case 2:

man_login();break;

}

}

void bye_sys()//退出界面

{

exit(0);

}

void man_login()//管理员登陆

{

void c_add();

void c_delete();

void c_view();

void c_searchm();

int in;

do{

system("cls");

printf("\n\n\n\n\t\t\t --管理员登陆菜单--\n\n");

printf("\n\n\t\t\t\t1.新增课程\n");

printf("\n\t\t\t\t2.删除课程\n");

printf("\n\t\t\t\t3.课程浏览\n");

printf("\n\t\t\t\t4.课程查询\n");

printf("\n\t\t\t\t5.退出\n");

printf("\n\n\t请输入项目代号:");

scanf("%d",&in);

if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5)

{

printf("\n\t 输入有误!!\t 按任意键重新输入");

getchar();getchar();

}

}while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5);

switch(in)

{

case 1:

c_add();break;

case 2:

c_delete();break;

case 3:

c_viewm();break;

case 4:

c_searchm();break;

case 5:

login();break;

}

}

void stu_login()//学生登陆

{

void c_select();

void c_view();

void c_searchs();

void login();

int input;

do

{

system("cls");

printf("\n\n\n\n\t\t\t --学生登陆菜单--\n\n");

printf("\n\n\t\t\t\t1.学生选课\n");

printf("\n\t\t\t\t2.课程浏览\n");

printf("\n\t\t\t\t3.课程查询\n");

printf("\n\t\t\t\t4.退出\n\n");

printf("\n\t\t请输入项目代号:");

scanf("%d",&input);

if(input!=1&&input!=2&&input!=3&&input!=4)

{

printf("\n\t 输入有误!!\n");

printf("\t按任意键重新输入");

getchar();getchar();

}

}while(input!=1&&input!=2&&input!=3&&input!=4);

switch(input)

{

case 1:

c_select();break;

case 2:

c_views();break;

case 3:

c_searchs();break;

case 4:

login();break;

}

}

void c_select()//选择课程

{

int n,in,i=0,j;

int flag=0;

FILE *fp;

FILE *fp1;

char input;

struct course courses[10];

if((fp=fopen("course.dat","rb"))==NULL)//判断是否存在课程

{

printf("\n\n\n\t 课程不存在\n\n");

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

input=getchar();

input=getchar();

stu_login();//进入学生登录菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);//文件读完后关闭

}

printf("\n\n\t\t 请输入你要选择课程的编号:");

scanf("%d",&n);

if((fp1=fopen("courseselect.dat","rb"))==NULL)

{

fp1=fopen("courseselect.dat","wb");

}

else

{

fclose(fp1);

fp1=fopen("courseselect.dat","ab");

}

for(j=0;j\n\t");

getchar();getchar();

man_login();

}

else

{

do{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

do{

system("cls");

if(i==1)

{

printf("\n\n\n\t\t\t没有记录!\n");

getchar();getchar();

man_login();

}

else

{

printf("\n\t\t\t-----共有%d条记录-----",i-1);

printf("\n\n\t\t\t 课程编号: %d\n",courseview[n].c_num);

printf("\n\n\t\t\t 课程名字: %s\n",courseview[n].c_name);

printf("\n\n\t\t\t 课程学分: %d\n",courseview[n].c_score);

printf("\n\n\t\t\t 课程性质: %s\n",courseview[n].c_properties);

printf("\n\n\t\t\t 课程学时: %d\n",courseview[n].c_time);

printf("\n\n\t\t\t 开课学期: %s\n",courseview[n].c_term);

printf("\n\n\t\t1.上一页\t2.下一页\t3.回目录");

printf("\n\t请选择: ");

scanf("%d",&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf("\n\t已到达首页\t按任意键返回");

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf("\n\t已到达尾页\t按任意键返回");

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{

man_login();

break;

}

default:

{

printf("\n\t操作错误\t按任意键返回");

getchar();

getchar();

break;

}

}

}

}while(inp!=3);

}

}

void c_views()

{

void stu_login();

void c_view();

int inp,i=0,n=0;

FILE*fp;

char input;

struct course courseview[10];

if((fp=fopen("course.dat","rb"))==NULL)

{

system("cls");

printf("\n\n\n\t 课程不存在\n\n");

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

getchar();getchar();

stu_login();

}

else

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);

do

{

system("cls");

if(i==1)

{

printf("\n\n\n\t\t\t没有记录!\n");

getchar();getchar();

stu_login();

}

else

{

printf("\n\t\t\t-----共有%d条记录-----",i-1);

printf("\n\n\t\t\t 课程编号: %d\n",courseview[n].c_num);

printf("\n\n\t\t\t 课程名字: %s\n",courseview[n].c_name);

printf("\n\n\t\t\t 课程学分: %d\n",courseview[n].c_score);

printf("\n\n\t\t\t 课程性质: %s\n",courseview[n].c_properties);

printf("\n\n\t\t\t 课程学时: %d\n",courseview[n].c_time);

printf("\n\n\t\t\t 开课学期: %s\n",courseview[n].c_term);

printf("\n\n\t\t1.上一页\t2.下一页\t3.回目录");

printf("\n\t请选择: ");

scanf("%d",&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf("\n\t已到达首页\t按任意键返回");

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf("\n\t已到达尾页\t按任意键返回");

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{

stu_login();

break;

}

default:

{

printf("\n\t操作错误\t按任意键返回");

getchar();getchar();

break;

}

}

}

}while(inp!=3);

}

}

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值