赞
踩
话不多说,先上代码
#include <stdio.h> #include <string.h> #include<malloc.h> #include <stdlib.h> //用于system语句的声明 void prin1(); //声明浏览学生所有选修课程函数 void choose(); //声明学生选课函数 typedef struct subjects //定义结构体叫作SUB,在后面就可以直接使用 { int num; //课程编号 char name[30]; //课程名称 char kind[20]; //课程性质 int stime; //总学时 int ttime; //授课学时 int etime; //实验或上机学时 int score; //学分 int term; //开课学期 struct subjects *next; }SUB; SUB *head=NULL; SUB *create_form() //创建链表 { SUB *head,*tail,*p; int num,stime,ttime; int etime,score,term; char name[20],kind[10]; int size=sizeof(SUB); head=tail=NULL; printf("输入选修课程信息:\n"); scanf("%d%s%s%d%d%d%d%d",&num,name,kind,&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("%d%s%s%d%d%d%d%d",&num,name,kind,&stime,&ttime,&etime,&score,&term); } tail->next=NULL; return head; } void savefile() //保存管理员文件 { SUB *p; FILE *fp; fp=fopen("2.txt","w"); if(fp==NULL)exit(0); printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期\n"); for(p=head;p;p=p->next) fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); fclose(fp); printf("创建后的信息已放入'2.txt'文件中\n"); system("pause"); } void savefile1() //保存学生文件 { SUB *p; FILE *fp; //声明fp是指针,用来指向FILE类型的对象,fp是指向文件结构体的指针变 fp=fopen("3.txt","w"); if(fp==NULL)exit(0); for(p=head;p;p=p->next) fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); fclose(fp); printf("创建后的信息已放入'3.txt'文件中\n"); system("pause"); } void readfile() //阅读文件 { void *myInsert(SUB*); SUB *newSub; //新课程 int num,stime,ttime,etime; int score,term; char c,name[20],kind[10],fname[20]; FILE *fp; //声明fp是指针,用来指向FILE类型的对象,fp是指向文件结构体的指针变 fp=fopen("2.txt","r"); while(!feof(fp))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。