计算机综合大作业C语言选课系统Word下载.docx

上传人:b****6 文档编号:21124997 上传时间:2023-01-27 格式:DOCX 页数:40 大小:215.78KB
下载 相关 举报
计算机综合大作业C语言选课系统Word下载.docx_第1页
第1页 / 共40页
计算机综合大作业C语言选课系统Word下载.docx_第2页
第2页 / 共40页
计算机综合大作业C语言选课系统Word下载.docx_第3页
第3页 / 共40页
计算机综合大作业C语言选课系统Word下载.docx_第4页
第4页 / 共40页
计算机综合大作业C语言选课系统Word下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

计算机综合大作业C语言选课系统Word下载.docx

《计算机综合大作业C语言选课系统Word下载.docx》由会员分享,可在线阅读,更多相关《计算机综合大作业C语言选课系统Word下载.docx(40页珍藏版)》请在冰豆网上搜索。

计算机综合大作业C语言选课系统Word下载.docx

(四)退出系统。

2.界面设计和函数的使用

(1)main函数。

(2)check函数:

检验所输入的类别,用户名和密码是否正确。

(3)she【管理员函数】

管理员调用函数.add,del,edits:

管理员对用户进行添加,删除,编辑的操作。

(4)teacher【教师函数】

教师调用函数addkc;

kccxtea【kcxxtea,kccxtea1,kccxtea2,kccxtea3,】依次为教师添加课程,教师查询课程(包括查询全部课程,按照课程名称查询,按照课程性质查询,按照学分查询)

(5),student【学生函数】

学生调用函数

1查询课程函数kccx【kcxx,kccx1,kccx2,kccx3,】

学生查询课程(包括查询全部课程,按照课程名称查询,按照课程性质查询,按照学分查询)

2选课函数choose【调用choosexuanxiu】

且选修课学分加必修课学分不少于40分。

3退课函数tuixuan

学生只能对选修课进行退选,必修课不能退选。

登录界面

管理员界面

教师界面

录入课程界面

查询课程界面

退出系统界面

学生界面

主界面

查询界面

选课界面

查询退课界面

退课界面

3.成员分工

choose,choosexuanxiu,tuixuan,cxxx,addkc函数。

kccx,kccxtea,kccx2,kccx2tea,kccx3,kcxs函数。

kccx1,kccx1tea,kcxs,kcxstea,kccx3tea,kcxstea函数。

add,edits,check,del函数及美化工作。

main,student,teacher函数及整合工作。

4.程序中的数据结构

1.存放课程信息的结构体

structcouse

{

intnum1;

charname1[20];

intscore;

chartype[20];

};

2.存放用户信息的结构体

structyh

{charname[20];

charpass[10];

intf;

};

5.源代码

#include"

stdio.h"

string.h"

stdlib.h"

intM=0;

structcouse//课程信息结构体

voidadd()//添加用户

