C语言报错,求解答,不太懂

这是我下载的别人的代码,运行不了,有人看看吗,谢谢好人,好人一生平安幸福

img

img

第一 建议你用vs调试这代码
第二 建议你贴一下代码。实际调一下才能真正解决问题,貌似是你有变量没有声明,或者就是缺头文件的问题。

#include<string.h>
#include<stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <mmsystem.h>

#pragma comment(lib, "Winmm.lib")

struct stu/定义学生类型/
{
​long int carnum;
​long int carword;
}stu[1000];

struct court/定义场地类型/
{
​int courtnum;
​int time[13];/0已预订,1未预订/
​long int stunum;
}court[6]={{0,{0,0,1,1,1,1,0,0,0,0,1,1,1},0},{0,{1,1,0,0,0,0,1,1,1,1,0,0,1},0},{0,{1,1,1,1,0,0,0,0,0,0,0,0,0},0},{0,{0,0,1,1,1,1,0,0,0,0,0,1,1},0},{0,{0,0,1,1,1,1,0,0,0,0,0,1,1},0},{0,{0,0,0,0,1,1,1,0,0,1,1,0,0},0}};

void book();
void cancel();
void Exit();
void inquiry();
void printbook();
void printcourt();
void printfall();
void printtime();
void start();
void col();
void redcol();
void greencol();
void color();
void seat();
void play_music_1();

void col(char a[10])
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE |​BACKGROUND_BLUE);
printf("%s",a);
}
void redcol(char a[10])
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_INTENSITY | FOREGROUND_RED | BACKGROUND_BLUE );
printf("%s",a);
}
void greencol(char a[10])
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_INTENSITY | FOREGROUND_GREEN | BACKGROUND_BLUE );
printf("%s",a);
}
void color(char a[10])
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE );
}

void seat(char c[30],char a[10],char b[10],char d[10],char e[10],char a1[10],int i,int j)
{
col(c);
redcol(a);
col(b);
printf(" are taken,");
greencol(d);
col(e);
printf(" are available\n");
printf("The court list is below:\n");
printf("┏━━━┳━━━┳━━━┳━━━┳━━━┓ \n");
printf("┃");printf("8-9\t");
printf("┃");printf("9-10 ");
​printf("┃");printf("10-11 ");
​printf("┃");printf("11-12 ");
​printf("┃");printf("12-13 ");
​printf("┃");
printf("\n┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");
​printf("┃");
​for(j=0;j<5;j++){
​​if(court[i].time[j]==1){
​​​a1="未预订";
​​​redcol(a1);
​​​printf("┃");
​​}
​​else{
​​​a1="已预定";
​​​greencol(a1);
​​​printf("┃");
​​}
​}

printf("\n┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");
printf("┃");printf("13-14\t");
printf("┃");printf("14-15 ");
​printf("┃");printf("15-16 ");
​printf("┃");printf("16-17 ");
​printf("┃");printf("17-18 ");
​printf("┃");
​printf("\n┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");
printf("┃");
​for(i=0,j=5;j<10;j++){
​​if(court[i].time[j]==1){
​​​a1="未预订";
​​​redcol(a1);​
​​​printf("┃");
​​}
​​else{
​​​a1="已预定";
​​​greencol(a1);​
​​​printf("┃");
​​}
​}

​printf("\n┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");
printf("┃");printf("18-19\t");
printf("┃");printf("19-20 ");
​printf("┃");printf("20-21");
​printf(" ┃ ");
​printf(" ┃");
​printf(" ┃");​
​printf("\n┣━━━╋━━━╋━━━╋━━━╋━━━┫\n");
​printf("┃");
​for(j=11;j<14;j++){
​​if(court[i].time[j]==1){
​​​a1="已预订";
​​​redcol(a1);
​​​printf("┃");
​​}
​​else{
​​​a1="未预定";
​​​greencol(a1);
​​​printf("┃");
​​}
​}
​printf(" ┃");
​printf(" ┃");

printf("\n┗━━━┻━━━┻━━━┻━━━┻━━━┛\n");
​getchar();
}

void play_music_1()
{
mciSendString("open music1.mp3 alias mymusic", NULL, 0, NULL);
mciSendString("play mymusic from 0 repeat", NULL, 0, NULL);
}

