鱼C论坛

 找回密码
 立即注册
查看: 1334|回复: 4

[已解决]已用C++语言做出了职工工作量统计系统,有没有大哥能用c语言把这个整出来,我头秃了

[复制链接]
发表于 2019-9-6 00:25:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream.h>

#include<string.h>

#include<fstream.h>

class stu

{

char name[20];

double much,sum;

public:

stu()

{

}

stu(char n[20],double muc)

{

strcpy(name,n);

much=muc;

}

double getsum()

{

sum=much;

return sum;

}

friend void main();

};

void main()

{

cout<<"请选择您需要的操作!"<<endl;

cout<<"操作:"<<endl;

cout<<"(0)职工数据录入"<<endl;

cout<<"(1)增加职工人员"<<endl;

cout<<"(2)删除职工人员"<<endl;

cout<<"(3)新完成的需要添加的产品数量数据"<<endl;

cout<<"查询:"<<endl;

cout<<"(4)按总产品数量查询"<<endl;

cout<<"(5)按职工姓名查询"<<endl;

cout<<"(6)输出所有职工的数据"<<endl;

cout<<"生产量排名名次:"<<endl;

cout<<"(7)按职工生产的总产品数量查询排名"<<endl;

cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!"<<endl;

char p;char w;

stu *s[50];

ofstream *file[50];

int i=0;

int j=0;

bool flag2=0;

do

{

cin>>p;

if((p>='0'&&p<='10'))

flag2=1;

else

cout<<"指令错误!请重新输入:"<<endl;

}while(flag2==0);

do{

switch(p)

{

case '0':

{

char c;

char name[20];double much;

do{

cout<<"请输入职工姓名"<<endl;

cin>>name;

cout<<"请输入产品数量:"<<endl;

cin>>much;

file[j]=new ofstream("d:\\document",ios::ate);

*file[j]<<"姓名"<<name<<"产品数量"<<much<<endl;

j++;

s[i]=new stu(name, much);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;

cin>>c;

flag2=0;

do

{

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<<endl;

cin>>c;

}

else

flag2=1;

}while(flag2==0);

}while(c=='y');

break;

}

case '1':                                //程序中的操作(1)

{

char name[20];double much;

char c;

do

{

cout<<"请输入您要增加的职工的姓名:"<<endl;

cin>>name;

cout<<"请输入产品数量"<<endl;

cin>>much;

file[j]=new ofstream("d:\\document",ios::ate);

*file[j]<<"姓名"<<name<<"产品数量"<<much<<endl;

j++;

s[i]=new stu(name, much);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<<endl;

cin>>c;

}

}while(c=='y');

break;

}

case '2':                                //程序中的操作(2)

{

char name[20];bool flag3=0;char c;

do{

cout<<"请输入您要删除的职工姓名:"<<endl;

cin>>name;

for(int h=0;h<i;h++)

{

if(strcmp(name,s[h]->name)==0)

{

flag3=1;

i--;

do{

s[h]=s[h+1];

h++;

}while(h<=i);

}

}

if(flag3==0)

cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";

cout<<"要继续删除吗?(y/n)"<<endl;

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<<endl;

cin>>c;

}

}while(c=='y');

break;

}

case '3':                                //程序中的操作(3)

{

char name[20];double mat;flag2=0;

char c;

do

{

cout<<"请输入您要修改的职工的姓名:"<<endl;

cin>>name;

for(int h=0;h<i;h++)

{

if(strcmp(name,s[h]->name)==0)

{

flag2=1;

cout<<"请输入新完成的产品数量:"<<endl;

cin>>mat;

s[h]->much+=mat;

cout<<"数据添加成功!";

}

}

if(flag2==0)

{

cout<<"您要修改的职工本来就不存在!请检查重新输入!"<<endl;

}

cout<<"想继续修改吗(y/n)"<<endl;

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<<endl;

cin>>c;

}

}while(c=='y');

break;

}


