课程信息管理系统C语言程序.doc

上传人:jian****018 文档编号:8950413 上传时间:2020-04-02 格式:DOC 页数:19 大小:58KB
返回 下载 相关 举报
课程信息管理系统C语言程序.doc_第1页
第1页 / 共19页
课程信息管理系统C语言程序.doc_第2页
第2页 / 共19页
课程信息管理系统C语言程序.doc_第3页
第3页 / 共19页
点击查看更多>>
资源描述
#include #include#include typedef struct char num15; char name20; char credit10; char clas20; char teacher20; student; student pe80; int menu_select() char c; do system(cls); printf(+-+n); printf(| |n); printf(| 欢迎使用课程信息管理系统 |n); printf(| |n); printf(+-+n);printf(tt *课程信息管理系统* n); printf(tt n); printf(tt 1. 增加记录 n); printf(tt 2. 显示记录 n); printf(tt 3. 查询记录 n); printf(tt 4. 修改记录 n); printf(tt 5. 删除记录 n); printf(tt 6. 存储记录 n);printf(tt 0. 退出程序 n); printf(tt n); printf(tt请您选择(0-6):); c=getchar(); while(c6); return(c-0); int Input(student per,int n) int i=0; char sign,x10; while(sign!=n&sign!=N) printf(t课程编号:); scanf(t%s,pern+i.num); printf(t课程名称:); scanf(t%s,pern+i.name); printf(t学分:); scanf(t%s,pern+i.credit);printf(t选修课号:);scanf(t%s,pern+i.clas);printf(t任课教师:);scanf(t%s,pern+i.teacher);gets(x); printf(nt是否继续添加?(Y/N); scanf(t%c,&sign); i+; return(n+i); void Display(student per,int n) int i; printf(-n); /*格式*/ printf(课程编号 课程名称 学分 选修课号 任课教师 n); printf(-n); for(i=1;i1&i%10=0) printf(t-n); printf(t); system(pause); printf(t-n); printf(-n);system(pause); int Delete_a_record(student per,int n) /删除学生记录函数 char s20; int i=0,j; printf(t请输入想删除记录中的课程编号:); scanf(%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t系统中没有此科目!n); return(n); for(j=i;jn-1;j+) strcpy(perj.num,perj+1.num); strcpy(perj.name,perj+1.name); strcpy(perj.credit,perj+1.credit);strcpy(perj. clas,perj+1. clas);strcpy(perj. teacher,perj+1. teacher); printf(ttt已经成功删除!n); return(n-1); void Query_a_record(student per,int n) /查询学生记录 int m;printf(tn请选择查询方式:n); printf(t-n); printf(t1-课 程 编 号n); printf(t2-课 程 名 称n); printf(t3-返 回 n); printf(t-n); printf(请选择:); scanf(%d,&m); while(m!=1&m!=2&m!=3) printf(输入错误,请重新选择:);scanf(%d,&m);if(m=1) / 按课程编号查询char s20; int i=0; printf(t请输入想查询的课程编号:); scanf(t%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t系统中没有这个科目!n); return; printf(t课程名称: %sn,peri.name); printf(t学分: %sn,peri. credit); printf(t选修课号: %sn,peri.clas); printf(t任课教师: %sn,peri.teacher); ;if(m=2) /按课程名称查询char s20; int i=0; printf(t请输入想查询的课程名称:); scanf(t%s,s); while(strcmp(peri.name,s)!=0&in) i+; if(i=n) printf(t系统中没有该科目!n); return; printf(t课程编号 %sn,peri.num); printf(t学分: %sn,peri.credit); printf(t选修课号: %sn,peri.clas); printf(t任课教师: %sn,peri.teacher); ;void Change(student per,int n) /修改课程记录char s20; int i=0; printf(t请输入想修改的课程信息管理系统中的课程编号:); scanf(%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t系统中没有该科目!n); return; printf(t课程编号:); scanf(t%s,peri.num); printf(t课程名称:); scanf(t%s,peri.name); printf(t学分:); scanf(t%s,peri.credit);printf(t选修课号:);scanf(t%s,peri.clas);printf(t任课教师:);scanf(t%s,peri.teacher);printf(t修改成功!);void WritetoText(student per,int n) int i=0; FILE *fp; /定义文件指针 char filenum20; /定义文件名 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%sn,peri-1.num,peri-1.name,peri-1.credit,peri-1.clas,peri-1.teacher); i+; fprintf(fp,-n);fprintf(fp,*共有%d条记录*n,n); fclose(fp); /*关闭文件*/ printf(成功保存!n); int main() int n=0; for(;) switch(menu_select() case 1: printf(nt请增加记录到系统n);n=Input(pe,n); break; case 2: printf(nttt 课程信息管理系统记录表n); Display(pe,n); break;case 5: printf(nt从系统中删除记录n); n=Delete_a_record(pe,n); printf(t); system(pause); break; case 3: printf(nt在系统中查找记录n); Query_a_record(pe,n); printf(t); system(pause); break;case 4: printf(nt修改系统中的记录n); Change(pe,n); printf(t); system(pause); break; case 6: printf(nt保存功能n); WritetoText(pe,n); printf(t); system(pause); break; case 0: printf(ntt谢谢您的使用,欢迎下次再来!再见!n); printf(ntt); system(pause); exit(0); return 0;#include#includestruct linkchar cno10,cname10,cforecourse10,cunitno10,cunitname10;int ia;struct link *next;struct link *head;int menu()int ii;printf(please choose a number: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); return ii;struct link create()int icount,ij=1;struct link *p,*new;while(1)if(icount) printf(输入头结点);new=(struct link *)malloc(sizeof(struct link); printf(input the course no:n); scanf(%s,new-cno); printf(input the course :n); scanf(%s,new-cname); printf(input the forecourse :n); scanf(%s,new-cforecourse); printf(input the course grade:n); scanf(%d,&new-ia); printf(input the unit no. grade:n); scanf(%s,new-cunitno); printf(input the unit name:n); scanf(%s,new-cunitname); new-next=NULL; if(icount) head=new; p=new; printf(the fist add success:n); getchar(); getchar(); icount=0; else p-next=new; printf(n); p=p-next; printf(add success:n); printf(n); getchar(); printf(input 0 to end input:n);scanf(%d,&ij); if(ij=0)break;struct link search()struct link *p;char ckeyname10;p=head;printf(please input the name you want to view:n);scanf(%s,ckeyname);while(strcmp(ckeyname,p-cname)!=0&p-next!=NULL)p=p-next;if(p-next=NULL)printf(no this position:n);elseprintf(found it:n);printf(%s,%s,%s,%d,%s,%s,p-cno,p-cname,p-cforecourse,p-ia,p-cunitno,p-cunitname);struct link delete()struct link *p,*q,*r;char ckeyname10;r=head;p=r-next;q=p-next;printf(please input the name you want to del: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(no this position:n);elseprintf(found it: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(delete success:n);getchar(); getchar();void output()struct link *p,*q;p=head;p=p-next;q=head;if(q-next=NULL) printf(no record:n);elsewhile(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);void quit()exit(0);void main()int ia=1;head=NULL;while(ia!=5)ia=menu();switch(ia)case 1:create();break;case 2:search();break; case 3:delete();break; case 4:output();break;case 5:quit();break;default:printf(input wrong:n);#include #include#include typedef struct char num15; char name20; char credit10; char clas20; char teacher20; student; student pe80; int menu_select() char c; 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(tt请您选择(0-6):); c=getchar(); while(c6); return(c-0); int Input(student per,int n) int i=0; char sign,x10; while(sign!=n&sign!=N) printf(t课程编号:); scanf(t%s,pern+i.num); printf(t课程名称:); scanf(t%s,pern+i.name); printf(t学分:); scanf(t%s,pern+i.credit);printf(t选修课号:);scanf(t%s,pern+i.clas);printf(t任课教师:);scanf(t%s,pern+i.teacher);gets(x); printf(nt是否继续添加?(Y/N); scanf(t%c,&sign); i+; return(n+i); void Display(student per,int n) int i; printf(-n); /*格式*/ printf(课程编号 课程名称 学分 选修课号 任课教师 n); printf(-n); for(i=1;i1&i%10=0) printf(t-n); printf(t); system(pause); printf(t-n); printf(-n);system(pause); int Delete_a_record(student per,int n) /删除学生记录函数 char s20; int i=0,j; printf(t请输入想删除记录中的课程编号:); scanf(%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t系统中没有此科目!n); return(n); for(j=i;jn-1;j+) strcpy(perj.num,perj+1.num); strcpy(perj.name,perj+1.name); strcpy(perj.credit,perj+1.credit);strcpy(perj. clas,perj+1. clas);strcpy(perj. teacher,perj+1. teacher); printf(ttt已经成功删除!n); return(n-1); void Query_a_record(student per,int n) /查询学生记录 int m;printf(tn请选择查询方式:n); printf(n); printf(1-课程编号n); printf(2-课程名称n); printf(3-返 回n); printf(n); printf(请选择:); scanf(%d,&m); while(m!=1&m!=2&m!=3) printf(输入错误,请重新选择:);scanf(%d,&m);if(m=1) / 按课程编号查询char s20; int i=0; printf(t请输入想查询的课程编号:); scanf(t%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t系统中没有这个科目!n); return; printf(t课程名称: %sn,peri.name); printf(t学分: %sn,peri. credit); printf(t选修课号: %sn,peri.clas); printf(t任课教师: %sn,peri.teacher); ;if(m=2) /按课程名称查询char s20; int i=0; printf(t请输入想查询的课程名称:); scanf(t%s,s); while(strcmp(peri.name,s)!=0&in) i+; if(i=n) printf(t系统中没有该科目!n); return; printf(t课程编号 %sn,peri.num); printf(t学分: %sn,peri.credit); printf(t选修课号: %sn,peri.clas); printf(t任课教师: %sn,peri.teacher); ;void Change(student per,int n) /修改课程记录char s20; int i=0; printf(t请输入想修改的课程信息管理系统中的课程编号:); scanf(%s,s); while(strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t系统中没有该科目!n); return; printf(t课程编号:); scanf(t%s,peri.num); printf(t课程名称:); scanf(t%s,peri.name); printf(t学分:); scanf(t%s,peri.credit);printf(t选修课号:);scanf(t%s,peri.clas);printf(t任课教师:);scanf(t%s,peri.teacher);printf(t修改成功!);void WritetoText(student per,int n) int i=0; FILE *fp; /定义文件指针 char filenum20; /定义文件名 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%sn,peri-1.num,peri-1.name,peri-1.credit,peri-1.clas,peri-1.teacher); i+; fprintf(fp,-n);fprintf(fp,*共有%d条记录*n,n); fclose(fp); /*关闭文件*/ printf(成功保存!n); int main() int n=0; for(;) switch(menu_select() case 1: printf(nt请增加记录到系统n);n=Input(pe,n); break; case 2: printf(nttt 课程信息管理系统记录表n); Display(pe,n); break;case 5: printf(nt从系统中删除记录n); n=Delete_a_record(pe,n); printf(t); system(pause); break; case 3: printf(nt在系统中查找记录n); Query_a_record(pe,n); printf(t); system(pause); break;case 4: printf(nt修改系统中的记录n); Change(pe,n); printf(t); system(pause); break; case 6: printf(nt保存功能n); WritetoText(pe,n); printf(t); system(pause); break; case 0: printf(ntt谢谢您的使用,再见。n); printf(ntt); system(pause); exit(0); return 0;
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!