| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:为什么能编译却不能运行
取消只看楼主 加入收藏
qwxue
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2011-11-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
为什么能编译却不能运行
#include<stdio.h>
 #include<math.h>
 #include<stdlib.h>
#include<malloc.h>  
typedef struct student  {
int num;  char name[20];
 int old;
int phone;  
struct student*next;  }Student;
  char ch;  
Student*p,*q,*s,*head;
 Student  * creat()
{  
Student*p;
 head=(Student*)malloc(sizeof(Student));
 s=head;  head->next=NULL;  
while((ch=getchar( ))!='0' )
 {  
p=(Student*)malloc(sizeof(Student));
 printf("学号:  ");  
scanf("%d",&p->num);  
printf("姓名:  ");  
fflush(stdin);  
scanf("%s",&p->name[20]);
 printf("年龄:  ");
 scanf("%d",&p->old);
 printf("电话:  ");
  scanf("%d",&p->phone);  
s->next=p;
 s=p;  
p->next=NULL;
 printf("0键结束输入,非0键继续");
 ch=getchar( );
}
return head;
}
Student  * insert(Student*h)
 {
int x;
Student*s;
 printf("输入插入学生前面的学号:");
scanf("%d",&x);
q=head;
p=head->next;
 s=(Student*)malloc(sizeof(Student));
 printf("输入学号:");
fflush(stdin); scanf("%d",&p->num);
 printf("输入姓名:"); fflush(stdin); scanf ("%s",&p->name[20]);
printf("输入年龄:"); scanf("%d",&p->old);
 printf("输入电话"); scanf("%d",&p->phone);
while(p!=NULL&&p->num!=x) {
{  
   q=p;   
  p=p->next;
} q->next=s; s->next=p;
}
 return head;
}
void output(Student*h)
 {    p=head;  
  printf("学号         姓名           年龄             电话号码\n\n");  
  for(;p!=NULL;p=p->next)      printf("%d%s%d%d",p->num,p->name[20],p->old,p->phone);
 }  
Student* delet(Student*h)
 {
int x; printf("删除该学生信息的学号是: "); scanf("%d",&x);  p=head; while(p->next!=NULL&&p->next->num!=x)p++; if(p->next==NULL) printf("\n 该学号不存在 !"); else {q=p->next;      p->next=q->next;      free(q);
}  
return head;  
}  
void find(Student *)
{
Student*p; p=head; printf("请输入学号:  "); char x; scanf("%d",&x); while(p&&p->num!=x) p=p->next;    printf("学号         姓名           年龄             电话号码\n\n");     printf("%d%s%d%d",p->num,p->name[20],p->old,p->phone);
}
  int main()
 {   int cord;     
 do{      printf("  主菜单  \n");     printf("  1  建立线性表  \n");     printf("  2  插入一个元素 \n");     printf("  3  显示         \n");     printf("  4  删除一个元素  \n");     printf("  5  查找         \n");     printf("  6 结束程序运行  \n");     printf("----------------------\n");      printf(" 请输入您的选择(1,2,3,4,5)");       scanf("%d",&cord);  switch(cord)  {  case 1: creat();break;  case 2: insert(head);break;  case 3: output(head);break;  case 4: delet(head);break;  case 5:   find(head);break;  case 6:exit(0);  
 }  }while(cord<=6);  
 return 0;  }

[ 本帖最后由 qwxue 于 2011-11-21 21:23 编辑 ]
搜索更多相关主题的帖子: 姓名 include 
2011-11-21 21:17
qwxue
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2011-11-7
收藏
得分:0 
回复 2楼 cosam
不好意思啊。。。现在好看点了。。麻烦。。麻烦下
2011-11-21 21:24
qwxue
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2011-11-7
收藏
得分:0 
回复 5楼 随风飘荡
谢谢。。谢谢。。谢谢。。谢谢你
2011-11-22 18:19
快速回复:为什么能编译却不能运行
数据加载中...
 
   



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

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