commit
fa08151c4a
@ -0,0 +1,192 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
struct course
|
||||||
|
{
|
||||||
|
char name[100];
|
||||||
|
char kind[30];
|
||||||
|
int num;
|
||||||
|
int time;
|
||||||
|
int ttime;
|
||||||
|
int etime;
|
||||||
|
int mark;
|
||||||
|
int term;
|
||||||
|
};
|
||||||
|
struct student
|
||||||
|
{
|
||||||
|
char snum[11];
|
||||||
|
int cnum;
|
||||||
|
char cname[100];
|
||||||
|
};
|
||||||
|
void insert() /*输入信息*/
|
||||||
|
{ int main();
|
||||||
|
FILE *fp;
|
||||||
|
struct course c;
|
||||||
|
int secret=112112;
|
||||||
|
int secret1;
|
||||||
|
int n;
|
||||||
|
system("cls");
|
||||||
|
if((fp=fopen("course.txt","a+"))==NULL)
|
||||||
|
{printf("cannot open course\n");}
|
||||||
|
printf("请输入密码:");
|
||||||
|
scanf("%d",&secret1);
|
||||||
|
if(secret1==secret)
|
||||||
|
{
|
||||||
|
printf("密码输入正确,请输入课程门数:");
|
||||||
|
scanf("%d",&n);
|
||||||
|
printf("课程编号 课程名称 课程性质 总学时 授课学时 实验学时 学分 开课学期:\n");
|
||||||
|
for(int i=1;i<=n;i++)
|
||||||
|
{
|
||||||
|
scanf("%d %s %s %d %d %d %d %d",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);
|
||||||
|
fprintf(fp,"%d %s %s %d %d %d %d %d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf("你输入的密码有误,请重试");
|
||||||
|
fclose(fp);
|
||||||
|
main();
|
||||||
|
}
|
||||||
|
|
||||||
|
void browser() /*信息浏览*/
|
||||||
|
{ int main();
|
||||||
|
FILE *fp;
|
||||||
|
struct course c;
|
||||||
|
system("cls");
|
||||||
|
if((fp=fopen("course.txt","r"))==NULL)
|
||||||
|
{printf("cannot open course\n");}
|
||||||
|
printf("课程编号 课程名称 课程性质 总学时 授课学时 实验学时 学分 开课学期:\n");
|
||||||
|
for(;!feof(fp);)
|
||||||
|
{
|
||||||
|
fscanf(fp,"%d%s%s%d%d%d%d%d",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);
|
||||||
|
printf("%5d%12s%9s%9d%9d%11d%7d%7d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
main();
|
||||||
|
}
|
||||||
|
|
||||||
|
void search() /*信息查询*/
|
||||||
|
{ int main();
|
||||||
|
FILE *fp;
|
||||||
|
struct course c;
|
||||||
|
int score,b;
|
||||||
|
system("cls");
|
||||||
|
loop:
|
||||||
|
printf("1.按学分查询 2.按课程性质查询\n");
|
||||||
|
printf("请选择查询方式,输入选项数字:");
|
||||||
|
scanf("%d",&b);
|
||||||
|
if(b==1)
|
||||||
|
{
|
||||||
|
printf("请输入您要查询的学分:");
|
||||||
|
scanf("%d",&score);
|
||||||
|
if((fp=fopen("course.txt","r"))==NULL)
|
||||||
|
{
|
||||||
|
printf("cannot open course!\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:\n");
|
||||||
|
for(;!feof(fp);)
|
||||||
|
{
|
||||||
|
fscanf(fp,"%d%s%s%d%d%d%d%d",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);
|
||||||
|
if(score==c.mark)
|
||||||
|
printf("%5d%12s%9s%9d%9d%11d%7d%7d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(b==2)
|
||||||
|
{
|
||||||
|
char kind1[10];
|
||||||
|
system("cls");
|
||||||
|
printf("请输入您要查询的课程性质:");
|
||||||
|
scanf("%s",&kind1);
|
||||||
|
if((fp=fopen("course.txt","r"))==NULL)
|
||||||
|
{
|
||||||
|
printf("cannot open course!\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:\n");
|
||||||
|
for(;!feof(fp);)
|
||||||
|
{
|
||||||
|
fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);
|
||||||
|
if(strcmp(c.kind,kind1)==0)
|
||||||
|
printf("%5d%12s%9s%9d%9d%11d%10d%10d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ printf("输入有误\n"); goto loop;}
|
||||||
|
fclose(fp);
|
||||||
|
main();
|
||||||
|
}
|
||||||
|
|
||||||
|
void xuankeinformation() /*学生选课情况*/
|
||||||
|
{ int main();
|
||||||
|
FILE *fp;
|
||||||
|
struct student s;
|
||||||
|
system("cls");
|
||||||
|
if((fp=fopen("student.txt","r"))==NULL)
|
||||||
|
{
|
||||||
|
printf("cannot open course!\n");
|
||||||
|
}
|
||||||
|
printf(" 学号 课程编号 课程名称 \n");
|
||||||
|
for(;!feof(fp);)
|
||||||
|
{
|
||||||
|
fscanf(fp,"%s %d %s",&s.snum,&s.cnum,&s.cname);
|
||||||
|
printf("%7s %5d %17s\n",s.snum,s.cnum,s.cname);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
main();
|
||||||
|
}
|
||||||
|
|
||||||
|
void xuanke() /*学生进行选课*/
|
||||||
|
{
|
||||||
|
int main();
|
||||||
|
FILE *fp;
|
||||||
|
struct student s;
|
||||||
|
struct course c;
|
||||||
|
system("cls");
|
||||||
|
printf("请输入你的学号以及想选的课程的编号\n");
|
||||||
|
scanf("%s %d",&s.snum,&s.cnum);
|
||||||
|
if((fp=fopen("course.txt","r"))==NULL)
|
||||||
|
{
|
||||||
|
printf("cannot open course!\n");
|
||||||
|
}
|
||||||
|
for(;!feof(fp);)
|
||||||
|
{
|
||||||
|
fscanf(fp,"%d %s %s %d %d %d %d %d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);
|
||||||
|
if(c.num==s.cnum)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
if((fp=fopen("student.txt","a+"))==NULL)
|
||||||
|
{
|
||||||
|
printf("cannot open student!\n");
|
||||||
|
}
|
||||||
|
fprintf(fp,"%s %d %s\n",s.snum,s.cnum,c.name);
|
||||||
|
fclose(fp);
|
||||||
|
main();
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
loop:
|
||||||
|
printf("\n\n");
|
||||||
|
printf(" 学生选修课程系统 \n\n\n");
|
||||||
|
printf(" ******** 1.课程信息录入 ******** \n");
|
||||||
|
printf(" ******** 2.课程信息浏览 ******** \n");
|
||||||
|
printf(" ******** 3.课程信息查询 ******** \n");
|
||||||
|
printf(" ******** 4.学生选修课程统计 ******** \n");
|
||||||
|
printf(" ******** 5.选课 ******** \n");
|
||||||
|
printf(" ******** 0.退出 ******** \n");
|
||||||
|
printf("请输入你想选择的数字\n");
|
||||||
|
int x;
|
||||||
|
scanf("%d",&x);
|
||||||
|
switch(x)
|
||||||
|
{
|
||||||
|
case 1:insert();break;
|
||||||
|
case 2:browser(); break;
|
||||||
|
case 3:search(); break;
|
||||||
|
case 4:xuankeinformation(); break;
|
||||||
|
case 5:xuanke(); break;
|
||||||
|
case 0:exit(0);break;
|
||||||
|
default:printf("你的选择有错误!"); goto loop;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Binary file not shown.
Loading…
Reference in new issue