我写的C语言-学生选修课系统,但有点错,谁能帮我改正

这是一个C语言编写的简单学生选修课系统,包括输入、保存和查询功能。代码中可能存在错误,需要进行修正,如结构体成员初始化、内存分配和文件操作等。
摘要由CSDN通过智能技术生成

//7《学生选修课程系统》设计任务
//(1)输入功能:输入30名学生学号、班级、姓名、选修课名称。
//(2)设置要求:每个学生至少选修3科,总选修科目至少设置15科。
//(3)查询功能:按学号、姓名、选修课显示各选修课上课时间和地点。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedef struct subjects
{
 int num;
 char na[10];
 char teacher[20];
 char wtime[10];
 char ttime[10];
 int score;
 struct subjects *next;
}SUB;
SUB *create_form()
{
SUB *head,*tail,*p;
int num,score;
char na[10],teacher[20],wtime[10],ttime[10];
head=tail=NULL;
printf("     输入选课程信息,以6个0结束:/n");
printf("     课程代码    课名  任教老师   上课星期    上课时间    学分/n");
scanf("%d%10s%14s%10s%8s%6d",&num,&na,&teacher,&wtime,&ttime,&score);
while(num!=0)
{
 p=(SUB*)malloc(sizeof(SUB));
 p->num;
 strcpy(p->na,na);
 strcpy(p->teacher,teacher);
 strcpy(p->wtime,wtime);
 strcpy(p->ttime,ttime);
 p->score=score;
 if(head==NULL)
 head=p;
 else
 tail->next=p;
 tail=p;
 scanf("%d%s%s%s%s%d",&num,&na,&teacher,&wtime,&ttime,&score);
}
  tail->next=NULL;
  return head;
}
void savefile(SUB*head)
{
 SUB *p;
 FILE *fp;
 fp=fopen("subjects.txt","w");
 fprintf(fp,"欢迎进入东华理工大学2008-2009学年选修课系统(4-13)/n");
 fprintf(fp,"课程代码   课名   任教老师    上课星期  上课时间   学分/n");
 for(p=head;p;p->next)
 fprintf(fp,"%6d%10s%14s%10s%8s%6d",p->num,p->na,p->teacher,p->wtime,p->ttime,p->score);
 fclose(fp);
}
void prin(SUB *head)
{
 SUB *p;
 if (head==NULL)
 {
  printf("没有选修课程记录!/n");
  return;
 }
 printf("欢迎进入东华理工大学2008-2009学年选修课系统(4-13ÿ

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值