| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 464 人关注过本帖
标题:多文件编译怎么弄啊?谁会?这个程序做成多文件形式怎么弄?
只看楼主 加入收藏
tudou2xigua
Rank: 2
等 级:论坛游民
帖 子:87
专家分:54
注 册:2011-3-20
结帖率:90.32%
收藏
已结贴  问题点数:50 回复次数:1 
多文件编译怎么弄啊?谁会?这个程序做成多文件形式怎么弄?
多文件编译怎么弄啊?谁会?这个程序做成多文件形式怎么弄?能写具体一点么?例如.h文件下放什么?.c文件下放什么?具体怎么连接?给位高手帮帮忙吧,头都大了。。。感激不尽
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define LEN sizeof(struct node)
struct node
{
 long num;
 char name[10];
 float score1,score2,score3;
 float sum,aver;
 struct node *next;
};
int n=0;
struct node* creat(void)
{
 struct node*head,*p1,*p2;
 p1=p2=(struct node*)malloc(LEN);
 head=p1;
 printf("输入学号、姓名、成绩:\n");
 scanf("%ld %s %f %f %f",&p1->num,p1->name,&p1->score1,&p1->score2,&p1->score3);
 while(p1->num!=0)
 {
  n=n+1;
  if(n==1)
   head=p1;
  else
   p2->next=p1;
  p2=p1;
  p1=(struct node*)malloc(LEN);
  scanf("%ld %s %f %f %f",&p1->num,p1->name,&p1->score1,&p1->score2,&p1->score3);
 }
 p2->next=NULL;
 return(head);
}

void disp(struct node*head)
{
 struct node*p;
 p=head;
 printf("输出:\n");
 do
 {
     p->sum=p->score1+p->score2+p->score3;
     p->aver=p->sum/3;
  printf("%ld %s %.2f %.2f %.2f %.2f %.2f\n",p->num,p->name,p->score1,p->score2,p->score3,p->sum,p->aver);
  p=p->next;
 }
 while(p!=NULL);
}
void search(struct node*head)
{
 struct node*p;
 long numb;
 p=head;
 printf("输入要查找的学生学号:");
 scanf("%ld",&numb);
 while(p->num!=numb&&p->next!=NULL)
  p=p->next;
  if(p->num==numb)
   printf("%ld %s %.2f %.2f %.2f\n",p->num,p->name,p->score1,p->score2,p->score3);
  else
   printf("不存在该学生!");
}
struct node*sort(struct node*head)
{
    int i,j;
    long k;
    float temp;
    char t[10];
    struct node*p,*max;
    p=head;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            max=p;
            p=p->next;
            if(max->sum<p->sum)
            {
                temp=max->sum;
                max->sum=p->sum;
                p->sum=temp;

                temp=max->aver;
                max->aver=p->aver;
                p->aver=temp;

                temp=max->score1;
                max->score1=p->score1;
                p->score1=temp;

                temp=max->score2;
                max->score2=p->score2;
                p->score2=temp;

                temp=max->score3;
                max->score3=p->score3;
                p->score3=temp;

                strcpy(t,max->name);
                strcpy(max->name,p->name);
                strcpy(p->name,t);

                k=max->num;
                max->num=p->num;
                p->num=k;
            }
        }
        p=head;
        max=head;
    }
    return(head);
}

void display(struct node*head)
{
 struct node*p;
 p=head;
 printf("按总分从大到小排序后:\n");
 do
 {
  printf("%ld %s %.2f %.2f %.2f %.2f %.2f\n",p->num,p->name,p->score1,p->score2,p->score3,p->sum,p->aver);
  p=p->next;
 }
 while(p!=NULL);
}
            

int main()
{
 struct node*head;
 head=creat();
 disp(head);
 search(head);
 sort(head);
 display(head);
 return 0;
}
2011-06-30 19:20
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:50 
你要几个文件呀?从你的代码里也看不出来呀?
2011-06-30 19:51
快速回复:多文件编译怎么弄啊?谁会?这个程序做成多文件形式怎么弄?
数据加载中...
 
   



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

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