| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 722 人关注过本帖
标题:各位高手麻烦帮我看看这个程序为什么不能正常运行??急需帮助,谢谢!
只看楼主 加入收藏
紫竹华枫
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-2-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
各位高手麻烦帮我看看这个程序为什么不能正常运行??急需帮助,谢谢!
工人工资管理系统:基本工资(jbgz),奖金(jj),保险(bx),实发工资(sfgz);


#include"stdio.h"
#include"string.h"
struct salary{
float jbgz,jj,bx,sfgz;};

struct employee{
char num[15];
char name[15];
struct salary p;};

void Menu(){
printf("-------------------Menu--------------------\n");
printf("0------------------over--------------------\n");
printf("1----putout all worker's information:------\n");
printf("2----ji ben gong zi of every worker--------\n");
printf("3---------jiangjin of every worker---------\n");
printf("4----------baoxian of every worker---------\n");
}

void paixu1(struct employee e[],int n)
{int i,k,min;
 struct employee t;
 for(k=0;k<=n-2;k++)
 { min=k;
  for(i=k+1;i<=n-1;i++)
  if(e[i].p.sfgz<e[min].p.sfgz) min=i;
  t=e[min];
  e[min]=e[k];
  e[k]=t;}
  for(i=0;i<n-1;i++)
  { printf("%s %s",e[i].num,e[i].name);
    printf("%f %f %f %f\n",e[i].p.jbgz,e[i].p.jj,e[i].p.bx,e[i].p.sfgz);
    }
 }

void jbgzp(struct employee e[],int n)
{int i,count=1,k,max;
 struct employee t;
 while(count!=n-1)
 { k=0;
   max=k;
   for(i=k+1;i<=n-count;i++)
   if(e[i].p.jbgz>e[max].p.jbgz) max=i;
   t=e[max];
   e[max]=e[n-count];
   e[n-count]=t;
   count++;}
 for(i=0;i<n-1;i++)
 printf("%s %s %f\n",e[i].num,e[i].name,e[i].p.jbgz);
 }

void jiangjinp(struct employee e[],int n)
{ int i,k,min;
 struct employee t;
 for(k=0;k<=n-2;k++)
 { min=k;
  for(i=k+1;i<=n-1;i++)
  if(e[i].p.jj<e[min].p.jj) min=i;
  t=e[min];
  e[min]=e[k];
  e[k]=t;}
 for(i=0;i<=n-1;i++)
 printf("%s %s %f\n",e[i].num,e[i].name,e[i].p.jj);
 }

void baoxianp(struct employee e[],int n)
{int i,k,max,count=1;
 struct employee t;
 while(count!=n-1)
 { k=0;
   max=k;
  for(i=k+1;i<=n-count;i++)
  if(e[i].p.bx>e[max].p.bx) max=i;
  t=e[max];
  e[max]=e[n-count];
  e[n-count]=t;
  count++;}
 for(i=0;i<=n-1;i++)
 printf("%s %s %f\n",e[i].num,e[i].name,e[i].p.bx);
}

void main()
{ int i=-1,n,k,j;
 struct employee e[50];clrscr();
 printf("please enter these employee's information:\n");
 printf("the information include number name jbgz jj bx:\n");

 do{
 i=i+1;
 scanf("%s%s%f%f%f",e[i].num,e[i].name,&e[i].p.jbgz,&e[i].p.jj,&e[i].p.bx);
 e[i].p.sfgz=e[i].p.jbgz+e[i].p.jj-e[i].p.bx;
 printf("enter 0 is over,1 is continu:");
 scanf("%d",&j);
 }while(j==1);

 n=i+1;

 Menu();

 do{
 printf("please choice:\n");
 scanf("%d",&k);
 switch(k){
 case 0:printf("Thank you for use!");break;
 case 1:printf("all worker's information is:\n");
 paixu1(e,n);
 break;
 case 2:printf(" ji ben gong zi of every worker is:\n");
 jbgzp(e,n);
 break;
 case 3:printf("jiang jin of every worker is:\n");
 jiangjinp(e,n);
 break;
 case 4:printf("bao xian of every worker is:\n");
 baoxianp(e,n);
 break;
   }
  }while(k!=0);
 getchar();
 getchar();
 }
搜索更多相关主题的帖子: 运行 麻烦 
2010-02-21 14:44
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:3 
哪不能正常运行啊,楼主得说清楚
2010-02-21 15:00
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:3 
这种代码

老太太的裹脚布,又臭又长。

[ 本帖最后由 Devil_W 于 2010-2-21 15:15 编辑 ]
2010-02-21 15:13
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:3 
将main改下就行了(TC2.0)
void main()
{ int i=-1,n,k,j;
float x,y,z;
struct employee e[50];clrscr();
printf("please enter these employee's information:\n");
printf("the information include number name jbgz jj bx:\n");

do{
i=i+1;

scanf("%s%s%f%f%f",e[i].num,e[i].name,&x,&y,&z);
e[i].p.jbgz=x,e[i].p.jj=y,e[i].p.bx=z;

e[i].p.sfgz=e[i].p.jbgz+e[i].p.jj-e[i].p.bx;
printf("enter 0 is over,1 is continu:");
scanf("%d",&j);
}while(j==1);

n=i+1;
Menu();
do{

printf("please choice:\n");
scanf("%d",&k);
switch(k){
case 0:printf("Thank you for use!");break;
case 1:printf("all worker's information is:\n");
paixu1(e,n);
break;
case 2:printf(" ji ben gong zi of every worker is:\n");
jbgzp(e,n);
break;
case 3:printf("jiang jin of every worker is:\n");
jiangjinp(e,n);
break;
case 4:printf("bao xian of every worker is:\n");
baoxianp(e,n);
break;
   }
  }while(1);
getchar();
getchar();
}

★★★★★为人民服务★★★★★
2010-02-21 16:44
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
收藏
得分:3 
源代码没风格  
楼主是不是没个性

注释呢?
报错信息呢?

  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。
2010-02-21 17:10
dydsdyds
Rank: 6Rank: 6
来 自:Java
等 级:侠之大者
帖 子:217
专家分:457
注 册:2010-2-14
收藏
得分:3 
在vc++6.0中,把第85行
struct employee e[50];clrscr();

改为
struct employee e[50],clrscr();

就可以了。

c语言刚开一学期,就换开VB...
2010-02-21 19:34
幸运之星
Rank: 4
来 自:吉林
等 级:业余侠客
帖 子:275
专家分:239
注 册:2009-6-5
收藏
得分:3 
楼上不对吧
clrscr();好像不会支持吧

程序代码:
#include"stdio.h"
#include"string.h"
struct salary{
float jbgz,jj,bx,sfgz;};

struct employee{
char num[15];
char name[15];
struct salary p;};

void Menu(){
printf("-------------------Menu--------------------\n");
printf("0------------------over--------------------\n");
printf("1----putout all worker's information:------\n");
printf("2----ji ben gong zi of every worker--------\n");
printf("3---------jiangjin of every worker---------\n");
printf("4----------baoxian of every worker---------\n");
}

void paixu1(struct employee e[],int n)
{int i,k,min;
struct employee t;
for(k=0;k<=n-2;k++)
{ min=k;
  for(i=k+1;i<=n-1;i++)
  if(e[i].p.sfgz<e[min].p.sfgz) min=i;
  t=e[min];
  e[min]=e[k];
  e[k]=t;}
  for(i=0;i<n-1;i++)
  { printf("%s %s",e[i].num,e[i].name);
    printf("%f %f %f %f\n",e[i].p.jbgz,e[i].p.jj,e[i].p.bx,e[i].p.sfgz);
    }
}

void jbgzp(struct employee e[],int n)
{int i,count=1,k,max;
struct employee t;
while(count!=n-1)
{ k=0;
   max=k;
   for(i=k+1;i<=n-count;i++)
   if(e[i].p.jbgz>e[max].p.jbgz) max=i;
   t=e[max];
   e[max]=e[n-count];
   e[n-count]=t;
   count++;}
for(i=0;i<n-1;i++)
printf("%s %s %f\n",e[i].num,e[i].name,e[i].p.jbgz);
}

void jiangjinp(struct employee e[],int n)
{ int i,k,min;
struct employee t;
for(k=0;k<=n-2;k++)
{ min=k;
  for(i=k+1;i<=n-1;i++)
  if(e[i].p.jj<e[min].p.jj) min=i;
  t=e[min];
  e[min]=e[k];
  e[k]=t;}
for(i=0;i<=n-1;i++)
printf("%s %s %f\n",e[i].num,e[i].name,e[i].p.jj);
}

void baoxianp(struct employee e[],int n)
{int i,k,max,count=1;
struct employee t;
while(count!=n-1)
{ k=0;
   max=k;
  for(i=k+1;i<=n-count;i++)
  if(e[i].p.bx>e[max].p.bx) max=i;
  t=e[max];
  e[max]=e[n-count];
  e[n-count]=t;
  count++;}
for(i=0;i<=n-1;i++)
printf("%s %s %f\n",e[i].num,e[i].name,e[i].p.bx);
}

void main()
{ int i=-1,n,k,j;
struct employee e[50];

printf("please enter these employee's information:\n");
printf("the information include number name jbgz jj bx:\n");

do{
i=i+1;
scanf("%s%s%f%f%f",e[i].num,e[i].name,&e[i].p.jbgz,&e[i].p.jj,&e[i].p.bx);
e[i].p.sfgz=e[i].p.jbgz+e[i].p.jj-e[i].p.bx;
printf("enter 0 is over,1 is continu:");
scanf("%d",&j);
}while(j==1);

n=i+1;

Menu();

do{
printf("please choice:\n");
scanf("%d",&k);
switch(k){
case 0:printf("Thank you for use!");break;
case 1:printf("all worker's information is:\n");
paixu1(e,n);
break;
case 2:printf(" ji ben gong zi of every worker is:\n");
jbgzp(e,n);
break;
case 3:printf("jiang jin of every worker is:\n");
jiangjinp(e,n);
break;
case 4:printf("bao xian of every worker is:\n");
baoxianp(e,n);
break;
   }
  }while(k!=0);
getchar();
getchar();
}

2010-02-24 23:48
快速回复:各位高手麻烦帮我看看这个程序为什么不能正常运行??急需帮助,谢谢! ...
数据加载中...
 
   



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

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