| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:我想例用函数编写一个 学生信息“系统”,请大神帮忙看看哪里出错,具体内 ...
只看楼主 加入收藏
笑死555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-8-6
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:11 
我想例用函数编写一个 学生信息“系统”,请大神帮忙看看哪里出错,具体内容在里面
这道题我把所有算法写在主函数里面能够成功运行,但是我想利用函数,却有错误
我的思路是
主函数     【里面只调用函数,不写具体算法】
{
输入函数();
输出函数();
排序函数();
return 0;
}
输入函数()
{
具体算法;
}
输出函数()
{
具体算法;
}
排序函数()
{
具体算法;
}

希望各位大神能够告诉我是思路错误,还是编码的错误,多谢!


代码如下:
#include<stdio.h>
#include<malloc.h>
struct Student  //定义结构类型
{
    int age;
    int score;
    char name[100];
};
int len;   //想输出元素个数(我把所有变量定义在前面,这样主函数和其他函数都可以调用)
int i;
struct Student *parr;
void input(struct Student *parr, int len);  //声明输入函数
void output(struct Student *parr, int len);  //声明输出函数
void sort(struct Student *parr, int len);     //声明排序函数

int main(void)  //主函数
{
    parr=(struct Student *)malloc(len*sizeof(struct Student));
    input(&parr,len);
    output(&parr,len);
    sort(&parr,len);
   
    return 0;
}
void input(struct Student *parr, int len) //定义输入函数
{
   
    printf("请输入您所要输入的元素个数,len= ");
    scanf("%d",&len);
    for(i=0;i<len;i++)//输入
    {
        printf("请输入第%d个学生的信息\n",i+1);
        printf("age= ");
        scanf("%d",&parr[i].age);
        printf("score= ");
        scanf("%d",&parr[i].score);
        printf("name= ");
        scanf("%s",parr[i].name);//name是数组名,所以前面不加取地址符//
    }     
}

void output(struct Student *parr, int len)  //定义输出函数
{
    for(i=0;i<len;i++)//输出
    {
        printf("第%d个学生的信息\n",i+1);
        printf("age=%d\n",parr[i].age);
        printf("score=%d\n",parr[i].score);
        printf("name=%s\n",parr[i].name);
        printf("\n");   
    }
}

void sort(struct Student *parr, int len)//定义排序函数
{
    for(i=0;i<len-1;i++)//冒泡排序
    {
        for(j=0;j<len-i-1;j++)
        {
            if(parr[j].score>parr[j+1].score)//升序用大于号表示 (从小到大), 降序用小于号表示 (从大到小)
            t=parr[j];
            parr[j]=parr[j+1];
            parr[j+1]=t;
        }
    }
}
搜索更多相关主题的帖子: include return 信息 
2014-08-19 17:00
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
还是从hellod world开始吧

总有那身价贱的人给作业贴回复完整的代码
2014-08-19 17:16
笑死555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-8-6
收藏
得分:0 
是问题太简单了吗
2014-08-19 17:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
呵呵,都不想再说什么了。

授人以渔,不授人以鱼。
2014-08-19 17:36
笑死555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-8-6
收藏
得分:0 
回复 4 楼 TonyDeng
tony大神我真是给你跪了,虽然说我问的问题漏洞百出,或者不值得一提,对于你就像1+1这么简单,但是我也是苦思冥想好长时间,只不过水平太菜,不用函数的我自己做出来了,只是思考可不可以都用函数调用,哪怕你说那块没懂回去多看看我都感谢,可你的语气能不能少一些嘲讽,我一共就发过几个帖子问一些,你每次都这种语气,真是醉了。
2014-08-19 19:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你的问题在欠缺基础的情况下热衷于算法,这是我多次说过坛上同学们的通病。

程序代码:
void input(struct Student *parr, int len);    // 注意你自己声明的函数原型,形参是什么

struct Student *parr;                         // 注意你自己声明的变量类型

int main(void)  //主函数
{
    parr=(struct Student *)malloc(len*sizeof(struct Student));
    input(&parr,len);        // 你告诉我这里的&起什么作用?实参是什么数据类型?
    output(&parr,len);
    sort(&parr,len);
  
    return 0;
}



[ 本帖最后由 TonyDeng 于 2014-8-19 20:04 编辑 ]

授人以渔,不授人以鱼。
2014-08-19 20:01
笑死555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-8-6
收藏
得分:0 
回复 6 楼 TonyDeng
大神你有时语气可能有点冲,但是我还是由衷感谢你能指出我的错误,多谢
2014-08-19 21:38
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:3 
不用担心,慢慢来,问题一个个找,进步一步步走。加油!

我不是砖家,要努力成为砖家。
2014-08-20 08:19
迷失
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-5-14
收藏
得分:3 
tony大神说的也有道理的,先把谭浩强的搞懂再说,那个入门级~然后再学学数据结构,学生信息“系统”初一看还以为是写的很复杂的一个呢!
2014-08-20 09:23
落花雨后
Rank: 1
等 级:禁止访问
帖 子:10
专家分:9
注 册:2014-8-20
收藏
得分:3 
除了大神们指出的错误,再简单说下你这个程序的问题啊(本人纯菜鸟,说的不一定都对,你就挑对的用吧)
其他的问题还好说,慢慢都应该可以改过来,比如len的问题,那个是一个参数,你最好在main()里面传,要不是你后面的输出函数的参数len怎么来,还有一些变量你没有定义就用了等小问题吧,但是我想说的是你的排序从写吧,这个不是就是简单的一个数组你排下序那样,你还得考虑里面的其他元素的问题;
2014-08-20 16:06
快速回复:我想例用函数编写一个 学生信息“系统”,请大神帮忙看看哪里出错,具 ...
数据加载中...
 
   



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

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