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