课程信息管理系统C语言程序_第1页
课程信息管理系统C语言程序_第2页
课程信息管理系统C语言程序_第3页
课程信息管理系统C语言程序_第4页
课程信息管理系统C语言程序_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<stdio.h> #include<stdlib.h>#include<string.h> 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("|

2、 欢迎使用课程信息管理系统 |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

3、"); printf("tt 6. 存储记录 n");printf("tt 0. 退出程序 n"); printf("tt n"); printf("tt请您选择(0-6):"); c=getchar(); while(c<'0'|c>'6'); return(c-'0'); int Input(student per,int n) int i=0; char sign,x10; while(sign!='n'&&

4、sign!='N') printf("t课程编号:"); scanf("t%s",pern+i.num); printf("t课程名称:"); scanf("t%s",pern+); printf("t学分:"); scanf("t%s",pern+i.credit);printf("t选修课号:");scanf("t%s",pern+i.clas);printf("t任课教师:");sc

5、anf("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;i<n+1;i+) printf(

6、"%-12s%-12s%-15s%-18s%sn",peri-1.num,,peri-1.credit,peri-1.clas,peri-1.teacher); if(i>1&&i%10=0) printf("t-n"); printf("t"); system("pause"); printf("t-n"); printf("-n");system("pause"); int Delete_a_record(s

7、tudent per,int n) /删除学生记录函数 char s20; int i=0,j; printf("t请输入想删除记录中的课程编号:"); scanf("%s",s); while(strcmp(peri.num,s)!=0&&i<n) i+; if(i=n) printf("t系统中没有此科目!n"); return(n); for(j=i;j<n-1;j+) strcpy(perj.num,perj+1.num); strcpy(,perj+1.name); strcpy

8、(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(&quo

9、t;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请输入想查询的课程编号:&quo

10、t;); scanf("t%s",s); while(strcmp(peri.num,s)!=0&&i<n) i+; if(i=n) printf("t系统中没有这个科目!n"); return; printf("t课程名称: %sn",); printf("t学分: %sn",peri. credit); printf("t选修课号: %sn",peri.clas); printf("t任课教师: %sn",peri.teacher)

11、; ;if(m=2) /按课程名称查询char s20; int i=0; printf("t请输入想查询的课程名称:"); scanf("t%s",s); while(strcmp(,s)!=0&&i<n) i+; if(i=n) printf("t系统中没有该科目!n"); return; printf("t课程编号 %sn",peri.num); printf("t学分: %sn",peri.credit); printf("t选修课号:

12、%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&&i<n) i+; if(i=n) printf("t系统中没有该科目!n"); return; printf(

13、"t课程编号:"); scanf("t%s",peri.num); printf("t课程名称:"); scanf("t%s",); printf("t学分:"); scanf("t%s",peri.credit);printf("t选修课号:");scanf("t%s",peri.clas);printf("t任课教师:");scanf("t%s",peri.teacher);

14、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("p

15、ause"); 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.credit,peri-1.clas,peri-1.teacher); i+; fprintf(fp,"-n");fprint

16、f(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");

17、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&qu

18、ot;); 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<stdio.h>#include<string.h>struct

19、 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("

20、;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("输入头结点&quo

21、t;);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); print

22、f("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; pr

23、intf("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

24、 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:

25、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",cke

26、yname);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->cunit

27、no,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->cfor

28、ecourse,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();bre

29、ak;case 2:search();break; case 3:delete();break; case 4:output();break;case 5:quit();break;default:printf("input wrong:n");#include<stdio.h> #include<stdlib.h>#include<string.h> typedef struct char num15; char name20; char credit10; char clas20; char teacher20; student; s

30、tudent 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.

31、显示记录 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(c<'0'|c>'6'); return(c-'

32、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+); printf("t学分:"); scanf("t%s",pern+i.cred

33、it);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"); /*格式*/ pri

34、ntf("课程编号 课程名称 学分 选修课号 任课教师 n"); printf("-n"); for(i=1;i<n+1;i+) printf("%-12s%-12s%-15s%-18s%sn",peri-1.num,,peri-1.credit,peri-1.clas,peri-1.teacher); if(i>1&&i%10=0) printf("t-n"); printf("t"); system("pause"); p

35、rintf("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&&i<n) i+; if(i=n) printf("t系统中没有此科目!n"); ret

36、urn(n); for(j=i;j<n-1;j+) strcpy(perj.num,perj+1.num); strcpy(,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(

37、"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

38、",&m);if(m=1) / 按课程编号查询char s20; int i=0; printf("t请输入想查询的课程编号:"); scanf("t%s",s); while(strcmp(peri.num,s)!=0&&i<n) i+; if(i=n) printf("t系统中没有这个科目!n"); return; printf("t课程名称: %sn",); printf("t学分: %sn",peri. credit); prin

39、tf("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(,s)!=0&&i<n) i+; if(i=n) printf("t系统中没有该科目!n"); return; printf("t课程编号 %s

40、n",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)

41、!=0&&i<n) i+; if(i=n) printf("t系统中没有该科目!n"); return; printf("t课程编号:"); scanf("t%s",peri.num); printf("t课程名称:"); scanf("t%s",); 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,in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论