学生选课系统C语言课程设计文档格式.docx
《学生选课系统C语言课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《学生选课系统C语言课程设计文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
{
intnum;
/*课程编号*/
charname[20];
/*课程名称*/
charkind[10];
/*课程性质*/
intstime;
/*总学时*/
intttime;
/*授课学学时*/
intetime;
/*实验或上机学时*/
floatscore;
/*学分*/
intterm;
/*开课学时*/
}x[N];
intsize1,size2;
voidnewbuild()/*新建课程信息函数*/
FILE*fp;
inti;
fp=fopen("
xk.txt"
"
wb"
);
/*打开文件并判断是否打开*/
for(i=0;
i<
size1;
i++)/*写入文件并判断是否写入*/
if(fwrite(&
x[i],sizeof(structxkxt),1,fp)!
=1)
{printf("
\n文件写入错误\n"
exit(0);
}
else
{if(i==0)
\n你输入的内容为:
\n"
printf("
\n*课程编号*课程名称*课程性质*总学时*授课学学时*实验或上机学时*学分*开课学时*\n"
%5d%10s%8s%8d%10d%14d%9.1f%8d\n"
x[i].num,
x[i].name,x[i].kind,x[i].stime,x[i].ttime,
x[i].etime,x[i].score,x[i].term);
fclose(fp);
}
voidadd()/*添加课程信息函数*/
if((fp=fopen("
ab"
))==NULL)/*打开文件并判断是否打开*/
{printf("
\n不能打开此文件\n"
exit(0);
}
size2;
voidsearch()/*查找课程信息函数*/
{FILE*fp;
inti,n;
intnum;
charname[20];
charkind[10];
if((fp=fopen("
rb"
{printf("
printf("
\n全部内容为:
for(i=0;
fread(&
=0;
i++)/*写入文件并在屏幕输出*/
x[i].name,x[i].kind,x[i].stime,x[i].ttime,
x[i].etime,x[i].score,x[i].term);
\n请输入你要按哪个类型查找:
1,课程编号;
2,课程名称;
3,课程性质。
do/*根据类型查找课程*/
{scanf("
%d"
&
n);
switch(n)
{case1:
\n请输入课程编号:
scanf("
num);
for(i=0;
20;
i++)
if(num==x[i].num)
{printf("
\n你要查找的课程信息为:
printf("
break;
}
case2:
\n请输入课程名称:
%s"
name);
for(i=0;
if(strcmp(name,x[i].name)==0)
case3:
\n请输入课程性质:
kind);
if(strcmp(kind,x[i].kind)==0)
default:
\n输入错误,请重新输入:
while(n<
1||n>
3);
/*实现重新输入的功能*/
if(i==20)
printf("
\n无法找到所对应的课程,请重新查找。
fclose(fp);
voidmodify()/*修改课程信息函数*/
intflag=0,size=0,n,i;
intnum[2],num1;
charname[2][20],name1[20];
charkind[2][10],kind1[10];
intstime[2];
intttime[2];
intetime[2];
floatscore[2];
intterm[2];
\n原来内容为:
i++)/*写入文件并在屏幕输出*/
\n请先按以下三种方式确定你要修改的课程:
num1);
if(num1==x[i].num)
x[i].name,x[i].kind,x[i].stime,x[i].ttime,
name1);
if(strcmp(name1,x[i].name)==0)
kind1);
if(strcmp(kind1,x[i].kind)==0)
while(n<
\n无法找到所对应的课程,请重新修改。
return;
\n请输入你要修改课程信息的编号:
\n1,课程编号;
3,课程性质;
4,总学时;
5,授课学学时;
\n6,实验或上机学时;
7,学分;
8,开课学时。
do
{if(flag)/*判断是否是重新输入*/
\n输入有误,请重新输入你要修改课程信息的编号:
scanf("
switch(n)
\n请输入要修改的课程编号:
num[0]);
\n请输入修改后的课程编号:
num[1]);
flag=1;
if(num[0]==x[i].num)
{x[i].num=num[1];
flag=0;
break;
\n请输入要修改的课程名称:
name[0]);
\n请输入修改后的课程名称:
name[1]);
if(strcmp(x[i].name,name[0])==0)
{strcpy(x[i].name,name[1]);
\n请输入要修改的课程性质:
kind[0]);
\n请输入修改后的课程性质:
kind[1]);
if(strcmp(x[i].kind,kind[0])==0)
{strcpy(x[i].kind,kind[1]);
case4:
\n请输入要修改的课程总学时:
stime[0]);
\n请输入修改后的课程总学时:
stime[1]);
if(stime[0]==x[i].stime)
{x[i].stime=stime[1];
case5:
\n请输入要修改的课程授课学学时:
ttime[0]);
\n请输入修改后的课程授课学学时:
ttime[1]);
if(ttime[0]==x[i].ttime)
{x[i].ttime=ttime[1];
case6:
\n请输入要修改的课程实验或上机学时:
etime[0]);
\n请输入修改后的课程实验或上机学时:
etime[1]);
if(etime[0]==x[i].etime)
{x[i].etime=etime[1];
case7:
\n请输入要修改的课程学分:
%f"
score[0]);
\n请输入修改后的课程学分:
score[1]);
if(score[0]==x[i].score)
{x[i].score=score[1];
case8:
\n请输入要修改的课程开课学期:
term[0]);
\n请输入修改后的课程开课学期:
term[1]);
if(term[0]==x[i].term)
{x[i].term=term[1];
while(flag);
i++)/*统计总的课程数*/
if(x[i].term)
size++;
size;
printf("
\n文件写入出错\n"
}
\n修改后的全部内容为:
*课程编号*课程名称*课程性质*总学时*授课学学时*实验或上机学时*学分*开课学时*\n"
i++)/*输出修改后的全部内容*/
voidmain()
intn,i;
{printf("
\n***************************欢迎使用学生选修课程系统***************************\n\n"
\t\t\t请输入实现功能的编号\n\t\t\t*\t1,新建;
\t*\n\t\t\t*\t2,添加;
\t*\n\t\t\t*\t3,查找;
\t*\n\t\t\t*\t4,修改;
\t*\n\t\t\t*\t0,退出。
\t*\n"
\n你选择的是:
"
switch(n)/*实现新建、添加、查找、修改功能*/
{
case0:
break;
case1:
\n请输入要输入的课程数目:
size1);
\n请输入所有课程的信息:
\n*******************************************************************************\n"
if(i)
\n请再输入下一门课的信息:
\n\n"
请输入课程编号:
x[i].num);
x[i].name);
x[i].kind);
\n请输入课程总学时:
x[i].stime);
\n请输入课程授课学学时:
x[i].ttime);
\n请输入课程实验或上机学时:
x[i].etime);
\n请输入课程学分:
x[i].score);
\n请输入课程开课学期:
x[i].term);
newbuild();
size2);
add();
search();
modify();
\n输入有误,请重新输入!
while(n);
/*实现循环输入*/
******************************谢谢使用本系统,再见******************************\n"
运行示例:
###############