C语言编译错误,应该是没链接到对应文件,有人教教嘛
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib, "Winmm.lib")
void play_music_1()
{
mciSendString("open music1.mp3 alias mymusic", NULL, 0, NULL);
mciSendString("play mymusic from 0 repeat", NULL, 0, NULL);
}
未定义-imp这一串字符
#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");
}