鱼C论坛

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

求助 编译没有错 运行后会退出

[复制链接]
发表于 2016-3-19 16:10:02 | 显示全部楼层 |阅读模式

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

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

x
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdlib.h>
  4. #define LEN sizeof(struct SYS)
  5. int n;
  6. union bumen
  7. {
  8.         int banji;
  9.         char zhiwu[10];
  10. };
  11. struct SYS
  12. {
  13.         int num;
  14.         char name[10];
  15.         char sex[5];
  16.         char job;
  17.         union bumen aa;
  18.         struct SYS *next;
  19. };
  20. struct SYS *create()
  21. {
  22.         struct SYS *p1,*p2,*phead;
  23.         p1=p2=(struct SYS*)malloc(LEN);
  24.         printf("请输入序号  ");
  25.         scanf("%d",&p1->num);
  26.         printf("请输入姓名  ");
  27.         scanf("%s",&p1->name);
  28.         printf("请输入性别  ");
  29.         scanf("%s",&p1->sex);
  30.         printf("请输入工作  ");
  31.         scanf("%s",&p1->job);
  32.         if(p1->job=='s')
  33.         {
  34.                 printf("请输入班级  ");
  35.                 scanf("%d",&p1->aa.banji);       
  36.         }
  37.         else
  38.         {
  39.                 if(p1->job=='t')
  40.                 {
  41.                         printf("请输入职务  ");
  42.                         scanf("%s",p1->aa.zhiwu);
  43.                 }
  44.                 else
  45.                 {
  46.                         printf("没有内容\n");
  47.                 }
  48.         }
  49.         n=0;
  50.         phead=NULL;
  51.         while(p1->num)
  52.         {
  53.                  n++;
  54.                  if(n==1)
  55.                  {
  56.                          phead=p1;
  57.                  }
  58.                  else
  59.                  {
  60.                          p2->next=p1;
  61.                  }
  62.                  p2=p1;
  63.                  p1=(struct SYS*)malloc(LEN);
  64.                         printf("请输入序号  ");
  65.                         scanf("%d",&p1->num);
  66.                         printf("请输入姓名  ");
  67.                         scanf("%s",&p1->name);
  68.                         printf("请输入性别  ");
  69.                         scanf("%s",&p1->sex);
  70.                         printf("请输入工作  ");
  71.                         scanf("%s",&p1->job);
  72.                         if(p1->job=='s')
  73.                         {
  74.                                 printf("请输入班级  ");
  75.                                 scanf("%d",&p1->aa.banji);       
  76.                         }
  77.                         else
  78.                         {
  79.                                 if(p1->job=='t')
  80.                                 {
  81.                                         printf("请输入职务  ");
  82.                                         scanf("%s",p1->aa.zhiwu);
  83.                                 }
  84. //                                else
  85. //                                {
  86. //                                        printf("没有内容\n");
  87. //                                }
  88.                         }
  89.          }
  90.        
  91.         p2->next=NULL;
  92.         return phead;
  93. }

  94. void print(struct SYS *p)
  95. {
  96.         do
  97.         {
  98.                 if(p->job=='s')
  99.                 {
  100.                         printf("    序号    姓名    性别    工作    部门");
  101.                         printf("%-6d%-6s%-6s%-6s%d",p->num,p->name,p->sex,p->job,p->aa.banji);
  102.                  }
  103.                 else
  104.                 {
  105.                         printf("    序号    姓名    性别    工作    部门");
  106.                         printf("%-6d%-6s%-6s%-6s%-6s",p->num,p->name,p->sex,p->job,p->aa.zhiwu);
  107.                        
  108.                 }
  109.                 p=p->next;
  110.                
  111.          }while(p);
  112. }


  113. void main()
  114. {
  115.         struct SYS *str;
  116.         str=create();
  117.         print(str);
  118.        
  119.        
  120. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-3-20 10:32:40 | 显示全部楼层
我知道了  Job的类型是c
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-20 12:39:30 | 显示全部楼层
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdlib.h>
  4. #define LEN sizeof(struct SYS)
  5. int n;
  6. union bumen
  7. {
  8.         int banji;
  9.         char zhiwu[10];
  10. };
  11. struct SYS
  12. {
  13.         int num;
  14.         char name[10];
  15.         char sex[5];
  16.         char job;
  17.         union bumen aa;
  18.         struct SYS *next;
  19. };
  20. struct SYS *create()
  21. {
  22.         struct SYS *p1,*p2,*phead;
  23.         p1=p2=(struct SYS*)malloc(LEN);
  24.         printf("请输入序号  ");
  25.         scanf("%d",&p1->num);
  26.         printf("请输入姓名  ");
  27.         scanf("%s",&p1->name);
  28.         printf("请输入性别  ");
  29.         scanf("%s",&p1->sex);
  30.         printf("请输入工作  ");
  31.         scanf("%c",&p1->job);  请问这为什么用c不行,要用s
  32.         if(p1->job=='s')
  33.         {
  34.                 printf("请输入班级  ");
  35.                 scanf("%d",&p1->aa.banji);       
  36.         }
  37.         else
  38.         {
  39.                 if(p1->job=='t')
  40.                 {
  41.                         printf("请输入职务  ");
  42.                         scanf("%s",p1->aa.zhiwu);
  43.                 }
  44.                 else
  45.                 {
  46.                         printf("没有内容\n");
  47.                 }
  48.         }
  49.         n=0;
  50.         phead=NULL;
  51.         while(p1->num)
  52.         {
  53.                  n++;
  54.                  if(n==1)
  55.                  {
  56.                          phead=p1;
  57.                  }
  58.                  else
  59.                  {
  60.                          p2->next=p1;
  61.                  }
  62.                  p2=p1;
  63.                  p1=(struct SYS*)malloc(LEN);
  64.                         printf("请输入序号  ");
  65.                         scanf("%d",&p1->num);
  66.                         printf("请输入姓名  ");
  67.                         scanf("%s",&p1->name);
  68.                         printf("请输入性别  ");
  69.                         scanf("%s",&p1->sex);
  70.                         printf("请输入工作  ");
  71.                         scanf("%c",&p1->job);
  72.                         if(p1->job=='s')
  73.                         {
  74.                                 printf("请输入班级  ");
  75.                                 scanf("%d",&p1->aa.banji);       
  76.                         }
  77.                         else
  78.                         {
  79.                                 if(p1->job=='t')
  80.                                 {
  81.                                         printf("请输入职务  ");
  82.                                         scanf("%s",p1->aa.zhiwu);
  83.                                 }
  84. //                                else
  85. //                                {
  86. //                                        printf("没有内容\n");
  87. //                                }
  88.                         }
  89.          }
  90.         free(p1);
  91.         p2->next=NULL;
  92.         return phead;
  93. }

  94. void print(struct SYS *p)
  95. {
  96.         do
  97.         {
  98.                 if(p->job=='s')
  99.                 {
  100.                         printf("    序号    姓名    性别    工作    部门\n");
  101.                         printf("     %-6d%-6s    %-6s    %-6c %-6d\n",p->num,p->name,p->sex,p->job,p->aa.banji);
  102.                  }
  103.                 else
  104.                 {
  105.                         printf("     %-6d%-6s    %-6s    %-6c %-6s\n",p->num,p->name,p->sex,p->job,p->aa.zhiwu);
  106.                        
  107.                 }
  108.                 p=p->next;
  109.                
  110.          }while(p);
  111. }


  112. int main()
  113. {
  114.         struct SYS *str;
  115.         str=create();
  116.         print(str);
  117.        
  118.        
  119. }
复制代码

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 自力更生!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 10:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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