int main(void)
{
​int i;
​char c;
​system("color 37");
​/*mciSendstring("open"music.mp3"alias file",NULL,0,NULL);
​//micSendString("play file",NULL,NULL);
​//getchar();
​//Sleep(60 1000);/
​printf("\n");
printf("欢迎进入体育馆预约系统!");
​play_music_1();
​Sleep(10000); //播放时间 1000=1s//
​//close_music();
​getchar();
​system("CLS");
​while(1){
​​printf("\t\t\t1.查询空场地\n\t\t\t2.预约场地\n\t\t\t3.取消预定\n\t\t\t4.历史预约查询\n\t\t\t0.退出\n");
​​scanf("%d",&i);
​​system("CLS");
​​switch(i){
​​case 1:inquiry();break;
​​case 2:book();break;
​​case 3:cancel();break;
​​case 4:printfall();break;
​​case 0:Exit(0);
​​default:printf("error\n");
​​}
​}

}

void Exit()
{
getchar();
printf("\t\n");
printf("\n\n\t\t\t谢谢您的使用!\n");
printf("\n\t\t 欢迎下次使用!\n\n");
printf("\t
\n");
printf("\n");
getchar();
}

void printfall()
{

​int i,j;
​printf("----------------------------输出全部场地信息------------------------------------\n");
​printf("√为已预订,×为未预定\n");

​printf("场地号\t");
​printf("8-9\t9-10\t10-11\t11-12\t12-13\t13-14\t14-15\n");
​for(i=0;i<6;i++){
​​printf(" %d\t",i+1);
​​for(j=0;j<7;j++){
​​​if(court[i].time[j]==1)
​​​​printf("√\t");
​​​else
​​​​printf("×\t");
​​}
​​printf("\n");
​}
​printf("15-16\t16-17\t17-18\t18-19\t19-20\t20-21\n");
​for(i=0;i<6;i++){
​​printf(" %d\t",i+1);
​​for(j=7;j<13;j++){
​​​if(court[i].time[j]==1)
​​​​printf("√\t");
​​​else
​​​​printf("×\t");
​​}
​​printf("\n");
​}
​getchar();
​getchar();
​system("CLS");
}

void inquiry()
{
​int i;
​printf("\t\t1.按场地号显示场地预定情况\t\n\t\t2.按时间段显示场地预定情况\t\n");
​scanf("%d",&i);
​switch(i){
​case 1:printcourt();break;
​case 2:printtime();break;
​default:printf("error\n");
​}
}

void printcourt()/*按场地号显示场地预定情况 */
{

​int number;
​char s;
​char c[30]="Choose your seat please\n",a[10]=" red ",b[10]="ones",d[10]="green",e[10]=" ones";
​char a1[10];
​printf("----------------------------按场地号查询----------------------------------------\n");

​printf("\t\t请输入要预定的场地号\t\n");
​do{
​​printf("\t请输入:\t");
​​scanf("%d",&number);
​​printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
​​printf("\t\t\t***%d号地的预定情况***\n",number);

​​seat(c,a,b,d,e,a1,number,13);

​​system("color 37");
​​printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
​​printf("\n继续查询请输入y,返回请输入n。\n");
​​scanf("%s",&s);​
​​getchar();
​​system("CLS");

​}while(s=='y');
}

void printtime()/按时间段显示场地预定情况/
{

​int i,j,t1,t2,a;
​char s;

​do{
​​printf("----------------------------------按时间段查询-------------------------------------\n");
​​printf("\t\t请输入要查询的时间段\t\n\t\t例如 10,11(用逗号隔开)\n");
​​printf("\t请输入:");
​​scanf("%d,%d",&t1,&t2);
​​a=t2-t1;
​​printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
​​printf("-----------------------------%d-%d时间段可预订的场地号:-------------------------\n",t1,t2);
​​for(i=0;i<6;i++){
​​​for(j=t1-8;j<t2-8;j++)
​​​​if(court[i].time[j]==1)
​​​​​break;
​​​if(j==t2-8)
​​​​​printf("%d号\t",i+1);
​​}
​​printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
​​printf("\n<继续查询>输入y\t<返回>输入n.\n");
​​scanf("%s",&s);
​}while(s=='y');
​system("CLS");
}

void book()
{
​FILE*fp,*fp1;
​int i,j,k,t1,t2;
​char x='0',y;
​int number,cardnum,cardword;
​printf("----------------------------------选择要预定的场地------------------------------\n");
​if((fp=fopen("student.txt","r+"))==NULL){
​​printf("不能打开student文件\n");
​​exit(0);
​}
​for(i=0;i<40;i++)
​​fscanf(fp,"%9d\t%9d\t",&stu[i].carnum,&stu[i].carword);
​printf("\n");
​fclose(fp);

​printf("\t\t请输入卡号:\t");
​scanf("%d",&cardnum);
​printf("\t\t请输入密码:\t");
​scanf("%d",&cardword);

​for(i=0;i<40;i++){
​​if(stu[i].carnum==cardnum&&stu[i].carword==cardword){
​​​do{
​​​​do{
​​​​​printf("\t\t请输入要预定的场地号:\t");
​​​​​scanf("%d",&number);
​​​​​if(number>6||number<1){
​​​​​​x='1';
​​​​​​printf("输入有误!请重试!\n");
​​​​​}
​​​​}while(x=='1');
​​​​do{
​​​​​printf("\t\t请输入要预定的时间段:\n\t\t例如\t10,11(用逗号隔开)\n\t\t");
​​​​​scanf("%d,%d",&t1,&t2);
​​​​​if(t1>t2||(t1<8||t2>21)){
​​​​​​printf("\t\t输入有误!请重试!\n");
​​​​​​x='2';
​​​​​}
​​​​}while(x=='2');
​​​​for(j=t1-8;j<t2-8;j++)
​​​​​if(court[number-1].time[j]==1)
​​​​​​break;
​​​​if(j==t2-8){
​​​​​for(k=t1-8;k<t2-8;k++){
​​​​​​court[number-1].time[k]=1;
​​​​​​court[number-1].stunum=cardnum;
​​​​​}
​​​​​printf("\t\t预定成功!\n\t\t场地号是%d,时间是%d-%d你的学号是%ld\n",number,t1,t2,court[number-1].stunum);
​​​​​printf("\t\t1.<继续预定>\t0.<返回>\n\t\t");
​​​​​scanf("%s",&y);
​​​​}
​​​​else{
​​​​​printf("\t\t该场地该时间段被预订,抱歉!\n\t\t重新选择场地请输入y;返回请输入n.\n\t\t");
​​​​​scanf("%s",&y);
​​​​}
​​​}while(y=='1');
​​​break;
​​}
​}
​if(i==40){
​​printf("\t\t您输入的卡号或密码错误,请重试!\n");
​​printf("\t\t按任意键返回\n");
​​getchar();
​}
​getchar();
​system("CLS");
}

void cancel()
{
​FILE*fp,*fp1;
​int i,j,m=0,t1,t2;
​int max,counum,cardnum,cardword;
​char x='0',y;
​char ture='0';
​printf("----------------------------------取消预定--------------------------------------\n");
​if((fp=fopen("student.txt","r+"))==NULL){
​​printf("不能打开student文件\n");
​​exit(0);
​}
​for(i=0;i<40;i++)
​​fscanf(fp,"%9d\t%9d\t",&stu[i].carnum,&stu[i].carword);
​printf("\n");
​max=i;
​fclose(fp);

​printf("\t\t请输入卡号:\t");
​scanf("%d",&cardnum);
​printf("\t\t请输入密码:\t");
​scanf("%d",&cardword);

​for(i=0;i<max;i++){
​​if(stu[i].carnum==cardnum&&stu[i].carword==cardword){
​​​do{
​​​​do{
​​​​​printf("\t\t请输入要取消的场地号:\t");
​​​​​scanf("%d",&counum);
​​​​​if(counum>6||counum<1){
​​​​​​x='1';
​​​​​​printf("输入有误!请重试!\n");
​​​​​}
​​​​}while(x=='1');
​​​​do{
​​​​​printf("\t\t请输入要取消的时间段:\n\t\t例如\t10,11(用逗号隔开)\n\t\t");
​​​​​scanf("%d,%d",&t1,&t2);
​​​​​if(t1>t2||(t1<8||t2>21)){
​​​​​​printf("\t\t输入有误!请重试!\n");
​​​​​​x='2';
​​​​​}
​​​​}while(x=='2');

​​​​for(j=t1-8;j<t2-8;j++)
​​​​if(court[counum-1].time[j]==0)
​​​​​break;
​​​​if(j==t2-8){
​​​​​for(j=t1-8;j<t2-8;j++){
​​​​​​court[counum-1].stunum=0;
​​​​​​court[counum-1].time[j]=0;
​​​​​}
​​​​​printf("\t\t退场成功!\n");
​​​​​printf("\t\t1.<继续退场>\t0.<返回>\n\t\t");
​​​​​scanf("%s",&y);
​​​​}
​​​​else{
​​​​​printf("\t\t该场地该时间段没有预订!\n\t\t重新选择场地请输入y;返回请输入n.\n\t\t");
​​​​​scanf("%s",&y);
​​​​}
​​​}while(y=='1');
​​​break;
​​}
​}
​if(i==max){
​​printf("\t\t您输入的卡号或密码错误,请重试!\n");
​​printf("\t\t按任意键返回\n");
​​getchar();
​}
​getchar();
​system("CLS");
}