case '4':                                //程序中的操作(4)

{

double t;char c;

do

{

int flag1=0;

cout<<"请输入你要查询职工的总产品数量"<<endl;

cin>>t;

for(int q=0;q<i;q++)

{

if(s[q]->getsum()==t)

{

flag1=1;

cout<<"您要查询的职工是:"<<(*s[q]).name<<endl;

}

}

if(flag1==0)

cout<<"对不起!您要查询的职工不存在!"<<endl;

cout<<"您想继续查询吗?(y/n)"<<endl;

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<<endl;

cin>>c;

}

}

while(c=='y');

break;

}


case '5':                                //程序中的操作(5)

{

char n[20];int j=0;char c;

do{

int flag=0;

cout<<"请输入你要查询的职工姓名"<<endl;

cin>>n;

for(int j=0;j<i;j++)

{

if(strcmp(n,(*s[j]).name)==0)

{

flag=1;

cout<<"您要查询的职工是:"<<(*s[j]).name<<endl;

cout<<(*s[j]).name<<"的总产品数量是"<<(*s[j]).getsum()<<endl;

}

}

if(flag==0)

cout<<"对不起!您要查询的职工不存在!"<<endl;

cout<<"您想继续查询吗?(y/n)"<<endl;

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<<endl;

cin>>c;

}

}

while(c=='y');

break;

}


case '6':                                //程序中的操作(6)

{

cout<<"本系统所有职工数据如下:"<<endl;

if(i==0)

cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;

for(int k=0;k<i;k++)

{

cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"总产品数量:"<<" "<<(*s[k]).getsum() <<endl;

}

break;

}

case '7':                                //程序中的操作(7)

{

int t;stu b;


cout<<"本系统所有职工排名如下:"<<endl;

for(int x=0;x<i-1;x++)

{

t=x;

for(int y=x+1;y<i;y++)

{

if((s[t]->getsum())<(s[y]->getsum()))

t=y;

if(t!=x)

{

b=*s[x];

*s[x]=*s[t];

*s[t]=b;

}

}

}

if(i==0)

cout<<"管理系统中没有录入数据或者数据已经被删除!";

for(int k=0;k<i;k++)

{

cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name

<<"总产品数量:"<<" "<<s[k]->getsum() <<endl;

}

break;

}

}


cout<<"您想继续进行其他操作吗?(y/n)"<<endl;

bool flag4=0;

do

{

cin>>w;

if(w!='y'&&w!='n')

cout<<"指令错误!请重新输入!"<<endl;

else

flag4=1;

}while(flag4==0);

if(w=='y')

cout<<"请输入操作代码:(0)职工数据录入;(1)增加职工人员; (2)删除职工人员; (3)新完成需要添加的产品数量数据; (4)按总产品数量查询; (5)按职工姓名查询; (6)输出所有职工的数据; (7)按职工生产的总产品数量查询排名"<<endl;

cin>>p;

}while(w=='y');

for(int x=0;x<i;x++)

{

delete s[x];

cout<<"删除所有数据成员"<<endl;

}
}
最佳答案
2019-9-6 18:58:37
本帖最后由 superbe 于 2019-9-6 19:03 编辑

我只是改成C能运行了,花了好长时间
我觉得你可以把各个功能做成函数,文件内容和修改操作同步等等很多要完善
vs2012下运行正常
#include <stdio.h>
#include <string.h>
#include <malloc.h>

typedef struct{
        char name[20];
        double much;
        double sum;
}stu;

