鱼C论坛

 找回密码
 立即注册
查看: 2118|回复: 2

怎么 报这么多错,无语了。

[复制链接]
发表于 2014-2-19 12:52:43 | 显示全部楼层 |阅读模式
10鱼币
/***系统密码:792604971*/
/*极限俱乐部信息系统*/

#include <stdio.h>         /*控制台I/O的头文件*/
#include <string.h>        /*字符串的头文件*/
#include <stdlib.h>        /*exit函数的头文件*/
#define M 20               /*定义最多好可录入的单位数*/
#define N 100              /*定义最多可录入的会员数*/
int Interface(char (*x)[20], int n);                      /*操作界面函数*/

int AddList(int start, char Unit[][20], char Nanme[][20], char Number[][20], int Parameter[][5]);     /*添加信息函数*/

void Display(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5], int start, int end);     /*显示信息函数*/

void SwapChar(char *x, char *y);       /*字符互换函数*/

void SwapInt(int *x, int *y);         /*整型互换函数*/

void Sort(char (*x)[20],char (*y)[20],char (*z)[20],int Parameter[][5],int n);       /*按姓名排序函数*/

int Search(char (*x)[20], char (*y)[20],char (*z)[20], char *person, int n);          /*信息检索函数*/

int FundStaff(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5],int n);         /*信息查找函数*/

void Moodify(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5],int n);       /*信息修改函数*/

int Delete(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5],int n);       /*信息删除函数*/

char password[8]="79260497";             /*设置系统管理员密码*/


/*************************************************************************\
                                  主函数
\*************************************************************************/

void main()
{
        char Unit[M][20];

        char Number[N][20];

        char Name[N][20];

        int Parameter[N][50];

        int select;

        int n=0;

        char mainName[][20]={"添加信息","显示信息","按姓名排序","按姓名检索","修改信息","删除信息"};

/***************************系统密码管理*******************************/

    int flag;

        char choice;

        char s[8];

        int dlag=0;

        int w=3;
        do
        {
                printf("请输入管理员密码:\n");

                scanf("%s",s);

                if(strcmp(s,password))
                {

                        printf("PASS\n\n\n");

                        flag=1;

                        break;
                }
                else
                {
                        printf("密码错误,请重新输入:\n");

                        w--;
                }
        }
        while(w > 0);

        if(!flag)
        {
                printf("你已连续三次输入错误,请确认后再使用本系统,谢谢!");
               
                exit(0);
        }
        system("cls");

/*****************************欢迎界面***********************************/

        printf("~~~~~~~~~~~~~~~~~~~~~~~~\t\t\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~");

        printf("\t\t欢迎进入极限俱乐部会员管理信息系统\n");

        printf("\n%%%%%%%%%%%%%%%%%%%%%%%\t\t\t\t\t%%%%%%%%%%%%%%%%%%%%%%%%%");

        printf("\n\n\n\n");

        printf("单位:北京极限俱乐部\n");

        printf("地址:北京西城区四环\n");

        printf("会员热线:010--66886688");

        printf("\n\n\n\n");

        printf("============================\t\t============================\n");

        printf("本系统由天地人和软件有限公司开发");
       
        printf("作者:天天\n");

        printf("地址:北京海淀区学院路\n");

        printf("=============================\t\t============================\n");
       
        printf("\n\n");

        printf("\t\t请任意输入一个值并回车进入系统\n");

        scanf("%s",&choice);

        if(choice=='\n'||choice=='n')
        {
                exit(1);
        }

/************************************欢迎界面结束*********************************/


        system("cls");

        do
        {
                select=Interface(mainName,6);

                switch(select)
                {

case 0: n=AddList(n, Unit, Number, Name, Parameter); break;

case 1: Display(Unit, Number, Name, Parameter, 0, n-1); break;

case 2:        Sort(Unit, Number, Name, parameter, n); break;

case 3: FindStaff(Unit, Number, Name, Parameter, n); break;

case 4: Modify(Unit, Number, Name, Parameter, n); break;

case 5: n=Delete(Unit, Number, Name, Parameter, n); break;
                }
        }
       
        while(select >= 0&&select <= 5);

       

}


/*****************************************************************************************\
                                       操作界面函数
\*****************************************************************************************/


int Interface(char (*x)[20], int n)

{
        int i=0;

int j;

printf("\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%极限俱乐部会员信息系统%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");

do
{
        for(j=0; j < n; j++)
        {
                printf("%2d.%s\n",j+1,x[j]);
        }

        printf("%2d.返回并退出\n",j++);

        printf("请从上述选项中选择:\n");

        scanf("%d",&i);

}
while(i < 0 || i > n+1);

return (i-1);

}