{

charusname[20];

charuspw[10];

intclas;

FILE*fp;

if((fp=fopen("

uhn.txt"

"

a"

))==NULL)

{

printf("

不能打开文件\n"

);

exit(0);

}

printf("

请输入用户名,密码和类别"

gets(usname);

gets(uspw);

scanf("

%d"

&

clas);

getchar();

fprintf(fp,"

%s%s%d\n"

usname,uspw,clas);

fclose(fp);

}

voiddel(charname[])//删除用户

{structyh

{charname[20];

charpass[10];

intf;

}stdl[100];

FILE*fp;

inti=0,n;

r"

{printf("

exit(0);

while(!

feof(fp))

{fscanf(fp,"

%s%s%d"

stdl[i].name,stdl[i].pass,&

stdl[i].f);

if(strcmp(name,stdl[i].name)!

=0)i++;

w"

{printf("

for(n=0;

n<

i;

n++)

stdl[n].name,stdl[n].pass,stdl[n].f);

voidedits(charname[])//修改用户

{structyh

}std1[100];

inti=0,n,lb;

charyhm[20],pw[10];

输入修改后的用户名,密码和类别"

gets(yhm);

gets(pw);

lb);

feof(fp))

{fscanf(fp,"

std1[i].name,std1[i].pass,&

std1[i].f);

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

{strcpy(std1[i].name,yhm);

strcpy(std1[i].pass,pw);

std1[i].f=lb;

i++;

{printf("

i-1;

std1[n].name,std1[n].pass,std1[n].f);

voidshe()//管理员函数

intsele,mark;

charusername[20];

charpassword[10];

\n\t************\n管理员系统\n************\n\n"

┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n"

┃┃用户管理┃┃\n"

┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"

┃●[1]添加用户┃\n"

┃┃\n"

┃●[2]删除用户┃\n"

┃●[3]修改用户┃\n"

┃●[0]退出系统┃\n"

┗━━━━━━━━━━━━━━━━━━━━━━━┛\n"

请选择:

"

do

0-3\n"

sele);

getchar();

switch(sele)

{case1:

printf("

输入添加用户的信息\n"

add();

break;

case2:

输入要删除的用户的信息\n"

gets(username);

del(username);

case3:

输入要修改的用户信息\n"

edits(username);

case0:

exit(0);

default:

0~4\n"

}while

(1);

intcheck(charna[],charpa[],intcl)

charfname[20];

charfpass[10];

intfound=0,fclas;

fname,fpass,&

fclas);

if(strcmp(fname,na)==0&

&

strcmp(fpass,pa)==0&

fclas==cl)

{found=1;

returnfound;

//添加课程函数

voidaddkc()

voidteacher();

structcouses[100];

请输入要录入的课程数\n"

n);

kecheng.dat"

ab+"

for(i=0;

i<

n;

i++)

\n\t请输入课程编号:

scanf("

%4d"

s[i].num1);

\n\t请输入课程名称:

scanf("

%s"

s[i].name1);

\n\t请输入课程学分:

s[i].score);

\n\t请输入课程课程性质:

s[i].type);

fwrite(&

s[i],sizeof(structcouse),1,fp);

\t\t\t继续录入课程请按1返回上一页面请按2\t\n"

i);

switch(i)

case1:

addkc();

teacher();

voidteacher()//教师主页面

{inti;

voidaddkc();

voidkccxtea();

\n\t************\n老师课程系统\n************\n\n"

┃┃教师管理┃┃\n"

┃●[1]录入课程┃\n"

┃●[2]查询课程┃\n"

┃●[3]退出系统┃\n"

;

kccxtea();

voidstudent()//学生主页面

{intm,i;

voidkccx();

voidchoosexuanxiu();

voidkcxs();

voidtuixuan();

voidchoose();

voidcxxx();

\n\t************\n学生课程系统\n************\n\n"

┃┃学生主页面┃┃\n"

┃●[1]课程信息┃\n"

┃●[3]学生选课┃\n"

┃●[4]查询已选课┃\n"

┃●[5]学生退课┃\n"

┃●[6]退出系统┃\n"

kcxs();

kccx();

choose();

case4:

cxxx();

case5:

tuixuan();

case6:

voidkcxstea()//显示所有课程

FILE*fp;

structcousecou;

intm;

if((fp=fopen("

rb"

cannotopenthisfile.\n"

while(fread(&

cou,sizeof(cou),1,fp)==1)

{/*每读取一个结构体数据,分别输出4个成员*/

课程编号:

%d"

cou.num1);

课程名称:

%s"

cou.name1);

课程学分:

%ld"

cou.score);

printf("

课程类型:

%s\n"

cou.type);

按任何数字返回上一界面\n"

m);

teacher();

voidkcxs()//显示所有课程

按任意数字返回上一界面\n"

student();

voidkccxtea()//老师课程查询主页面

inti,m;

voidkccx1tea();

voidkccx2tea();

voidkccx3tea();

voidkcxstea();

┃┃查询主页面┃┃\n"

┃●[0]查询所有课程┃\n"

┃●[1]按课程名称查询┃\n"

┃●[2]按课程性质查询┃\n"

┃●[3]按课程学分查询┃\n"

┃●[4]返回到上一页面┃\n"

case0:

kcxstea();

kccx1tea();

kccx2tea();

kccx3tea();

voidkccx()//学生课程查询主页面

voidkccx1();

voidkccx2();

voidstudent();

voidkccx3();

kccx1();

kccx2();

kccx3();

student();

voidkccx1tea()//老师按课程名称查询

{

voidkccxtea();

charfeature[10];

inti=0,t=0,inp;

请输入所查询的课程名称:

gets(feature);

if((fp=fopen("

{

未输入任何信息,请返回进行课程信息录入!

}

do

fread(&

if(strcmp(s[i].name1,feature)==0)

{t=1;

s[i].num1);

s[i].name1);

学分:

s[i].score);

课程性质:

}i++;

}while(!

feof(fp));

if(t==0)printf("

Nosuchcourse\n"

┃┃课程页面┃┃\n"

┃●[1]返回课程查询页面┃\n"

┃●[2]退出程序┃\n"

inp);

switch(inp)

{

case1:

kccxtea();

}//返回的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1