void main()
{
        char p,w,c,name[20];
        double much;
        stu *s[50],b;
        FILE *file[50];
        int i=0,j=0,k=0,t,y;
        int flag=0;

        printf("请选择您需要的操作!\n"
                        "操作:\n"
                        "(0)职工数据录入\n"
                        "(1)增加职工人员\n"
                        "(2)删除职工人员\n"
                        "(3)新完成的需要添加的产品数量数据\n"
                        "查询:\n"
                        "(4)按总产品数量查询\n"
                        "(5)按职工姓名查询\n"
                        "(6)输出所有职工的数据\n"
                        "生产量排名名次:\n"
                        "(7)按职工生产的总产品数量查询排名\n"
                        "选择相关操作请输入相对的括号里的阿拉伯数字!\n");

        
        do
        {
                scanf("%c",&p);getchar();
                if((p>='0' && p<='10'))
                        flag=1;
                else
                        printf("指令错误!请重新输入:\n");
        }while(flag==0);

        do{
                switch(p)
                {
                case '0':
                        {
                                do{
                                        printf("请输入职工姓名\n");
                                        scanf("%s",name);
                                        printf("请输入产品数量:\n");
                                        scanf("%lf",&much);getchar();
                                        file[j]=fopen("d:\\document","a+");
                                        fprintf(file[j],"姓名%s产品数量%f\n",name,much);
                                        fflush(file[j]);
                                        j++;
                                        s[i]=(stu *)malloc(sizeof(stu));
                                        strcpy(s[i]->name,name);
                                        s[i]->much=much;
                                        s[i]->sum=s[i]->much;        ////
                                        i++;
                                        printf("数据录入成功,想继续录入吗(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        flag=0;

                                        do
                                        {
                                                if(c!='y' && c!='n')
                                                {
                                                        printf("指令错误!请重新输入!\n");
                                                        scanf("%c",&c);getchar();
                                                }
                                                else
                                                        flag=1;
                                        }while(flag==0);
                                }while(c=='y');
                                break;
                        }
                case '1':                                //程序中的操作(1)
                        {
                                do
                                {
                                        printf("请输入您要增加的职工的姓名:\n");
                                        scanf("%s",name);
                                        printf("请输入产品数量\n");
                                        scanf("%lf",&much);getchar();
                                        file[j]=fopen("d:\\document","a+");
                                        fprintf(file[j],"姓名%s产品数量%f\n",name,much);
                                        fflush(file[j]);
                                        j++;
                                        s[i]=(stu *)malloc(sizeof(stu));
                                        strcpy(s[i]->name,name);
                                        s[i]->much=much;
                                        s[i]->sum=s[i]->much;        ////
                                        i++;

                                        printf("数据录入成功,想继续录入吗(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '2':                                //程序中的操作(2)
                        {
                                flag=0;
                                do{
                                        printf("请输入您要删除的职工姓名:\n");
                                        scanf("%s",name);getchar();
                                        for(k=0;k<i;k++)
                                        {
                                                if(strcmp(name,s[k]->name)==0)
                                                {
                                                        flag=1;
                                                        i--;

                                                        do{
                                                                s[k]=s[k+1];
                                                                k++;
                                                        }while(k<=i);
                                                }
                                        }
                                        if(flag==0)
                                        printf("您要求删除的对象本来就不存在!请检查输入的正确性!\n");
                                        printf("要继续删除吗?(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '3':                                //程序中的操作(3)
                        {
                                flag=0;
                                do
                                {
                                        printf("请输入您要修改的职工的姓名:\n");
                                        scanf("%s",name);

                                        for(k=0;k<i;k++)
                                        {
                                                if(strcmp(name,s[k]->name)==0)
                                                {
                                                        flag=1;
                                                        printf("请输入新完成的产品数量:\n");
                                                        scanf("%lf",&much); getchar();
                                                        s[k]->much+=much;
                                                        s[k]->sum=s[k]->much;        ////
                                                        printf("数据添加成功!\n");
                                                }
                                        }
                                        if(flag==0)
                                        {
                                                printf("您要修改的职工本来就不存在!请检查重新输入!\n");
                                        }
                                        printf("想继续修改吗(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '4':                                //程序中的操作(4)
                        {
                                do
                                {
                                        flag=0;
                                        printf("请输入你要查询职工的总产品数量\n");
                                        scanf("%lf",&much);getchar();
                                        for(k=0;k<i;k++)
                                        {
                                                if(s[k]->sum==much)
                                                {
                                                        flag=1;
                                                        printf("您要查询的职工是:%s\n",(*s[k]).name);
                                                }
                                        }
                                        if(flag==0)
                                                printf("对不起!您要查询的职工不存在!\n");
                                        printf("您想继续查询吗?(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '5':                                //程序中的操作(5)
                        {
                                do{
                                        flag=0;
                                        printf("请输入你要查询的职工姓名\n");
                                        scanf("%s",name);getchar();
                                        for(k=0;k<i;k++)
                                        {
                                                if(strcmp(name,(*s[k]).name)==0)
                                                {
                                                        flag=1;
                                                        printf("您要查询的职工是:%s\n",(*s[k]).name);
                                                        printf("%s的总产品数量是%f\n",(*s[k]).name,(*s[k]).sum);
                                                }
                                        }
                                        if(flag==0)
                                                printf("对不起!您要查询的职工不存在!\n");
                                        printf("您想继续查询吗?(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '6':                                //程序中的操作(6)
                        {
                                printf("本系统所有职工数据如下:\n");
                                if(i==0)
                                        printf("管理系统中没有录入数据或者数据已经被删除!\n");
                                for(k=0;k<i;k++)
                                {
                                        printf("%d 姓名:%s 总产品数量:%f\n",k+1,s[k]->name,(*s[k]).sum);
                                }
                                break;
                        }
                case '7':                                //程序中的操作(7)
                        {
                                printf("本系统所有职工排名如下:\n");
                                for(k=0;k<i-1;k++)
                                {
                                        t=k;
                                        for(y=k+1;y<i;y++)
                                        {
                                                if((s[t]->sum)<(s[y]->sum))
                                                        t=y;
                                                if(t!=k)
                                                {
                                                        b=*s[k];
                                                        *s[k]=*s[t];
                                                        *s[t]=b;
                                                }
                                        }
                                }
                                if(i==0)
                                        printf("管理系统中没有录入数据或者数据已经被删除!\n");
                                for(k=0;k<i;k++)
                                {
                                        printf("%d 姓名:%s总产品数量:%f\n",k+1,s[k]->name,s[k]->sum);
                                }
                                break;
                        }
                }

                printf("您想继续进行其他操作吗?(y/n)\n");
                flag=0;

                do
                {
                        scanf("%c",&w);getchar();
                        if(w!='y' && w!='n')
                                printf("指令错误!请重新输入!\n");
                        else
                                flag=1;
                }while(flag==0);
                if(w=='y')
                {                //添加的行
                        printf("请输入操作代码:(0)职工数据录入;(1)增加职工人员; (2)删除职工人员; (3)新完成需要添加的产品数量数据; (4)按总产品数量查询; (5)按职工姓名查询; (6)输出所有职工的数据; (7)按职工生产的总产品数量查询排名\n");
                        scanf("%c",&p);        getchar();
                }                //添加的行
        }while(w=='y');
        for(k=0;k<i;k++)
        {
                free(s[k]);
                printf("删除所有数据成员\n");
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-6 18:58:37 | 显示全部楼层    本楼为最佳答案   
本帖最后由 superbe 于 2019-9-6 19:03 编辑

我只是改成C能运行了,花了好长时间
我觉得你可以把各个功能做成函数,文件内容和修改操作同步等等很多要完善
vs2012下运行正常
#include <stdio.h>
#include <string.h>
#include <malloc.h>

typedef struct{
        char name[20];
        double much;
        double sum;
}stu;

void main()
{
        char p,w,c,name[20];
        double much;
        stu *s[50],b;
        FILE *file[50];
        int i=0,j=0,k=0,t,y;
        int flag=0;

        printf("请选择您需要的操作!\n"
                        "操作:\n"
                        "(0)职工数据录入\n"
                        "(1)增加职工人员\n"
                        "(2)删除职工人员\n"
                        "(3)新完成的需要添加的产品数量数据\n"
                        "查询:\n"
                        "(4)按总产品数量查询\n"
                        "(5)按职工姓名查询\n"
                        "(6)输出所有职工的数据\n"
                        "生产量排名名次:\n"
                        "(7)按职工生产的总产品数量查询排名\n"
                        "选择相关操作请输入相对的括号里的阿拉伯数字!\n");

        
        do
        {
                scanf("%c",&p);getchar();
                if((p>='0' && p<='10'))
                        flag=1;
                else
                        printf("指令错误!请重新输入:\n");
        }while(flag==0);

        do{
                switch(p)
                {
                case '0':
                        {
                                do{
                                        printf("请输入职工姓名\n");
                                        scanf("%s",name);
                                        printf("请输入产品数量:\n");
                                        scanf("%lf",&much);getchar();
                                        file[j]=fopen("d:\\document","a+");
                                        fprintf(file[j],"姓名%s产品数量%f\n",name,much);
                                        fflush(file[j]);
                                        j++;
                                        s[i]=(stu *)malloc(sizeof(stu));
                                        strcpy(s[i]->name,name);
                                        s[i]->much=much;
                                        s[i]->sum=s[i]->much;        ////
                                        i++;
                                        printf("数据录入成功,想继续录入吗(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        flag=0;

                                        do
                                        {
                                                if(c!='y' && c!='n')
                                                {
                                                        printf("指令错误!请重新输入!\n");
                                                        scanf("%c",&c);getchar();
                                                }
                                                else
                                                        flag=1;
                                        }while(flag==0);
                                }while(c=='y');
                                break;
                        }
                case '1':                                //程序中的操作(1)
                        {
                                do
                                {
                                        printf("请输入您要增加的职工的姓名:\n");
                                        scanf("%s",name);
                                        printf("请输入产品数量\n");
                                        scanf("%lf",&much);getchar();
                                        file[j]=fopen("d:\\document","a+");
                                        fprintf(file[j],"姓名%s产品数量%f\n",name,much);
                                        fflush(file[j]);
                                        j++;
                                        s[i]=(stu *)malloc(sizeof(stu));
                                        strcpy(s[i]->name,name);
                                        s[i]->much=much;
                                        s[i]->sum=s[i]->much;        ////
                                        i++;

                                        printf("数据录入成功,想继续录入吗(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '2':                                //程序中的操作(2)
                        {
                                flag=0;
                                do{
                                        printf("请输入您要删除的职工姓名:\n");
                                        scanf("%s",name);getchar();
                                        for(k=0;k<i;k++)
                                        {
                                                if(strcmp(name,s[k]->name)==0)
                                                {
                                                        flag=1;
                                                        i--;

                                                        do{
                                                                s[k]=s[k+1];
                                                                k++;
                                                        }while(k<=i);
                                                }
                                        }
                                        if(flag==0)
                                        printf("您要求删除的对象本来就不存在!请检查输入的正确性!\n");
                                        printf("要继续删除吗?(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '3':                                //程序中的操作(3)
                        {
                                flag=0;
                                do
                                {
                                        printf("请输入您要修改的职工的姓名:\n");
                                        scanf("%s",name);

                                        for(k=0;k<i;k++)
                                        {
                                                if(strcmp(name,s[k]->name)==0)
                                                {
                                                        flag=1;
                                                        printf("请输入新完成的产品数量:\n");
                                                        scanf("%lf",&much); getchar();
                                                        s[k]->much+=much;
                                                        s[k]->sum=s[k]->much;        ////
                                                        printf("数据添加成功!\n");
                                                }
                                        }
                                        if(flag==0)
                                        {
                                                printf("您要修改的职工本来就不存在!请检查重新输入!\n");
                                        }
                                        printf("想继续修改吗(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '4':                                //程序中的操作(4)
                        {
                                do
                                {
                                        flag=0;
                                        printf("请输入你要查询职工的总产品数量\n");
                                        scanf("%lf",&much);getchar();
                                        for(k=0;k<i;k++)
                                        {
                                                if(s[k]->sum==much)
                                                {
                                                        flag=1;
                                                        printf("您要查询的职工是:%s\n",(*s[k]).name);
                                                }
                                        }
                                        if(flag==0)
                                                printf("对不起!您要查询的职工不存在!\n");
                                        printf("您想继续查询吗?(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '5':                                //程序中的操作(5)
                        {
                                do{
                                        flag=0;
                                        printf("请输入你要查询的职工姓名\n");
                                        scanf("%s",name);getchar();
                                        for(k=0;k<i;k++)
                                        {
                                                if(strcmp(name,(*s[k]).name)==0)
                                                {
                                                        flag=1;
                                                        printf("您要查询的职工是:%s\n",(*s[k]).name);
                                                        printf("%s的总产品数量是%f\n",(*s[k]).name,(*s[k]).sum);
                                                }
                                        }
                                        if(flag==0)
                                                printf("对不起!您要查询的职工不存在!\n");
                                        printf("您想继续查询吗?(y/n)\n");
                                        scanf("%c",&c);getchar();
                                        if(c!='y' && c!='n')
                                        {
                                                printf("指令错误!请重新输入!\n");
                                                scanf("%c",&c);getchar();
                                        }
                                }while(c=='y');
                                break;
                        }
                case '6':                                //程序中的操作(6)
                        {
                                printf("本系统所有职工数据如下:\n");
                                if(i==0)
                                        printf("管理系统中没有录入数据或者数据已经被删除!\n");
                                for(k=0;k<i;k++)
                                {
                                        printf("%d 姓名:%s 总产品数量:%f\n",k+1,s[k]->name,(*s[k]).sum);
                                }
                                break;
                        }
                case '7':                                //程序中的操作(7)
                        {
                                printf("本系统所有职工排名如下:\n");
                                for(k=0;k<i-1;k++)
                                {
                                        t=k;
                                        for(y=k+1;y<i;y++)
                                        {
                                                if((s[t]->sum)<(s[y]->sum))
                                                        t=y;
                                                if(t!=k)
                                                {
                                                        b=*s[k];
                                                        *s[k]=*s[t];
                                                        *s[t]=b;
                                                }
                                        }
                                }
                                if(i==0)
                                        printf("管理系统中没有录入数据或者数据已经被删除!\n");
                                for(k=0;k<i;k++)
                                {
                                        printf("%d 姓名:%s总产品数量:%f\n",k+1,s[k]->name,s[k]->sum);
                                }
                                break;
                        }
                }

                printf("您想继续进行其他操作吗?(y/n)\n");
                flag=0;

                do
                {
                        scanf("%c",&w);getchar();
                        if(w!='y' && w!='n')
                                printf("指令错误!请重新输入!\n");
                        else
                                flag=1;
                }while(flag==0);
                if(w=='y')
                {                //添加的行
                        printf("请输入操作代码:(0)职工数据录入;(1)增加职工人员; (2)删除职工人员; (3)新完成需要添加的产品数量数据; (4)按总产品数量查询; (5)按职工姓名查询; (6)输出所有职工的数据; (7)按职工生产的总产品数量查询排名\n");
                        scanf("%c",&p);        getchar();
                }                //添加的行
        }while(w=='y');
        for(k=0;k<i;k++)
        {
                free(s[k]);
                printf("删除所有数据成员\n");
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-6 22:33:32 | 显示全部楼层
头文件改一下
输入输出改一下
函数分离
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-15 21:54:37 | 显示全部楼层
superbe 发表于 2019-9-6 18:58
我只是改成C能运行了,花了好长时间
我觉得你可以把各个功能做成函数,文件内容和修改操作同步 ...

辛苦了大哥,我自己花了几天时间也做了个用c语言运行的程序,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-15 23:10:56 | 显示全部楼层
看到了程序,写得不错,学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 01:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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