| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 585 人关注过本帖
标题:[原创来看看这个程序吧
只看楼主 加入收藏
xiefengfan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-25
收藏
 问题点数:0 回复次数:4 
[原创来看看这个程序吧

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

struct student/*结构体的定义*/
{
int xh;/*学号*/
char xm[20];/*姓名*/
char xb[10];/*性别*/
char sr[8];/*生日*/
char xbb[20];/*所在系*/
int sh;/*宿舍号*/
int fy;/*费用*/
char sz[10];/*宿舍长*/
struct student *next;/*指向下一个接点的指针*/
};

main()/*主函数*/
{
struct student *head=NULL;
struct student *createmain(struct student *head);/*函数的声明*/
struct student *allmain(struct student *head);


int pd;/*实现循环的变量*/
do{
pd=1;
printf("花边\n");
printf("格式菜单视图\n");
printf("<0>建立\n");
printf("<1>查询\n");
printf("<5>退出\n");
printf("\n");
switch(getch())
{
case '0' : head=createmain(head);break;
case '1' : head=allmain(head);break;
case '5' : printf("再见,欢迎\n");pd=0;break;
default :pd=0;
}
}while(pd != 0);

}
struct student *createmain(struct student *head)/*建立记录*/
{
struct student *p1,*p2;
int n,i;
p1=p2=head;
if(head==NULL)
{
printf("输入你想建立的记录个数\n");
scanf("%d",&n);
if(n == 0)
printf("错误");
for(i=1;i<=n;i++)
{
p1=(struct student *)malloc(sizeof(struct student));
if(head==NULL)
head=p1;
printf("<%d>个学生\n",i);
printf("学号:");
scanf("%d",&p1->xh);
printf("姓名:");
scanf("%s",p1->xm);
printf("性别:");
scanf("%s",p1->xb);
printf("生日:");
scanf("%s",p1->sr);
printf("费用:");
scanf("%d",&p1->fy);
printf("宿舍号:");
scanf("%d",&p1->sh);
printf("宿舍长:");
scanf("%s",p1->sz);
printf("系别:");
scanf("%s",p1->xbb);

p2->next=p1;
p2=p1;
p2->next=NULL;
}
}
else
printf("错误建立");


return(head);
}
struct student *allmain(struct student *head)/*全部查询*/
{
struct student *p1;
p1=head;
if(head!=NULL)
{
p1=head;
do
{
printf("学号=%d 姓名=%s 性别=%s 生日=%s 系别=%s 费用=%d 宿舍号=%d 宿舍长=%s\n",p1->xh,p1->xm,p1->xb,p1->sr,p1->xbb,p1->fy,p1->sh,p1->sz);
p1=p1->next;
}while(p1!=NULL) ;
}
else
printf("错误\n");
return(head);
}

假如有能改通过的朋友加我QQ6997467~欢迎讨论

2006-03-25 20:54
No完成
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-11-11
收藏
得分:0 

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

struct student/*结构体的定义*/
{
int xh;/*学号*/
char xm[20];/*姓名*/
char xb[10];/*性别*/
char sr[8];/*生日*/
char xbb[20];/*所在系*/
int sh;/*宿舍号*/
int fy;/*费用*/
char sz[10];/*宿舍长*/
struct student *next;/*指向下一个接点的指针*/
};


main()/*主函数*/
{
struct student *head=NULL;
struct student *createmain(struct student *head);/*函数的声明*/
struct student *allmain(struct student *head);


int pd;/*实现循环的变量*/
do{
pd=1;
printf("花边\n");
printf("格式菜单视图\n");
printf("<0>建立\n");
printf("<1>查询\n");
printf("<5>退出\n");
printf("\n");
switch(getchar())
{
case '0' : head=createmain(head);break;
case '1' : head=allmain(head);break;
case '5' : printf("再见,欢迎\n");pd=0;break;
default :pd=0;
}
}while(pd != 0);

}
struct student *createmain(struct student *head)/*建立记录*/
{
struct student *p1,*p2;
int n,i;
p1=p2=head;
if(head==NULL)
{
printf("输入你想建立的记录个数\n");
scanf("%d",&n);
if(n == 0)
printf("错误");
for(i=1;i<=n;i++)
{
p1=(struct student *)malloc(sizeof(struct student));
if(head==NULL)
head=p1;
printf("<%d>个学生\n",i);
printf("学号:");
scanf("%d",&p1->xh);
printf("姓名:");
scanf("%s",p1->xm);
printf("性别:");
scanf("%s",p1->xb);
printf("生日:");
scanf("%s",p1->sr);
printf("费用:");
scanf("%d",&p1->fy);
printf("宿舍号:");
scanf("%d",&p1->sh);
printf("宿舍长:");
scanf("%s",p1->sz);
printf("系别:");
scanf("%s",p1->xbb);

p2->next=p1;
p2=p1;
p2->next=NULL;
}
}
else
printf("错误建立");


return(head);
}
struct student *allmain(struct student *head)/*全部查询*/
{
struct student *p1;
p1=head;
if(head!=NULL)
{
p1=head;
do
{
printf("学号=%d 姓名=%s 性别=%s 生日=%s 系别=%s 费用=%d 宿舍号=%d 宿舍长=%s\n",p1->xh,p1->xm,p1->xb,p1->sr,p1->xbb,p1->fy,p1->sh,p1->sz);
p1=p1->next;
}while(p1!=NULL) ;
}
else
printf("错误\n");
return(head);
}

2006-03-25 21:12
hongling
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-2-18
收藏
得分:0 
还看不懂

2006-03-25 23:39
cuckoos123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-3-25
收藏
得分:0 
能通过啊,我用的WIN-TC
2006-03-26 09:27
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 
以下是引用No完成在2006-3-25 21:12:00的发言:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

struct student/*结构体的定义*/
{
int xh;/*学号*/
char xm[20];/*姓名*/
char xb[10];/*性别*/
char sr[8];/*生日*/
char xbb[20];/*所在系*/
int sh;/*宿舍号*/
int fy;/*费用*/
char sz[10];/*宿舍长*/
struct student *next;/*指向下一个接点的指针*/
};


main()/*主函数*/
{
struct student *head=NULL;
struct student *createmain(struct student *head);/*函数的声明*/
struct student *allmain(struct student *head);


int pd;/*实现循环的变量*/
do{
pd=1;
printf("花边\n");
printf("格式菜单视图\n");
printf("<0>建立\n");
printf("<1>查询\n");
printf("<5>退出\n");
printf("\n");
//改成: char c=getchar; if(c=='\n') c=getchar(); switch(c) {...} 这样当遇到回车时再读取一个字符
switch(getchar()) //建立完成后我总要按回车确认吧,此时getchar()=='\n',程序就结束了,我没办法查询啊
{
case '0' : head=createmain(head);break;
case '1' : head=allmain(head);break;
case '5' : printf("再见,欢迎\n");pd=0;break;
default :pd=0;
}
}while(pd != 0);

}
struct student *createmain(struct student *head)/*建立记录*/
{
struct student *p1,*p2;
int n,i;
p1=p2=head;
if(head==NULL)
{
printf("输入你想建立的记录个数\n");
scanf("%d",&n);
if(n == 0)
printf("错误");
for(i=1;i<=n;i++)
{
p1=(struct student *)malloc(sizeof(struct student));
if(head==NULL)
p2=head=p1; //否则p2的初始指向未知,运行出错
printf("<%d>个学生\n",i);
printf("学号:");
scanf("%d",&p1->xh);
printf("姓名:");
scanf("%s",p1->xm);
printf("性别:");
scanf("%s",p1->xb);
printf("生日:");
scanf("%s",p1->sr);
printf("费用:");
scanf("%d",&p1->fy);
printf("宿舍号:");
scanf("%d",&p1->sh);
printf("宿舍长:");
scanf("%s",p1->sz);
printf("系别:");
scanf("%s",p1->xbb);

p2->next=p1;
p2=p1;
p2->next=NULL;
}
}
else
printf("错误建立");


return(head);
}
struct student *allmain(struct student *head)/*全部查询*/
{
struct student *p1;
p1=head;
if(head!=NULL)
{
p1=head;
do
{
printf("学号=%d 姓名=%s 性别=%s 生日=%s 系别=%s 费用=%d 宿舍号=%d 宿舍长=%s\n",p1->xh,p1->xm,p1->xb,p1->sr,p1->xbb,p1->fy,p1->sh,p1->sz);
p1=p1->next;
}while(p1!=NULL) ;
}
else
printf("错误\n");
return(head);
}


不知道兄台编译成功后有没运行过,我运行后发现了点小问题


2006-03-26 09:54
快速回复:[原创来看看这个程序吧
数据加载中...
 
   



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

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