学生选修课程系统设计—C语言课程设计(5)

2019-03-28 18:25

C语言课程设计报告

[程序]

void *del() //删除课程- { SUB *p1,*p2; char ch,ch1; int num; while(ch!='0') { printf(\输入想要删除的课程编号:[ ]\\b\\b\\b\\b\\b\ scanf(\ if(head->num==num) { p2=head; head=head->next; free(p2); } if(head==NULL) return NULL; p1=head; p2=head->next; while(p2) { if(p2->num==num) { p1->next=p2->next; free(p2); } else p1=p2; p2=p1->next; } printf(\继续删除请按回车\\n\ printf(\结束删除课程按 0: [ ]\\b\\b\ ch1=getchar(); //将回车键赋给CH1,否则num输完后再输入的回车键会赋给CH,因此用CH1填补。

ch=getchar(); } return head; system(\}

20

C语言课程设计报告

) 选修课程模块

选修课程模块采用插入链表的操作:

选新课程 printf(\输入要选修的课程的编号\\n\printf(\如果确认输入完要选修的课程的编号,请输入0\ 程序对输入的信息进行查找判断 printf(“选修成功! \\n\printf(\以上信息全部保存在'my_sub.txt'中\\n\

[程序]

void choose() //选新课程 { SUB *p,*q;

21

(十

C语言课程设计报告

int a[5]; int num,total=0,i=0,j; printf(\输入要选修的课程的编号,编号之间以空格分开\\n\ scanf(\ printf(\如果确认输入完要选修的课程的编号,请输入0: [ ]\\b\\b\ while(num!=0) { for(p=head;p;p=p->next) if(p->num==num) { total=total+p->score; a[i]=num; i++; } scanf(\ } if(total<60) { printf(\选修总学分为%d,未达到60,选修失败!\\n\ system(\ } else {

Int FILE,fp; FILE *fp; fp=fopen(\ for(j=0;jnext) if(q->num==a[j]) fprintf(fp,\>name,q->kind,q->stime,q->ttime,q->etime,q->score,q->term); fclose(fp); printf(\选修成功!****\\n\ printf(\您选修的课程总学分为%d,课程分别为:\\n\ printf(\课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期\\n\

for(j=0;jnext) if(q->num==a[j]) printf(\

me,q->kind,q->stime,q->ttime,q->etime,q->score,q->term);

printf(\以上信息全部保存在'my_sub.txt'中\\n\ }

22

C语言课程设计报告

}

(十一) 读取文件模块

读取文件模块是用来读出文件内容,并将内容输出到内存中,当输入文件名时,就能打开指定的文件,当输入all_sub.txt时,打开所有课程信息的文件,当输入my_sub.txt时,就是浏览学生选修的课程信息。

读取文件 system(\

printf(\请输入课程信息所在的文件名称:\!feof(fp) c=fgetc(fp))=='\\n' !feof(fp) newSub=(SUB*)malloc(sizeof(SUB)); fscanf(fp,&newSub->num,newSub->name,newSub->kind,&newSub->stime,&newSub->ttime,&newSub->etime,&newSub->score,&newSub->term); myInsert(newSub); fclose(fp);

[程序]

void readfile() //阅读文件 {

23

C语言课程设计报告

void *myInsert(SUB*);

SUB *newSub; //新课程 int num,stime,ttime,etime; int score,term;

char c,name[20],kind[10],fname[20]; FILE *fp;

fp=fopen(\ while(!feof(fp)) {

newSub=(SUB*)malloc(sizeof(SUB));

fscanf(fp,\->kind,&newSub->stime,&newSub->ttime,&newSub->etime,&newSub->score,&newSub->term);

myInsert(newSub); }

fclose(fp);

}(十二) 保存文件模块

保存文件模块共分为两个子程序,分别是将修改的信息保存到all_sub.txt和my_sub.txt文件中: [程序

void savefile() //保存文件 {SUB *p;

FILE *fp;fp=fopen(\if(fp==NULL)exit(0);

printf(\课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期\\n\for(p=head;p;p=p->next)

fprintf(fp,\->stime,p->ttime,p->etime,p->score,p->term); fclose(fp);

printf(\创建后的信息已放入'2.txt'文件中\\n\system(\

void savefile1() //保存文件 {

SUB *p; FILE *fp;

fp=fopen(\if(fp==NULL)exit(0); for(p=head;p;p=p->next)

fprintf(fp,\->stime,p->ttime,p->etime,p->score,p->term); fclose(fp);

24


学生选修课程系统设计—C语言课程设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ATM基本原理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: