算法与数据结构课程设计说明书(4)

2020-02-20 23:08

&stime,&ttime,&etime,&score,&term); while(num!=0) {

p=(SUB *)malloc(size); p->num=num;

strcpy(p->name,name); strcpy(p->kind,kind); p->stime=stime; p->ttime=ttime; p->etime=etime; p->score=score; p->term=term; if(head==NULL) head=p; else

tail->next=p; tail=p;

scanf(\

kind,&stime,&ttime,&etime,&score,&term); }

tail->next=NULL; return head; }

void savefile() //保存文件 {

SUB *p; FILE *fp;

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

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

fprintf(fp,\

p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); fclose(fp);

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

void savefile1() //保存文件 {

SUB *p; FILE *fp;

fp=fopen(\

16

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

fprintf(fp,\

p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); fclose(fp);

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

void readfile() //阅读文件 {

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

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

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

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

fscanf(fp,\nd,

&newSub->stime,&newSub->ttime,&newSub->etime,&newSub->score,&newSub->term);

myInsert(newSub); }

fclose(fp); }

void prin() //浏览所有课程 {

SUB *ptr; head=NULL; readfile(); if(head==NULL) {

printf(\ return; }

printf(\课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期\\n\

for(ptr=head;ptr;ptr=ptr->next)

17

{

printf(\

ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term); }

system(\}

void prin1() //浏览所有选修课程 {

SUB *ptr; FILE *fp;

if((fp=fopen(\ {

printf(\ choose(); }

printf(\课程编号 课程名称 课程性质 总学时 授课学时 实践或上机学时 学分 开课学期\ printf(\ while(!feof(fp)) {

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

fscanf(fp,\

&ptr->stime,&ptr->ttime,&ptr->etime,&ptr->score,&ptr->term);

printf(\

ptr->kind,ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term); }

fclose(fp);

system(\}

void *myInsert( SUB *subj) //链表插入操作 {

SUB *ptr,*ptr2; ptr=subj;

if(head==NULL) {

head=ptr;

head->next=NULL; } else {

for(ptr2=head;ptr2;ptr2=ptr2->next)

18

if(ptr2->next==NULL) {

ptr2->next=subj; subj->next=NULL; break; } }

return head; }

void *insert()//插入课程信息 {

SUB *ptr,*subj;

int size=sizeof(SUB); char ch,ch1; while(ch!='0') {

subj=(SUB *)malloc(size); ptr=subj;

printf(\输入要插入的课程信息:\\n\

printf(\请输入课程编号:\ printf(\请输入课程名称:\ printf(\请输入课程性质:\ printf(\请输入总学时:\ printf(\请输入授课学时:\

printf(\请输入实践或上机学时:\ printf(\请输入学分:\ printf(\请输入开课学期:\ myInsert(subj);

printf(\添加完毕,新信息存入文件中\\n\ printf(\继续插入请按回车\\n\

printf(\结束添加课程按 0: [ ]\\b\\b\

ch1=getchar(); //将回车键赋给CH1,否则subj->term输完后输入的回车键会赋给CH,因此用CH1填补。 ch=getchar(); }

return head; }

void *del() //删除课程 {

SUB *p1,*p2; char ch,ch1; int num;

while(ch!='0') {

19

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();

printf(\删除完毕,新信息存入文件中\\n\ system(\ }

return head;

system(\}

void choose()//选新课程--学生选课函数 {

SUB *p,*q; int a[5];

int num,total=0,i=0,j;

printf(\输入要选修的课程的编号,编号之间以空格分开\\n\ scanf(\

printf(\如果确认输入完要选修的课程的编号,请输入0: [ ]\\b\\b\ while(num!=0) {

20


算法与数据结构课程设计说明书(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:测控111 毕业论文最终版 - 图文

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

马上注册会员

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