学生选课管理系统源代码_第1页
学生选课管理系统源代码_第2页
学生选课管理系统源代码_第3页
学生选课管理系统源代码_第4页
学生选课管理系统源代码_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<stdio.h>#include<string.h>#include<stdlib.h>struct courseint num;char name20;char kind20;int ttime,mark,term;c;struct student int snum;int cnum;char cnam20;char snam20;s500;int count;/全局变量int main()/主函数int n;int menu();int f1();int luru();int liulan();int chaxun();int xuan

2、ke();int tongji();printf("n * *");printf("nn * 欢迎进入学生选课系统! *");menu();printf("n");printf(" * the end *n");printf("n * *");printf("nn 请 先 选 择 1 进 行 课 程 信 息 录 入:");scanf("%d",&n);/防止错误,请重新输入for(;n>5|n<0;)printf("n 输 入

3、 错 误 !请 重 新 输 入 !n ");scanf("%d",&n);while(n>0&&n<6)switch(n)case 1:luru();break;/录入课程信息case 2:liulan();break;/浏览课程信息case 3:chaxun();break;/查询课程信息case 4:xuanke();break;/进入选课操作case 5:tongji();break;/统计选课情况scanf("%d",&n);/选择所需操作for(;n>5|n<0;)printf(

4、"nn");printf("n 输 入 错 误 ! 请 重 新 输 入 !n ");scanf("%d",&n);/防止错误,提示重新输入system("cls");/清屏 if(n=0)printf(" nnnnnnn");printf(" * 谢谢使用! *n "); printf("nnnnn");exit(0);/退出选课系统return 0; int menu()/菜单函数int n;printf("nnnn");pr

5、intf(" 1. 录 入 课 程 信 息nn"); printf(" 2. 浏 览 课 程 信 息nn"); printf(" 3. 查 询 课 程 信 息nn"); printf(" 4. 进 入 选 课 操 作nn");printf(" 5. 统 计 选 课 情 况nn");printf(" 0. 退 出 选 课 系 统nn"); return 0;int f1()printf("n 课程编号 课程名称 课程性质 总学时 学分 开课学期:n");re

6、turn 0;int luru()/录入函数FILE *fp;/定义指向文件的指针struct course c;int i;if(fp=fopen("D:/course.txt","w")=NULL)/建立文件"course.txt"printf("cannot open filen");exit(0);printf("n 请 输 入 选 择 的 课 程 门 数:");scanf("%d",&count);printf("nn");f1();fo

7、r(i=0;i<count;i+)scanf("%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term);fprintf(fp,"%dt%st%st%dt%dt%dt",c.num,,c.kind,c.ttime,c.mark,c.term);fclose(fp);/关闭文件printf("n * 录入成功!*n");menu();return 0;int liulan()/浏览函数int i=0;FILE *fp;/定义

8、指向文件的指针struct course c;/定义课程结构体变量if(fp=fopen("D:/course.txt","r")=NULL)/打开文件"course.txt"printf("ncannot open course!n");exit(0);f1();while(!feof(fp)&&i<count)fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c

9、.term);printf("%7d%11s%10s%9d%9d%8dn",c.num,,c.kind,c.ttime,c.mark,c.term);i+;fclose(fp);/关闭文件menu();return 0;int chaxun()/查询函数FILE *fp;/定义指向文件的指针struct course c;/定义课程结构体变量int score;int b,i=0;char kind20;printf("n 1.按 学 分 查 询n");printf("n 2.按 课 程 性 质 查 询");printf(

10、" 请 选 择 查 询 方 式 nn 输 入 选 项 数 字:");scanf("%d",&b);/防止错误,提示重新输入for(;b<1|b>2;)printf("n 输 入 错 误 !请 重 新 输 入 !n ");scanf("%d",&b);/按学分查询if(b=1)printf("n 输 入 你 要 查 询 的 学 分: ");scanf("%d",&score);if(fp=fopen("D:/course.txt&q

11、uot;,"r")=NULL)printf("ncannot open course!n");exit(0);f1();while(!feof(fp)&&i<count)/当没有指向文件尾部,读取文件“course.txt”中的数据fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term);if(c.mark=score)/比较输入的分数和结构体中的分数,如果相同,输出那组数据printf(&quo

12、t;%7d%11s%10s%9d%9d%8dn",c.num,,c.kind,c.ttime,c.mark,c.term);i+;else if(b=2)/按课程性质查询printf("nn 输 入 你 要 查 询 的 课 程 性 质:");scanf("%s",kind);if(fp=fopen("D:/course.txt","r")=NULL)/打开文件"course.txt"printf("ncannot open course!n");f1()

13、;while(!feof(fp)&&i<count)/当没有到达文件尾部,读取“course.txt”中的数据fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term);if(strcmp(c.kind,kind)=0)/比较输入的字符串与原文件中的课程性质,如果相同,输出那组数据printf("%7d%11s%10s%9d%9d%8dn",c.num,,c.kind,c.ttime,c.mark,c.te

14、rm);i+;elseprintf("输入错误!");/选择错误,就退出exit(1);fclose(fp);menu();return 0;int xuanke()/选课函数int t=0,flag;int i;/*struct course c;/定义课程结构体变量*/FILE *fp;/定义指向文件的指针doprintf("n 请 输 入 学 号 姓 名 课 程 编 号 及 课 程 名 称 :"); scanf("%d%s%d%s",&st.snum,st.snam,&um,am);if(fp

15、=fopen("D:/course.txt","r")=NULL)/打开文件"course.txt"printf("ncannot open course!n");exit(0);while(!feof(fp)/如果课程编号和课程名称与学生所选一致,就跳出,执行下一步fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term); if(um=c.num)&&

16、(am=)t+;break;fclose(fp);printf("n 是 否 继 续 ,是 1,否 0 n ");scanf("%d",&flag);if(fp=fopen("D:/student.txt","a+")=NULL)/建立文件“student.txt”printf("ncannot open student!n");exit(0); /建立,并将学生选课信息输入"student.txt"for(i=0;i<t;i+);fpri

17、ntf(fp,"%dt%st%dt%stn",st.snum,st.snam,um,am); fclose(fp);/关闭选课文件"course.txt"while(flag);printf("n * 恭喜选课成功!*n");menu();return 0;int tongji()/统计函数int total=0;int t,i=0;FILE *fp;if(fp=fopen("D:/student.txt","r")=NULL)/打开文件“student.txt”printf("ncannot open student!n");exit(0);printf("n 学号 姓名 课程编号及课程名称n");while(!feo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论