ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:215.78KB ,
资源ID:7988718      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7988718.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机综合大作业C语言选课系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、计算机综合大作业C语言选课系统东北石油大学 综合应用(c)作业课 程 计算机综合应用 题 目 课程管理系统 院 系 石油工程学院 专业班级 学生姓名 2014 年 10 月25 日1.系统的功能(一)管理员:1. 添加功能: 管理员对用户的用户名、密码、用户类型,进行添加工作。2. 修改功能: 管理员对用户的用户名、密码、用户类型,进行修改工作。3. 删除功能: 管理员对用户的用户名、密码、用户类型,进行删除工作。(二)老师: 1.)添加功能: 老师对课程的添加工作。 2)查询功能: a.查询全部课程。b.按照课程的性质(必修或者选修)进行查找并显示。 c.按照课程的编号进行查找并显示。 d.

2、按照课程的学分进行查找并显示。(三)学生: 1)查询功能: a 查询全部课程。b.按照课程的性质(必修或者选修)进行查找并显示。c.按照课程的编号进行查找并显示。 d.按照课程的学分进行查找并显示。2 )选课功能: 必修课学生必选,学生对选修课进行选课。且选修课学分加必修课学分不少于30分。已选的选修课放入文件中。3 )退选功能: 学生只能对选修课进行退选,必修课不能退选。(四) 退出系统。2.界面设计和函数的使用(1)main函数。(2)check 函数:检验所输入的类别,用户名和密码是否正确。(3)she 【管理员函数】管理员调用函数.add,del,edits:管理员对用户进行添加,删除

3、,编辑的操作。 (4) teacher【教师函数】 教师调用函数 addkc;kccxtea【kcxxtea,kccxtea1,kccxtea2,kccxtea3,】依次为教师添加课程,教师查询课程(包括查询全部课程,按照课程名称查询,按照课程性质查询,按照学分查询)(5),student【学生函数】 学生调用函数 1查询课程函数kccx【kcxx,kccx1,kccx2,kccx3,】 学生查询课程(包括查询全部课程,按照课程名称查询,按照课程性质查询,按照学分查询) 2选课函数 choose【调用choosexuanxiu】 必修课学生必选,学生对选修课进行选课。且选修课学分加必修课学分不

4、少于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,s

5、tudent,teacher函数及整合工作。4.程序中的数据结构1.存放课程信息的结构体 struct couse int num1; char name120; int score; char type20; ;2.存放用户信息的结构体 struct yh char name20; char pass10; int f; ; 5.源代码 #includestdio.h#includestring.h#includestdlib.hint M=0;struct couse/课程信息结构体 int num1; char name120; int score; char type20; ;void

6、 add()/添加用户 char usname20; char uspw10; int clas; 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 %dn,usname,uspw,clas); fclose(fp); void del(char name)/删除用户 struct yh char name20; char pas

