| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1178 人关注过本帖
标题:一直说函数定义非法,萌新不懂,求大佬们帮助
只看楼主 加入收藏
lurd
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-6-2
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:1 
一直说函数定义非法,萌新不懂,求大佬们帮助
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int student_del();
int student_information();
int student_change();
void student_performance();
void students_per();
struct student
{
    int id,cla,achievement[30],contact[20],store,total;
    char teacher[30],parents[20],address,name;
}students[100];
void page_title(char*menu_item)
{
    printf("\t\t\t************欢迎使用幼稚园学生信息管理系统************\t\t\t\n",menu_item);
}
void return_confirm(void)
{
    printf("\n按任意键返回..........\n");
    getchar();
}

void student_add(void)
{
    int n;
    system("cls");
    page_title("注册新的学生信息:");
    for(n=0;n<100;n++)
    {   
        if(students[n].id==0)break;
        printf("学号:");
        scanf("%d",&students[n].id);
        printf("姓名:");
        scanf("%c",&students[n].name);
        printf("家庭住址:");
        scanf("%c",&students[n].address);
        printf("父母姓名:");
        scanf("%c",&students[n].parents);
        printf("联系方式:");
        scanf("%d",&students[n].contact);
        printf("班级老师:");
        scanf("%c",&students[n].teacher);
        printf("所在班级:");
        scanf("%d",&students[n].cla);
        printf("成绩:");
        scanf("%d",&students[n].achievement);
        students[n].store=students[n].total;
        return_confirm();
    }

    int student_del(void)
    {
        int n,num,i;
        system("cls");
        page_title("删除学生信息");
        printf("请输入删除学生的学号:");
        scanf("%d",&num);
        for(n=0;n<100;n++)
        {
            if(students[n].id==num)
            {
                for(i=n;i<100;i++)
                {
                   students[i].id=students[i+1].id;
                   strcpy(students[i].name,students[i+1].name);
                   strcpy(students[i].address,students[i+1].address);
                   strcpy(students[i].parents,students[i+1].parents);
                   printf("该学生信息已删除!");
                   return n;
                }
            }
        }
            printf("没有找到该学生的信息!\n");
            return -1;
    }
int student_information(void)
{
    int n,i=-1;
    char nam[30];
    system("cls");
    printf("请输入学生的姓名:");
    scanf("%s",&nam);
    for(n=0;n<100;n++)
    {
        if(strcmp(students[n].name,nam)==0)
        {
            printf("%d\n",students[n].id);
            printf("%s\n",students[n].name);
            printf("%s\n",students[n].address);
            printf("%d\n",students[n].contact);
            printf("%s\n",students[n].parents);
            printf("%s\n",students[n].teacher);
            printf("%d\n",students[n].cla);i=n;
        }
    }
    if(i==-1)
    printf("没有查询到该学生信息!");
    return i;
}
int student_change(void)
{
    int i,n;
    system("cls");
    page_title("修改学生信息!");
    printf("请输入该学生的学号:");
    scanf("%d",&i);
    for(n=0;n<100;n++)
    {
        if(students[n].id==i)
        {
            printf("修改姓名:");
            scanf("姓名:%s",&students[n].name);
            printf("修改家庭地址:");
            scanf("家庭地址:%s",&students[n].address);
            printf("修改父母姓名:");
            scanf("父母姓名:%s",&students[n].parents);
            printf("修改联系方式:");
            scanf("联系方式:%d",&students[n].contact);
            printf("修改老师信息:");
            scanf("老师信息:%s",&students[n].teacher);
            printf("修改班级信息:");
            scanf("班级信息:%d",&students[n].cla);
            printf("修改学生信息成功!\n");
            students[n].store=students[n].total;
            return n;
        }
    }
    printf("\n没有找到该学生信息!\n");
    return -1;
}
void student_performance(void)
{
    int i,n,t;
    system("cls");
    printf("请输入学生学号:\n");
    scanf("%d",&t);
    for("n=0;n<100;n++")
    {
        if(students[n].id==t)
        {
            printf("%s",students[n].name);
            printf("%d",students[n].id);
            printf("%d"students[n].cla);
        }
    else printf("没有找到该学生信息!\n");
    }
}
void students_per(void)
{
    int n,i;
    system("cls");
    printf("请输入该学生的学号:");
    scanf("%c",&i);
    for("n=0;n<100;n++")
    {
        if(students[n].id==i)
        {
            printf("修改成绩:");
            scanf("%d",&students[n].achievement);
            printf("修改学生成绩成功!\n");
        }
        printf("没有找到该学生的信息!");
    }
}
void main(void)
{
    int nam[30];
    char man[30];
    printf("请输入账户:\n");
    scanf("%s",&man);
    printf("请输入密码:\n");
    scanf("%d",&nam);
    if(nam[30]==12345&&man[30]==abcde)
    {
       menu:page_title("操作选单");
       printf("请用数字键选择操作序号:\n");
       printf("\t\t\t1.添加学生信息\t\t\t2.删除学生信息");
       printf("\t\t\t3.查看学生基本信息\t\t\t4.修改学生基本信息");
       printf("\t\t\t5.查看学生成绩信息\t\t\t6.修改学生成绩信息\n");
       printf("7.退出系统!\n");
       switch(getchar())
       {
         case'1':student_add();break;
         case'2':student_del();break;
         case'3':student_information();break;
         case'4':student_change();break;
         case'5':student_performance();break();
         case'6':student_per();break;
         case'7':exit(0);
       }
       goto menu;
     }
     else printf("\n账号或密码不正确\n");
    }
搜索更多相关主题的帖子: int void printf 学生 scanf 
2019-06-02 12:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:20 
错得实在太多,还是按照编译器给出的错误信息一个个改吧

比如第一个错误 error C2601: 'student_del' : local function definitions are illegal
从排版上就能看出问题
void student_add(void)
{
    ……

    int student_del(void)
    {
    ……

再比如 strcpy(students[i].name,students[i+1].name); 报 error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
你这两个错误的类型是 char,而 strcpy的原型是 char *strcpy( char *restrict dest, const char *restrict src );

再比如 for("n=0;n<100;n++")

2019-06-03 08:39
快速回复:一直说函数定义非法,萌新不懂,求大佬们帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015636 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved