课程信息管理系统C语言程序.docx
- 文档编号:24431626
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:27
- 大小:19.42KB
课程信息管理系统C语言程序.docx
《课程信息管理系统C语言程序.docx》由会员分享,可在线阅读,更多相关《课程信息管理系统C语言程序.docx(27页珍藏版)》请在冰豆网上搜索。
课程信息管理系统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&&i if(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&&i if(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&&i if(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&&i if(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 { charo[10],ame[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->o); printf("inputthecourse: \n"); scanf("%s",new->ame); 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->ame)! =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->o,p->ame,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->ame)! =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->o,p->ame,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->o,p->ame,p->cforecourse,p->ia,p->cunitno,p->cunitname); printf("\n"); p=p->next; } printf("%s,%s,%s,%d,%s,%s",p->o,p->ame,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.删除记录\n"); printf("6.存储记录\n"); printf("0.退出程序\n"); printf("\n"); printf("\t\t请您选择(0-6): ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 信息管理 系统 语言 程序