/*********************************************************************************************\
                                     添加信息函数
\*********************************************************************************************/


int AddList(int start, char Unit[][20], char Number[][20], char Name[][20], int Parameter[][5])
{
        system("cls");

        int i, n;

        for(n=start; n < N; n++)
        {
                printf("\n请输入单位(按e键返回):\n");

                scanf("%s",Unit[n]);

                if(strcmp(Unit[n],"e")==0 )break;

                printf("\n请输入会员编号:\n");

                scanf("%s",&Number[n]);

                printf("请输入会员姓名:\n");

                scnaf("%s",&Name[n]);

                for(i=0; i<5; i++)
                {
                        printf("生理指标[%d]=",i++);

                        scnaf("%d",&Parameter[n][i]);


                }

        }
        return n;
}

/***************************************************************************************\
                                   字符串互换函数
\***************************************************************************************/


void SwapChar(char *x, char *y)
{
        char temp[20];

        strcpy(temp,x);

        strcpy(x, y);

        stecpy(y, temp);

}


/**************************************************************************************\
                                整型互换函数
\**************************************************************************************/

void SwapInt(int *x, int *y)

{
        int p;

        p=*x;

        *x=*y;

        *y=p;
}


/*****************************************************************************************\
                                 按姓名字典排序函数
\*****************************************************************************************/


void Sort(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5], int n)
{
        int i, k, j;

        for(i=0; i <= n-1; i++)
        {
                k=1;

                for(j=j+1; j < n; j++)
               
                        if(strcmp(z[k], z[j]) > 0);
                       
                                k=j;
                                if(i!=K)
                                {
                                        SwapChar(c[k], z[j]);

                                        SwapChar(y[k], y[i]);

                                        SwapChar(z[k], z[i]);

                                        for(j=0; j<5; j++)
                                       
                                                SwapInt(&Parameter[k][j], &Parameter[i][j]);

                                }
        }


        printf("\n按姓名排序已完!\n");

}


/*******************************************************************************************\
                                  显示信息函数,为下一函数的中间调用
\*******************************************************************************************/



int Search(char (*x)[20], char (*y)[20], char (*z)[20], char *person, int n)
{
        int i;

        for(i=0; i < n; i++)
                if(!strcmp(z[i], person))

                        return i;

}


/******************************************************************************************\
                                  显示信息函数
\******************************************************************************************/


int FinfStaff(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5], int n)
{
        system("cls");

        int i;

        char str[20];

        printf("\n请输入要检索的会员姓名:");

        scanf("%s",str);
       
        i=Seach(x, y, z, str, n);
       
        if(i==-1)

                printf("没有关于%s的记录,请确认输入后再次输入!\n",str);

        else

                Display(x, y, z, Parameter, i, i);

        getchar();

        return i;
}

/*********************************************************************************************\
                                 信息修改函数
\*********************************************************************************************/


void Modify(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5], int n)
{
        int i, j;

        i=FindStaff(x, y, z, Parameter, n);

        if(i >= 0)
        {
                printf("请输入修改后的会员信息:\n");

                printf("\n请输入单位\n");

                scnaf("%s", x[i]);

                printf("\n请输入会员编号\n");

                scanf("%s",y[i]);

                for(j=0; j<5; j++)
                {
                        printf("生理指标[%d]=",j+1);

                        scanf("%d",&Parameter[i][j]);

                }

                printf("\n修改已完成\n");
        }

}


/**********************************************************************************************\
                                     信息删除函数
\**********************************************************************************************/

int Delete(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][5], int n)
{
        int i, j;

        i=FindStaff(x, y, z, Parameter, n);

        if(i >= 0)
        {
                strcpy(x[i], x[n-1]);
                       
                strcpy(y[i], y[n-1]);
                       
                strcpy(z[i], z[n-1]);

                for(j=0; j<5; j++)

                        Parameter[i][j]=Parameter[n-1][j];

                n=n-1;
                printf("\n已删除所选会员信息!\n");

               

        }

        return n;

}

最佳答案

查看完整内容

这是个体力活好不好(你没有给出DISPLAY函数我自己加的,你可以自己改掉),以下程序已经编译完成 #include /*控制台I/O的头文件*/ #include /*字符串的头文件*/ #include /*exit函数的头文件*/ #define M 20 /*定义最多好可录入的单位数*/ #define N 100 /*定义最多可录入的会员数*/ int Interface(char (*x)[20], int n); /*操作界面函数*/ ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-19 12:52:44 | 显示全部楼层
这是个体力活好不好(你没有给出DISPLAY函数我自己加的,你可以自己改掉),以下程序已经编译完成


