标题:求大神啊,怎么全是没有定义。。。
只看楼主
呵呵、
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-7-1
结帖率:100%
已结贴  问题点数:20 回复次数:4 
求大神啊,怎么全是没有定义。。。
#include<stdio.h>
#include<conio.h>  
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#define N 50
struct
{
    char num[8];
    char num[10];
    int score[5];
}student[N],stutemp;
void main()
{
    int j,n,m;
    char number[8],name[10];
    printf("\n\t欢迎使用成绩管理系统\n请选择用户身份:\n1->管理员登陆\n2->普通用户登录\n3->退出\n");
    scanf("%d",&n);
    while(n!=3)
    {
        if(n==1)Manager();
        if(n==1)User();
        if(n!=1&&n!=2)printf("\n\n选择错误,请重新输入!");
        printf("\n\n请选择登录窗口:\n1->管理员登陆\n2->普通用户登录\n3->退出\n");
        scanf("%d",&n);
    }
}
void Manager()
{
    int j,n,m;
    char number[8],name[10];
    getchar();
    printf("\n\n请选择数据输入方式:\n1->手动输入\n2->文件导入\n");
    scanf("%d",&n);
    if(n==1)Input_Data();
    if(n==2)Up_Data();
    Count_Score();
    printf("请根据提示选择相应的操作:");
    Login_MFace();
    scanf("%d",&m);
    while(m!=0)
    {
        switch(m)
        {
        case 0:return;
        case 1:for(j=0;j<i;j++)Printf_Data(j);break;
        case 2:Search_Infor();break;
        case 3:Sort_Data();break;
        case 4:Modify_Data();break;
        case 5:Delete_Data();break;
        case 6:Insert_Data();break;
        case 7:Save_Data();break;
        }
        Login_MFace();
        scanf("%d",&m);
    }
    return;
}
void Up_Data()
{
    FILE*fp;
    fp=fopen("d:\score.txt","at+");
    for(i=0;i<N;i++)
    {
        fscanf(fp,"%s%s%d%d%d",student[i].num,student[i].name,&student[i].score[0],&student[i].score[1],&student[i].score[2]);
        if(strcmp(student[i].num,"stop")==0)break;
    }
    fclose(fp);
}
void Count_Score()
{
    int n;
    for(n=0;n<i;n++)
    {student[n].score[3]=student[n].score[0]+student[n].score[1]+student[n].score[2];
    (student[n].score[4]=student[n].score[0]+student[n].score[1]+student[n].score[2])/3;
    }
}
void Print_Data(int n)
{
    printf("学号:%s  姓名:%s  数学%d  英语%d  总成绩%d  平均成绩%d\n",student[n].num,student[n].name,student[n].score[0],student[n].score[1],student[n].score[2],student[n].score[3],student[n].score[4]);
}
void Search_Infor()
{
    int m,j;
    char number[8],name[10];
    int Search_Num(char number[8]);
    int Search_Name(char name[20]);
    printf("\n1->按学号查询\n2->按姓名查询\n请根据提示选择:");
    scanf("%d",&m);
    if(m==1){printf("\n请输入待查询的学生的学号:");scanf("%s",number);j=Search_Num(number);}
    if(m==2){printf("\n请输入待查询的学生的姓名:");scanf("%s",name);j=Search_Name(name);}
    if(j<i)     Print_Data(j);
    else printf(\n您输入错误");
}
int Search_Num(char number[8])
{
    int n;
    for(n=0;n<i;n++)
        if(strcmp(student[n].num,number)==0)break;
    return n;
}
void Sort_Data()
{
    int p,q,temp,j;
    printf("\n0->按数学成绩\n1->按语文成绩\n2->按英语成绩\n3->按平均成绩\n4->按总分\n请选择成绩由低到高的排序方式:");
    scanf(%d",&j);
    for(p=0;p<i-1;p++)
        for(q=p+1;q<i;q++)
            if(stuudent[p].score[j]>student[q].score[j])
            {stutemp=stuudent[p];stuudent[p]=stuudent[q];stuudent[q]=stutemp;}
            for(p=0;p<i;p++)
                Print_Data(p);
}
void Delete_Data()
{
    int n,j;
    char choice,number[8];
    printf("\n请输入待删除的学生学号:\n");
    scanf("%s",number);
    j=Search_Num(number);
    getchar();
    printf("确认删除?Y或N:");
    scanf("%c",&choice);
    if(choice=='Y'||choice=='y')
    {
        if(j==i-1)strcpy(student[j].num,"stop");
        for(n=j;n<i;n++)
            student[n]=student[n+1];
        i--;
        print("\n删除成功,请选择其他操作");
    }
    else return;
}
void Modify_Data()
{
    int n,j;
    char number[8];
    printf("\n请输入待修改的学生学号:\n");
    scanf("%s",number);
    j=Search_Num(number);
    printf("1->修改姓名\n2->修改数学成绩\n->修改语文成绩\n4->修改英语成绩\n请选择您要修改的内容:");
    scanf(%d",&n);
    switch(n)
    {
    case 1:printf("请输入新的学生姓名:"),scanf("%s",student[j].name);break;
    case 2:printf("请输入新数学成绩:"),scanf("%d",&student[j].score[0]);break;
    case 3:printf("请输入新语文成绩:"),scanf("%d",&student[j].score[1]);break;
    case 4:printf("请输入新英语成绩:"),scanf("%d",&student[j].score[2]);break;
    }
    printf("\n修改成功,请选择其他操作\n");
}
void Save_Data()
{
    FILE*fp;
    int n;
    fp=fopen("d:\score1.txt","wt+");
    for(n=0;n<i;n++)
        fprintf(fp,"%s%s%d%d%d\n",student[n].num,student[n].name,&student[n].score[0],&student[n].score[1],&student[n].score[2]);
    fprintf(fp,"%s","stop");
    fclose(fp);
}
搜索更多相关主题的帖子: 用户登录 include 管理系统 number 管理员 
2014-07-01 14:23
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:5 
程序代码:
struct
{
    char num[8];
    char num[10];
    int score[5];
}student[N],stutemp;


开头就错了 后面不用看了
2014-07-01 15:53
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:0 
犀利的眼光,呵呵

梦想拥有一台龙芯3A-4000
2014-07-01 18:22
孤独一生
Rank: 2
来 自:四川达县
等 级:论坛游民
帖 子:45
专家分:55
注 册:2013-4-1
得分:0 
楼主下次这种问题最好不要发源码 太长了看着都头晕直接发结果就可以了我们帮你分析大概是什么地方出错了
2014-07-01 18:26
haolongo
Rank: 2
等 级:论坛游民
帖 子:6
专家分:39
注 册:2013-1-19
得分:15 
#include<stdio.h>
#include<conio.h>  
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#define N 50
struct numbe
{
    char num[8];
    char num1[10];
    int score[5];
}student[N],stutemp;
void main()
{
    struct numbe j,n,m;
    char number[8],name[10];
    printf("\n\t欢迎使用成绩管理系统\n请选择用户身份:\n1->管理员登陆\n2->普通用户登录\n3->退出\n");
    scanf("%d",&n);
    while(n!=3)
    {
        if(n==1)Manager();
        if(n==1)User();
        if(n!=1&&n!=2)printf("\n\n选择错误,请重新输入!");
        printf("\n\n请选择登录窗口:\n1->管理员登陆\n2->普通用户登录\n3->退出\n");
        scanf("%d",&n);
    }
}
void Manager()
{
    int j,n,m;
    char number[8],name[10];
    getchar();
    printf("\n\n请选择数据输入方式:\n1->手动输入\n2->文件导入\n");
    scanf("%d",&n);
    if(n==1)Input_Data();
    if(n==2)Up_Data();
    Count_Score();
    printf("请根据提示选择相应的操作:");
    Login_MFace();
    scanf("%d",&m);
    while(m!=0)
    {
        switch(m)
        {
        case 0:return;
        case 1:for(j=0;j<i;j++)Printf_Data(j);break;
        case 2:Search_Infor();break;
        case 3:Sort_Data();break;
        case 4:Modify_Data();break;
        case 5:Delete_Data();break;
        case 6:Insert_Data();break;
        case 7:Save_Data();break;
        }
        Login_MFace();
        scanf("%d",&m);
    }
    return;
}
void Up_Data()
{
    FILE*fp;
    fp=fopen("d:\score.txt","at+");
    for(i=0;i<N;i++)
    {
        fscanf(fp,"%s%s%d%d%d",student[i].num,student[i].name,&student[i].score[0],&student[i].score[1],&student[i].score[2]);
        if(strcmp(student[i].num,"stop")==0)break;
    }
    fclose(fp);
}
void Count_Score()
{
    int n;
    for(n=0;n<i;n++)
    {student[n].score[3]=student[n].score[0]+student[n].score[1]+student[n].score[2];
    (student[n].score[4]=student[n].score[0]+student[n].score[1]+student[n].score[2])/3;
    }
}
void Print_Data(int n)
{
    printf("学号:%s  姓名:%s  数学%d  英语%d  总成绩%d  平均成绩%d\n",student[n].num,student[n].name,student[n].score[0],student[n].score[1],student[n].score[2],student[n].score[3],student[n].score[4]);
}
void Search_Infor()
{
    int m,j;
    char number[8],name[10];
    int Search_Num(char number[8]);
    int Search_Name(char name[20]);
    printf("\n1->按学号查询\n2->按姓名查询\n请根据提示选择:");
    scanf("%d",&m);
    if(m==1){printf("\n请输入待查询的学生的学号:");scanf("%s",number);j=Search_Num(number);}
    if(m==2){printf("\n请输入待查询的学生的姓名:");scanf("%s",name);j=Search_Name(name);}
    if(j<i)     Print_Data(j);
    else printf(\n您输入错误");
}
int Search_Num(char number[8])
{
    int n;
    for(n=0;n<i;n++)
        if(strcmp(student[n].num,number)==0)break;
    return n;
}
void Sort_Data()
{
    int p,q,temp,j;
    printf("\n0->按数学成绩\n1->按语文成绩\n2->按英语成绩\n3->按平均成绩\n4->按总分\n请选择成绩由低到高的排序方式:");
    scanf(%d",&j);
    for(p=0;p<i-1;p++)
        for(q=p+1;q<i;q++)
            if(stuudent[p].score[j]>student[q].score[j])
            {stutemp=stuudent[p];stuudent[p]=stuudent[q];stuudent[q]=stutemp;}
            for(p=0;p<i;p++)
                Print_Data(p);
}
void Delete_Data()
{
    int n,j;
    char choice,number[8];
    printf("\n请输入待删除的学生学号:\n");
    scanf("%s",number);
    j=Search_Num(number);
    getchar();
    printf("确认删除?Y或N:");
    scanf("%c",&choice);
    if(choice=='Y'||choice=='y')
    {
        if(j==i-1)strcpy(student[j].num,"stop");
        for(n=j;n<i;n++)
            student[n]=student[n+1];
        i--;
        print("\n删除成功,请选择其他操作");
    }
    else return;
}
void Modify_Data()
{
    int n,j;
    char number[8];
    printf("\n请输入待修改的学生学号:\n");
    scanf("%s",number);
    j=Search_Num(number);
    printf("1->修改姓名\n2->修改数学成绩\n->修改语文成绩\n4->修改英语成绩\n请选择您要修改的内容:");
    scanf(%d",&n);
    switch(n)
    {
    case 1:printf("请输入新的学生姓名:"),scanf("%s",student[j].name);break;
    case 2:printf("请输入新数学成绩:"),scanf("%d",&student[j].score[0]);break;
    case 3:printf("请输入新语文成绩:"),scanf("%d",&student[j].score[1]);break;
    case 4:printf("请输入新英语成绩:"),scanf("%d",&student[j].score[2]);break;
    }
    printf("\n修改成功,请选择其他操作\n");
}
void Save_Data()
{
    FILE*fp;
    int n;
    fp=fopen("d:\score1.txt","wt+");
    for(n=0;n<i;n++)
        fprintf(fp,"%s%s%d%d%d\n",student[n].num,student[n].name,&student[n].score[0],&student[n].score[1],&student[n].score[2]);
    fprintf(fp,"%s","stop");
    fclose(fp);
还有一个小错让你自己解决相信你能解决的。大错全改好了。
2014-07-02 23:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-433527-1-1.html




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

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