CET 4? 2019-12-22 15:41
浏览 674

fatal error C1004: unexpected end of file found为什么会出现这样的情况?是哪里出错了吗?

#include
#include
#include
#define MAXSIZE 20
typedef struct movie
{
int id;
char name[30];
char director[30];
char lang[30];
int year;
float point;
char name2[10];
struct movie *next;
} movie;

movie *first, *last;

typedef struct SqList
{
char classification[MAXSIZE][20];
int length;
} SqList;

SqList *L;

void InitList()

{

{ L=(SqList *)malloc(sizeof(SqList));
L->length=0;
}
int n;
printf("请输入创建电影分类的个数:\n");
scanf("%d",&n);

for(int i=0;i<n;i++)
{

    printf("请输入电影分类\n");
    scanf("%s",L->classification[i]);
    L->length++;
}
printf("------完成------\n");

}

int IsExistsList(char *classification)
{
for(int i=0;ilength;i++)
{
if(strcmp(L->classification[i],classification)==0)
{
return 1;
}
}
return 0;
}

movie *createList()
{
movie *node =(movie *)malloc(sizeof(movie));
if (node==NULL)
{
printf("-------创建失败------\n.");
return NULL;
}

node->next=NULL;
printf("请输入电影名称:\n");
scanf("%s",&node->name);
printf("请输入导演:\n");
scanf("%s",&node->director);
printf("请输入语言:\n");
scanf("%s",&node->lang);
printf("请输入年份:\n");
scanf("%d",&node->year);
printf("请输入评分:\n");
scanf("%f",&node->point);
printf("请输入电影分类:\n");
scanf("%s",&node->name2);
while(IsExistsList(node->name2)!=1)
{
    printf("---没有找到电影分类,请重新输入电影分类---\n");
    scanf("%s",&node->name2);
}
printf("----完成----\n");
return node;

}

void displayList()
{
if(first->next==NULL)
{
printf("暂无数据\n");
return;
}
movie *p;
for (p=first->next; p!=NULL; p=p->next)
{
printf("编号:%d,电影名称:%s,导演:%s,语言:%s,年份:%d,评分:%f,分类:%s\n",p->id,p->name,p->director,p->lang,p->year,p->point,p->name2);
}
}

void removeList()
{
if(first->next==NULL)
{
printf("\n暂无数据\n\n");
return;
}

int input;
printf("请输入删除的编号(数字)\n");
scanf("%d",&input);

movie *p , *tempLast;
tempLast = first;


for (p=first->next; p!=NULL; p=p->next)
{


    if (p->id==input) 
    {

        if(last==p)
        {
            last=NULL;
        }

        tempLast->next=p->next; 
        free(p);
        printf("删除成功\n");
        return;
    }
    else
    {
        tempLast = p;
    }
}

printf("该编号不存在\n");

}

void modifyList()
{
if(first->next==NULL)
{
printf("\n暂无数据\n\n");
return;
}

printf("请输入修改的编号\n");
int input;
scanf("%d",&input);

movie *p;
for (p=first->next; p!=NULL; p=p->next)
{
    if (p->id==input) 
    {
        printf("找到电影 编号:%d,电影名称:%s,导演:%s,语言:%s,年份:%d,评分:%f,分类:%s\n",p->id,p->name,p->director,p->lang,p->year,p->point,p->name2);
        printf("请输入新评分\n");
        scanf("%f",&p->point);
        printf("修改完成\n\n");
        return;
    }
}
printf("该编号不存在\n");

}
void MovieLast()
{
movie *node= createList();
if(last==NULL)
{
node->id=1;
first->next=node;
}
else
{
node->id=last->id+1;
last->next=node;
}
last=node;
printf("------添加成功-------\n");
}
void createMovieList()
{
while (true)
{
MovieLast();
printf("是否继续创建电影(1 继续 0 返回) \n");
int num;
scanf("%d",&num);
if(num==0)
{
break;
}
}
}

void queryList()
{
if(first->next==NULL)
{
printf("\n暂无数据\n\n");
return;
}

printf("请输入电影名称\n");
char input[10];
scanf("%s",input);


movie *p;
for (p=first->next; p!=NULL; p=p->next)
{

    if (strcmp( p->name,input)==0) 
    {
        printf("查询到电影 编号:%d,电影名称:%s,导演姓名:%s,语言:%s,年份:%d,评分:%f,电影分类:%s\n",p->id,p->name,p->director,p->lang,p->year,p->point,p->name2);
        return;
    }        
    printf("未查询到结果!\n");
}

}

void BubbleSort()
{
movie *p,*q;
p=first->next;
float s;
if(first->next==NULL)
{
printf("\n暂无数据\n\n");
return;
}
for (p=first->next; p!=NULL; p=p->next)
{
for(q=p->next;q!=NULL;q=q->next)
{
if((p->point)>(q->point))
{
s=q->point;
q->point=p->point;
p->point=s;
}
}
printf("分数: %lf \n",p->point);
}
}

void showMenu()
{
int num;

while(num!=3)
{
    printf("1. 管理员登录\n");
    printf("2. 用户入口\n");
    printf("3. 退出系统\n");
    printf("请输入(1,2,3)来选择功能 \n");
    scanf("%d",&num);
}
    switch(num)
    {
        case 1:
        {
            int i;
            char a[20]={"syy"},b[20],c[20]={"0531"};
            while(1)
            {
                printf("输入管理员账号\n");
                scanf("%s",a);
                if(strcmp(b,c)==0)
                    printf("账号错误再次输入\n");
                else
                    break;
            }
            while(1)
            {
                printf("输入密码\n");
                scanf("%s",c);
                if(strcmp(a,c)==0)
                    printf("密码错误请重新输入\n");
                else
                    break;
            }
            do
            {
                int num;
                {
                    printf("1. 录入电影分类\n");
                    printf("2. 录入电影信息\n");
                    printf("3. 创建电影\n");
                    printf("4. 删除电影\n");
                    printf("5. 修改电影\n");
                    printf("6. 查看所有电影\n");
                    printf("7. 返回\n");
                    printf("请选择功能 \n");
                    scanf("%d",&num);
                }
                switch(num)
                {
                    case 1:
                        InitList();
                        break;
                    case 2:
                        createList();
                        break;
                    case 3:
                        MovieLast();
                        break;
                    case 4:
                        removeList();
                        break;
                    case 5:
                        modifyList();
                        break;
                    case 6:
                        displayList();
                        break;
                    default:
                        showMenu();
                        break;
                }
            }while(1);
        }
        case 2:
        {
            int num;
            while(num!=3)
            {
                printf("1. 查看所有电影\n");
                printf("2. 按评分升序排序\n");
                printf("3. 返回主界面\n");
                printf("请选择功能 \n");
                scanf("%d",&num);
            }
            switch(num)
            {
            case 1:
                queryList();
                break;
            case 2:
                BubbleSort();
                break;
            default:
                break;
            }       
        }
        default:
            break;

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
    • ¥15 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
    • ¥20 怎么在stm32门禁成品上增加查询记录功能
    • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
    • ¥50 NT4.0系统 STOP:0X0000007B
    • ¥15 想问一下stata17中这段代码哪里有问题呀