#include <stdio.h>         /*控制台I/O的头文件*/
#include <string.h>        /*字符串的头文件*/
#include <stdlib.h>        /*exit函数的头文件*/
#define M 20               /*定义最多好可录入的单位数*/
#define N 100              /*定义最多可录入的会员数*/
int Interface(char (*x)[20], int n);                      /*操作界面函数*/

int Search(char (*x)[20], char (*y)[20], char (*z)[20], char *person, int n)  ;        /*信息检索函数*/

int AddList(int start, char Unit[][20], char Nanme[][20], char Number[][20], int Parameter[][50]);     /*添加信息函数*/

void Display(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50], int start, int end);     /*显示信息函数*/

void SwapChar(char *x, char *y);       /*字符互换函数*/

void SwapInt(int *x, int *y);         /*整型互换函数*/

void Sort(char (*x)[20],char (*y)[20],char (*z)[20],int Parameter[][50],int n);       /*按姓名排序函数*/

         

int FindStaff(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50],int n);         /*信息查找函数*/

void Modify(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50],int n);       /*信息修改函数*/

int Delete(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50],int n);       /*信息删除函数*/



char password[8]="79260497";             /*设置系统管理员密码*/


/*************************************************************************\
                                  主函数
\*************************************************************************/

void main()
{
        char Unit[M][20];

        char Number[N][20];

        char Name[N][20];

        int Parameter[N][50];

        int select;

        int n=0;

        char mainName[][20]={"添加信息","显示信息","按姓名排序","按姓名检索","修改信息","删除信息"};

/***************************系统密码管理*******************************/

    int flag;

        char choice;

        char s[8];

        int dlag=0;

        int w=3;
        do
        {
                printf("请输入管理员密码:\n");

                scanf("%s",s);

                if(strcmp(s,password))
                {

                        printf("PASS\n\n\n");

                        flag=1;

                        break;
                }
                else
                {
                        printf("密码错误,请重新输入:\n");

                        w--;
                }
        }
        while(w > 0);

        if(!flag)
        {
                printf("你已连续三次输入错误,请确认后再使用本系统,谢谢!");
               
                exit(0);
        }
        system("cls");

/*****************************欢迎界面***********************************/

        printf("~~~~~~~~~~~~~~~~~~~~~~~~\t\t\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~");

        printf("\t\t欢迎进入极限俱乐部会员管理信息系统\n");

        printf("\n%%%%%%%%%%%%%%%%%%%%%%%\t\t\t\t\t%%%%%%%%%%%%%%%%%%%%%%%%%");

        printf("\n\n\n\n");

        printf("单位:北京极限俱乐部\n");

        printf("地址:北京西城区四环\n");

        printf("会员热线:010--66886688");

        printf("\n\n\n\n");

        printf("============================\t\t============================\n");

        printf("本系统由天地人和软件有限公司开发");
        
        printf("作者:天天\n");

        printf("地址:北京海淀区学院路\n");

        printf("=============================\t\t============================\n");
        
        printf("\n\n");

        printf("\t\t请任意输入一个值并回车进入系统\n");

        scanf("%s",&choice);

        if(choice=='\n'||choice=='n')
        {
                exit(1);
        }

/************************************欢迎界面结束*********************************/


        system("cls");

        do
        {
                select=Interface(mainName,6);

                switch(select)
                {

case 0: n=AddList(n, Unit, Number, Name, Parameter); break;

case 1: Display(Unit, Number, Name, Parameter, 0, n-1); break;

case 2:        Sort(Unit, Number, Name, Parameter, n); break;

case 3: FindStaff(Unit, Number, Name, Parameter, n); break;

case 4: Modify(Unit, Number, Name, Parameter, n); break;

case 5: n=Delete(Unit, Number, Name, Parameter, n); break;
                }
        }
        
        while(select >= 0&&select <= 5);

        

}


/*****************************************************************************************\
                                       操作界面函数
\*****************************************************************************************/

int Search(char (*x)[20], char (*y)[20], char (*z)[20], char *person, int n)      
{
        int i;

        for(i=0; i < n; i++)
                if(!strcmp(z[i], person))

                        return i;

}

int Interface(char (*x)[20], int n)

