• 大小: 9KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: C/C++
  • 标签: 选课  

资源简介

用C语言写的一个学生选课系统,系统以菜单方式工作,用文件流保存信息。

资源截图

代码片段和文件信息


#include
#include
#include
#define SIZE 10//最多的课程数
#define STUSIZE 10 //最多的学生人数
#define SCSIZE 20
int csizestusizescsize;
struct Course
{
char CourseNum[8]; //课程编号
char CourseName[10];//课程名称
char TeachTime[4];//学时
char ExpertTime[4];//实验学时
int  point;//学分
char Term[20];//开课学期
char CourseKind[10];//课程性质
int  max;//这门课程的限制人数
}course[SIZE];
struct Student
{
char Sname[10];
    char Snum[20];
char dept[10];
char password[6];
}stu[STUSIZE];
struct SC
{
char SCSno[20];//学生学号
char SCCno[8];//课程编号
int PointSum;
}sc[SCSIZE];
void CourseInit()
{
FILE *fp;
if((fp=fopen(“c:\\course.txt““w“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
fclose(fp);
}
void StuInit()
{
FILE *fp;
if((fp=fopen(“c:\\student.txt““w“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
fclose(fp);
}
void Stu_Course_Init()
{
FILE *fp;
if((fp=fopen(“c:\\sc.txt““w“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
fclose(fp);
for(int i=0;i sc[i].PointSum=0;
}
void InitAll()//课程初始化
{
FILE *fp;
if((fp=fopen(“c:\\course.txt““w“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
if((fp=fopen(“c:\\student.txt““w“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
if((fp=fopen(“c:\\sc.txt““w“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
fclose(fp);
for(int i=0;i sc[i].PointSum=0;
}
void CourseCreate()
{
FILE *fp;
int i;
printf(“想创建几门课程,请输入:“);
scanf(“%d“&csize);
printf(“请依次输入%d 门课程的\n课程编号,课程名称,总学时,实验学时,学分,开课学期课程性质人数限制:\n“csize);
for(i=0;i scanf(“%s%s%s%s%d%s%s%d“course[i].CourseNumcourse[i].CourseNamecourse[i].TeachTimecourse[i].ExpertTime&course[i].pointcourse[i].Termcourse[i].CourseKind&course[i].max);
if((fp=fopen(“c:\\course.txt““a“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
for(i=0;i if(fwrite(&course[i]sizeof(struct Course)1fp)!=1)
printf(“文件写入错误!\n“);
fclose(fp);
stusize=0;
}
void CourseInsert()
{
FILE *fp;
int ni;
printf(“想增加几门课程,请输入:“);
scanf(“%d“&n);
printf(“请依次输入%d课程的\n课程编号,课程名称,总学时,实验学时,学分,开课学期课程性质人数限制:\n“n);
for(i=0;i scanf(“%s%s%s%s%d%s%s%d“course[i+csize].CourseNumcourse[i+csize].CourseNamecourse[i+csize].TeachTimecourse[i+csize].ExpertTime&course[i+csize].pointcourse[i+csize].Termcourse[i+csize].CourseKind&course[i+csize].max);
if((fp=fopen(“c:\\course.txt““a“))==NULL)
{
  printf(“不能打开文件!\n“);
  return ;
}
for(i=0;i if(fwrite(&course[i+csize]sizeof(struct Course)1fp)!=1)
printf(“文件写入错误!\n“);
fclose(fp);
csize+=n;
}
void CoursePrintByPoint()//课程以学分查询
{
int point1;
printf(“请输入想查询的学分:“);
scanf(“%d“&point1);
printf(“学分为 %d 的课程有:\n“point1);
printf(“课程编号      课程名称  总学时 实验学时 学分     开课学期     课程性质  人数限制\n“);
for(int i=0;i if(course[i].point==point1)
       printf(“%s\t\t%s\t  %s\t %s\t %d\

评论

共有 条评论