课程信息管理系统C语言程序Word下载.docx
《课程信息管理系统C语言程序Word下载.docx》由会员分享,可在线阅读,更多相关《课程信息管理系统C语言程序Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
\t\t│0.退出程序│\n"
\t\t└───────┘\n"
\t\t请您选择(0-6):
"
c=getchar();
}while(c<
'
0'
||c>
6'
return(c-'
}
intInput(studentper[],intn)
{
inti=0;
charsign,x[10];
while(sign!
='
n'
&
sign!
N'
)
\t课程编号:
scanf("
\t%s"
per[n+i].num);
\t课程名称:
per[n+i].name);
\t学分:
per[n+i].credit);
\t选修课号:
per[n+i].clas);
\t任课教师:
per[n+i].teacher);
gets(x);
\n\t是否继续添加?
(Y/N)"
\t%c"
&
sign);
i++;
return(n+i);
}
voidDisplay(studentper[],intn)
{
inti;
-------------------------------------------------------------------------------\n"
/*格式*/
课程编号课程名称学分选修课号任课教师\n"
for(i=1;
i<
n+1;
i++)
%-12s%-12s%-15s%-18s%s\n"
per[i-1].num,per[i-1].name,per[i-1].credit,per[i-1].clas,per[i-1].teacher);
if(i>
1&
i%10==0)
{
printf("
\t-----------------------------------------\n"
\t"
system("
pause"
}
------------------------------------------------------------------------------\n"
system("
intDelete_a_record(studentper[],intn)um,s)!
=0&
n)i++;
if(i==n)
{
\t系统中没有此科目!
\n"
return(n);
for(j=i;
j<
n-1;
j++)
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].credit,per[j+1].credit);
strcpy(per[j].clas,per[j+1].clas);
strcpy(per[j].teacher,per[j+1].teacher);
\t\t\t已经成功删除!
return(n-1);
voidQuery_a_record(studentper[],intn)um,s)!
if(i==n)
\t系统中没有这个科目!
return;
%s\n"
per[i].name);
per[i].credit);
per[i].clas);
per[i].teacher);
};
if(m==2)ame,s)!
\t系统中没有该科目!
\t课程编号%s\n"
per[i].num);
per[i].credit);
}
voidChange(studentper[],intn)um,s)!
return;
scanf("
\t修改成功!
voidWritetoText(studentper[],intn)
FILE*fp;
um,per[i-1].name,per[i-1].credit,per[i-1].clas,per[i-1].teacher);
}
fprintf(fp,"
------------------------------------------------------------------------------------------\n"
***************************************共有%d条记录****************************************\n"
n);
fclose(fp);
/*关闭文件*/
成功保存!
!
intmain()
intn=0;
for(;
;
switch(menu_select())
{
case1:
\n\t请增加记录到系统\n"
n=Input(pe,n);
break;
case2:
\n\t\t\t课程信息管理系统记录表\n"
Display(pe,n);
case5:
\n\t从系统中删除记录\n"
n=Delete_a_record(pe,n);
case3:
\n\t在系统中查找记录\n"
Query_a_record(pe,n);
case4:
\n\t修改系统中的记录\n"
Change(pe,n);
case6:
\n\t保存功能\n"
WritetoText(pe,n);
case0:
\n\t\t谢谢您的使用,欢迎下次再来!
再见!
\n\t\t"
exit(0);
return0;
structlink
charcno[10],cname[10],cforecourse[10],cunitno[10],cunitname[10];
intia;
structlink*next;
};
structlink*head;
intmenu()
intii;
pleasechooseanumber:
******************************************:
1:
create:
2:
search:
3:
delete:
4:
view:
5:
quit:
%d"
ii);
returnii;
structlinkcreate()
inticount,ij=1;
structlink*p,*new;
while
(1)
if(icount)
输入头结点"
}
new=(structlink*)malloc(sizeof(structlink));
inputthecourseno:
%s"
new->
cno);
inputthecourse:
cname);
inputtheforecourse:
cforecourse);
inputthecoursegrade:
new->
ia);
inputtheunitno.grade:
cunitno);
inputtheunitname:
cunitname);
new->
next=NULL;
if(icount)
head=new;
p=new;
thefistaddsuccess:
getchar();
icount=0;
else
p->
next=new;
p=p->
next;
addsuccess:
getchar();
input0toendinput:
scanf("
ij);
if(ij==0)
break;
structlinksearch()
structlink*p;
charckeyname[10];
p=head;
pleaseinputthenameyouwanttoview:
ckeyname);
while(strcmp(ckeyname,p->
cname)!
p->
next!
=NULL)
p=p->
if(p->
next==NULL)
nothisposition:
else
foundit:
%s,%s,%s,%d,%s,%s"
p->
cno,p->
cname,p->
cforecourse,p->
ia,p->
cunitno,p->
structlinkdelete()
structlink*p,*q,*r;
r=head;
p=r->
q=p->
pleaseinputthenameyouwanttodel:
r->
r=r->
q=q->
if(r->
r->
next=p->
deletesuccess:
getchar();
getchar();
voidoutput()
structlink*p,*q;
p=p->
q=head;
if(q->
norecord:
while(p->
next)
voidquit()
exit(0);
voidmain()
intia=1;
head=NULL;
while(ia!
=5)
ia=menu();
switch(ia)
case1:
create();
break;
case2:
search();
delete();
case4:
output();
case5:
quit();
default:
printf("
inputwrong:
欢迎使用课程信息管理系统\n"
课程信息管理系统\n"
1.增加记录\n"
2.显示记录\n"
3.查询记录\n"
4.修改记录\n"
5.删除记录\n"
6.存储记录\n"
0.退出程序\n"
intDelete_a_record(studentper[