{
        int i=0;

int j;

printf("\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%极限俱乐部会员信息系统%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");

do
{
        for(j=0; j < n; j++)
        {
                printf("%2d.%s\n",j+1,x[j]);
        }

        printf("%2d.返回并退出\n",j++);

        printf("请从上述选项中选择:\n");

        scanf("%d",&i);

}
while(i < 0 || i > n+1);

return (i-1);

}


/*********************************************************************************************\
                                     添加信息函数
\*********************************************************************************************/


int AddList(int start, char Unit[][20], char Number[][20], char Name[][20], int Parameter[][50])
{
        system("cls");

        int i, n;

        for(n=start; n < N; n++)
        {
                printf("\n请输入单位(按e键返回):\n");

                scanf("%s",Unit[n]);

                if(strcmp(Unit[n],"e")==0 )break;

                printf("\n请输入会员编号:\n");

                scanf("%s",&Number[n]);

                printf("请输入会员姓名:\n");

                scanf("%s",&Name[n]);

                for(i=0; i<5; i++)
                {
                        printf("生理指标[%d]=",i++);

                        scanf("%d",&Parameter[n][i]);


                }

        }
        return n;
}

/***************************************************************************************\
                                   字符串互换函数
\***************************************************************************************/


void SwapChar(char *x, char *y)
{
        char temp[20];

        strcpy(temp,x);

        strcpy(x, y);

        strcpy(y, temp);

}


/**************************************************************************************\
                                整型互换函数
\**************************************************************************************/

void SwapInt(int *x, int *y)

{
        int p;

        p=*x;

        *x=*y;

        *y=p;
}


/*****************************************************************************************\
                                 按姓名字典排序函数
\*****************************************************************************************/


void Sort(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50], int n)
{
        int i, k, j;

        for(i=0; i <= n-1; i++)
        {
                k=1;

                for(j=j+1; j < n; j++)
               
                        if(strcmp(z[k], z[j]) > 0);
                        
                                k=j;
                                if(i!=k)
                                {
                                        SwapChar(x[k], z[j]);

                                        SwapChar(y[k], y[i]);

                                        SwapChar(z[k], z[i]);

                                        for(j=0; j<5; j++)
                                       
                                                SwapInt(&Parameter[k][j], &Parameter[i][j]);

                                }
        }


        printf("\n按姓名排序已完!\n");

}


/*******************************************************************************************\
                                  显示信息函数,为下一函数的中间调用
\*******************************************************************************************/





/******************************************************************************************\
                                  显示信息函数
\******************************************************************************************/


int FindStaff(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50], int n)
{
      
         
        system("cls");

        int i;
        
        
        char str[20];

        printf("\n请输入要检索的会员姓名:");

        scanf("%s",str);
        
        i=Search(x, y, z, str, n);
        
        if(i==-1)

                printf("没有关于%s的记录,请确认输入后再次输入!\n",str);

        else

          Display(x, y, z, Parameter, i,n);

        getchar();

        return i;
}

/*********************************************************************************************\
                                 信息修改函数
\*********************************************************************************************/


void Modify(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50], int n)
{
        int i, j;

        i=FindStaff(x, y, z, Parameter, n);

        if(i >= 0)
        {
                printf("请输入修改后的会员信息:\n");

                printf("\n请输入单位\n");

                scanf("%s", x[i]);

                printf("\n请输入会员编号\n");

                scanf("%s",y[i]);

                for(j=0; j<5; j++)
                {
                        printf("生理指标[%d]=",j+1);

                        scanf("%d",&Parameter[i][j]);

                }

                printf("\n修改已完成\n");
        }

}


/**********************************************************************************************\
                                     信息删除函数
\**********************************************************************************************/

int Delete(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50], int n)
{
        int i, j;

        i=FindStaff(x, y, z, Parameter, n);

        if(i >= 0)
        {
                strcpy(x[i], x[n-1]);
                        
                strcpy(y[i], y[n-1]);
                        
                strcpy(z[i], z[n-1]);

                for(j=0; j<5; j++)

                        Parameter[i][j]=Parameter[n-1][j];

                n=n-1;
                printf("\n已删除所选会员信息!\n");

               

        }

        return n;

}


void Display(char (*x)[20], char (*y)[20], char (*z)[20], int Parameter[][50], int start, int end)
{

  printf("%s\n",x);printf("%s\n",y);printf("%s\n",z);printf("%d\n",Parameter);


}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-19 16:42:29 | 显示全部楼层
哇!这个程序好长啊!{:2_28:}
{:2_26:}顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-2 20:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表