7、s10; int f; stdl100; FILE *fp; int i=0,n; if(fp=fopen(uhn.txt,r)=NULL) printf(不能打开文件n); exit(0); while(! feof(fp) fscanf(fp,%s%s%d,stdli.name,stdli.pass,&stdli.f); if(strcmp(name,stdli.name)!=0) i+; fclose(fp); if(fp=fopen(uhn.txt,w)=NULL) printf(不能打开文件n); exit(0); for(n=0;ni;n+) fprintf(fp,%s %s %d

8、n,stdln.name,stdln.pass,stdln.f); fclose(fp);void edits(char name)/修改用户 struct yh char name20; char pass10; int f;std1100; FILE *fp; int i=0,n,lb; char yhm20,pw10; printf(输入修改后的用户名,密码和类别); gets(yhm); gets(pw); scanf(%d,&lb); if(fp=fopen(uhn.txt,r)=NULL) printf(不能打开文件n); exit(0); while(! feof(fp) fsc

9、anf(fp,%s%s%d,std1i.name,std1i.pass,&std1i.f); if(strcmp(name,std1i.name)=0) strcpy(std1i.name,yhm);strcpy(std1i.pass,pw);std1i.f=lb; i+; fclose(fp); if(fp=fopen(uhn.txt,w)=NULL) printf(不能打开文件n); exit(0); for(n=0;ni-1;n+) fprintf(fp,%s %s %dn,std1n.name,std1n.pass,std1n.f); fclose(fp); void she()/管理

10、员函数int sele,mark;char username20;char password10; printf(nt *n 管理员系统n *n n); printf( n); printf( 用户管理 n); printf( n); printf( 1添加用户 n); printf( n); printf( 2删除用户 n); printf( n); printf( 3修改用户 n); printf( n); printf( 0退出系统 n); printf( n); printf( 请选择:);do printf( 0- 3n); scanf(%d,&sele);getchar(); sw

11、itch(sele) case 1:printf(输入添加用户的信息n);add();break; case 2:printf(输入要删除的用户的信息n);gets(username);del(username);break; case 3:printf(输入要修改的用户信息n);gets(username);edits(username);break; case 0:exit(0); default: printf(0 4n);while(1);int check(char na,char pa,int cl) char fname20; char fpass10; FILE *fp; in

12、t found=0,fclas; if(fp=fopen(uhn.txt,r)=NULL) printf(不能打开文件n); exit(0); while(! feof(fp) fscanf(fp,%s%s%d,fname,fpass,&fclas); if( strcmp(fname,na)=0&strcmp(fpass,pa)=0&fclas=cl) found=1;break; fclose(fp); return found; /添加课程函数void addkc() FILE *fp;void teacher(); int i=0,n; struct couse s100; print

13、f(请输入要录入的课程数n); scanf(%d,&n); if(fp=fopen(kecheng.dat,ab+)=NULL) printf(不能打开文件n); exit(0); for(i=0;in;i+) printf(nt请输入课程编号:); scanf(%4d,&si.num1); printf(nt请输入课程名称:); scanf(%s,si.name1); printf(nt请输入课程学分:); scanf(%4d,&si.score); printf(nt请输入课程课程性质:); scanf(%s,si.type); fwrite(&si,sizeof(struct couse

14、),1,fp); fclose(fp); printf(ttt继续录入课程请按1 返回上一页面请按2tn); scanf(%d,&i); switch(i) case 1:addkc();break; case 2:teacher();break; void teacher()/教师主页面 int i; void addkc();void kccxtea();printf(nt *n 老师课程系统n *n n); printf( n); printf( 教师管理 n); printf( n); printf( 1录入课程 n); printf( n); printf( 2查询课程 n); pr

15、intf( n); printf( 3退出系统 n); printf( n); printf( 请选择:); scanf(%d,&i); switch(i) case 1:addkc();break; case 2:kccxtea();break; case 3:exit(0); void student()/学生主页面 int m,i; void kccx();void choosexuanxiu();void kcxs();void tuixuan();void choose();void cxxx(); printf(nt *n 学生课程系统n *n n); printf( n); pr

16、intf( 学生主页面 n); printf( n); printf( 1课程信息 n); printf( n); printf( 2查询课程 n); printf( n); printf( 3学生选课 n); printf( n); printf( 4查询已选课 n); printf( n); printf( 5学生退课 n); printf( n); printf( 6退出系统 n); printf( n); printf( 请选择:); scanf(%d,&i); switch(i) case 1:kcxs();break; case 2:kccx();break; case 3:cho

17、ose();break; case 4:cxxx();break; case 5:tuixuan();break; case 6: exit(0); void kcxstea()/显示所有课程 FILE *fp;struct couse cou;int m; if ( (fp=fopen(kecheng.dat,rb)=NULL) printf(can not open this file.n); exit(0); while( fread(&cou,sizeof(cou),1,fp)=1 ) /*每读取一个结构体数据,分别输出4个成员*/ printf(课程编号:%d ,cou.num1);

18、 printf(课程名称:%s ,cou.name1); printf(课程学分:%ld ,cou.score); printf(课程类型:%sn,cou.type); fclose(fp); printf(按任何数字返回上一界面n); scanf(%d,&m); getchar(); teacher(); void kcxs()/显示所有课程 FILE *fp;struct couse cou;int m; if ( (fp=fopen(kecheng.dat,rb)=NULL) printf(can not open this file.n); exit(0); while( fread(

19、&cou,sizeof(cou),1,fp)=1 ) /*每读取一个结构体数据,分别输出4个成员*/ printf(课程编号:%d ,cou.num1); printf(课程名称:%s ,cou.name1); printf(课程学分:%ld ,cou.score); printf(课程类型:%sn,cou.type); fclose(fp); printf(按任意数字返回上一界面n); scanf(%d,&m); getchar(); student(); void kccxtea()/老师课程查询主页面int i,m;void kccx1tea();void kccx2tea();void

20、 teacher();void kccx3tea();void kcxstea(); printf(nt *n 老师课程系统n *n n); printf( n); printf( 查询主页面 n); printf( n); printf( 0查询所有课程 n); printf( n); printf( 1按课程名称查询 n); printf( n); printf( 2按课程性质查询 n); printf( n); printf( 3按课程学分查询 n); printf( n); printf( 4返回到上一页面 n); printf( n); printf( 请选择:); scanf(%d

21、,&i); switch(i) case 0:kcxstea();break; case 1:kccx1tea();break; case 2:kccx2tea();break; case 3:kccx3tea();break; case 4:teacher();break; void kccx()/学生课程查询主页面int i,m;void kccx1();void kccx2();void student();void kccx3();void kcxs(); printf(nt *n 学生课程系统n *n n); printf( n); printf( 查询主页面 n); printf(

22、 n); printf( 1按课程名称查询 n); printf( n); printf( 2按课程性质查询 n); printf( n); printf( 3按课程学分查询 n); printf( n); printf( 4返回到上一页面 n); printf( n); printf( 请选择:); scanf(%d,&i); switch(i) case 0:kcxs();break; case 1:kccx1();break; case 2:kccx2();break; case 3:kccx3();break; case 4:student();break; void kccx1tea

23、()/老师按课程名称查询 FILE *fp; void kccxtea(); struct couse s100; char feature10;int i=0,t=0,inp; printf(nt *n 老师课程系统n *n n); printf(请输入所查询的课程名称:); getchar(); gets(feature); if(fp=fopen(kecheng.dat,rb)=NULL) printf(未输入任何信息,请返回进行课程信息录入!); exit(0); do fread(&si,sizeof(struct couse),1,fp); if(strcmp(si.name1,f

24、eature)=0) t=1; printf(课程编号:%d ,si.num1); printf(课程名称:%s ,si.name1 ); printf(学分:%d ,si.score); printf(课程性质:%sn,si.type); i+; while(!feof(fp); if(t=0) printf(No such coursen); fclose(fp);printf(nt *n 老师课程系统n *n n); printf( n); printf( 课程页面 n); printf( n); printf( 1返回课程查询页面 n); printf( n); printf( 2退出程序 n); printf( n); printf( 请选择:); scanf(%d,&inp); switch(inp) case 1: kccxtea();break;/返回的

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

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