学生选课管理系统c语言程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include〈stdio。h>

#include〈stdlib.h>

#include〈string。h>

int N1,N2;

struct couse *head1;

structstudent* head2;

struct couse ﻩ//课程信息结构体

int num1;ﻩﻩﻩ//课程编号

charname1[20];ﻩ//课程名称

char type[20];ﻩ//课程性质

inthour;ﻩ//总学时

ﻩintteach;ﻩﻩ//上课学时

ﻩintexp;ﻩﻩ//实验上机学时

int credit;ﻩﻩﻩ//学分

ﻩint semester; ﻩ//开课学期

int nelepeo;ﻩ//课程已选人数

ﻩintMelepeo;//课程上限

struct couse *next;

};

struct studentﻩﻩ//学生信息结构体

{

int num2;ﻩﻩﻩﻩ//学号

char name2[20];ﻩ//姓名

intnelenum[50];ﻩ//已选课程编号

char nelename[10][20];ﻩ//已选名称

int nelen; //已选课程数量

ﻩint score;//总学分

ﻩintgainscore; //已获得的学分

struct student *next;

};

void manger();

void student();

void managementc();

voidmanagements();

void manage();

void main();

voidintoc() //存储课程信息

FILE *fp;

struct couse *p;

char filepath[30];

ﻩprintf(”\t\t\t*****************************\n”);

printf("\n\t\t\t\t欢迎使用此系统!\n”);

printf(”\t\t\t*****************************\n");

ﻩprintf("输入路径:");

getchar();

ﻩgets(filepath);

ﻩif((fp=fopen(filepath,”w"))==NULL)

ﻩ{

ﻩﻩprintf("无法储存!”);

exit(0);

}

p=head1;

ﻩwhile(p!=NULL)

{

fprintf(fp,”%d%s%s%d%d%d%d%d%d%d\n",p-〉num1,p->name1,p->t ype,p->hour,p—>teach,p->exp,p->credit,p—〉semester,p-〉nelepeo,p->Melepeo);

ﻩp=p-〉next;

ﻩ}

fclose(fp);

printf("已储存入%s文件!\n”,filepath);

voidkeyboardc()ﻩﻩﻩﻩﻩ//录入课程子函数(从键盘录入)

{

structcouse*p1,*p2;

N1=0;

p1=p2=(structcouse*) malloc(sizeof(struct couse));

printf("\t\t\t*****************************\n");

printf(”\n\t\t\t\t欢迎使用此系统!\n”);

printf(”\t\t\t*****************************\n");

printf(”编号\\名称\\性质\\总学时\\上课学时\\实验上机学时\\学分\\开课学期\\已选人数\\课程上限\n");

scanf(”%d%s %s %d %d %d%d %d%d %d",&p1—>num1,p1—〉name1,&p1—>type,&p1—>hour,&p1—〉teach,&p1—〉exp,&p1-〉credit,&p1—>semester,&p1-〉nelepeo,&p1—>Melepeo);

head1=NULL;

while(p1-〉num1!=0)

{

N1=N1+1;

if(N1==1)head1=p1;

else p2->next=p1;ﻩﻩﻩ//对这段语句有疑问

p2=p1;

p1=(structcouse * )malloc(sizeof(struct couse));

sca nf(”%d %s %s%d %d %d%d%d%d %d”,&p1—>num1,p1—〉name 1,p1->type,&p1—>hour,&p1—>teach,&p1-〉exp,&p1-〉credit,&p1->seme ster,&p1-〉nelepeo,&p1->Melepeo);

p2-〉next=NULL;

}

void filec()ﻩﻩﻩﻩﻩﻩﻩ//录入键盘子函数(从文件录入)

{

FILE* fp;

charfilepath[20];

structcouse*p1,*p2;

N1=0;

ﻩprintf(”\t\t\t*****************************\n");

printf(”\n\t\t\t\t欢迎使用此系统!\n”);

printf(”\t\t\t*****************************\n”);

printf(”输入要读入的文件路径:");

getchar();

gets(filepath);

if((fp=fopen(filepath,”rb"))==NULL)

printf(”找不到%s文件!\n",filepath);

exit(0);

}

p1=p2=(struct couse*)malloc(sizeof(structcouse));

fscanf(fp,”%d%s%s%d%d%d%d%d%d%d”,&p1->num1,p1-〉name1,p1—>typ e,&p1—>hour,&p1—>teach,&p1—〉exp,&p1-〉credit,&p1—〉semester,&p 1-〉nelepeo,&p1—>Melepeo);

head1=NULL;

while(!feof(fp))ﻩﻩﻩﻩﻩ

N1=N1+1;

if(N1==1)head1=p1;

else p2->next=p1;

p2=p1;

p1=(struct couse * )malloc(sizeof(struct couse));

fscanf(fp,"%d%s%s%d%d%d%d%d%d%d",&p1—>num1,p1-〉n ame1,p1-〉type,&p1—〉hour,&p1-〉teach,&p1-〉exp,&p1—〉credit,&p1->seme ster,&p1—>nelepeo,&p1-〉Melepeo);

}

p2->next=NULL;

void inputc()ﻩﻩﻩﻩﻩﻩ//录入课程主函数

{

int i;

ﻩprintf("\t\t\t*****************************\n”);

printf("\n\t\t\t\t欢迎使用此系统!\n”);

printf("\t\t\t*****************************\n");

相关文档
最新文档