标题:文件中的内容怎么导入到一个结构体数组中再排序? 希望能教教我,谢谢
只看楼主
丶Losion
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-4-12
结帖率:75%
已结贴  问题点数:20 回复次数:4 
文件中的内容怎么导入到一个结构体数组中再排序? 希望能教教我,谢谢
文件如下:(恩,,就按学号排序吧)
 学号     姓名      性别    专业班级     积分     等级          入班时间         电话
0144253   王二      男      软件146      100      10            2015-01-01     13617095676
0144255   麻子      男      临床126      200      20            2012-03-03     13518966472  
0144258   张三      男      会计133      300      30            2015-12-12     13569742684  
0144258   李四      女      金融136      400      40            2012-12-12     13459764258  
结构体如下:
struct student
{     
 //社员信息(学号,姓名,性别,专业班级,积分,等级,入团时间,电话);
   char ID[10];
   char name[10];
   char sex[4];
   char major[10];
   char score[6];
   char grade[6];
   char time[15];
   char phone[13];
};

谢谢
搜索更多相关主题的帖子: 结构体 电话 会计 软件 姓名 
2015-06-11 23:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:20 
會把複雜任務分解爲相對簡單任務再綜合麽?這是在高中階段重點培養的思維方式。

授人以渔,不授人以鱼。
2015-06-11 23:44
丶Losion
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-4-12
得分:0 
回复 2楼 TonyDeng
那可以教教我怎么导入到结构体数组中么?我的问题就是那个我们最初是不知道文件里到底有多少条信息快的,所以我确定不了结构体数组的元素个数。查了百度,也试了还就,但还是不行。希望能指点指点。
2015-06-11 23:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你這裏其實是兩個問題:
1.如何對結構體數組排序?
2.如何把數據從磁盤文件讀入到内存的結構體數組中?

因此,你實際上的不會哪個?還是都不會?你這樣提問,表露出來的底細就是不明白自己到底哪裏不會,即通常說的問題不明確,那是沒有動手做過的表現。另外,不會拆解問題解決,基本上注定你無法做綜合題,這才是最大的問題。

授人以渔,不授人以鱼。
2015-06-11 23:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
以下是引用丶Losion在2015-6-11 23:53:19的发言:

那可以教教我怎么导入到结构体数组中么?我的问题就是那个我们最初是不知道文件里到底有多少条信息快的,所以我确定不了结构体数组的元素个数。查了百度,也试了还就,但还是不行。希望能指点指点。


這有很多種解決辦法:
1.在數據文件的開頭就寫入記錄總數,先把那個數讀到手再建立數組。這對於文件是自己程序生成的情況,是最高效的。
2.在文件的末尾,有明確的記錄結束標記(思考一下C的字符串是如何判斷到達串尾的?),這在用鏈表建立内存數據的情況可用。
3.先掃描一趟文件,統計有多少行,然後返回來從頭再讀一次數據,這是上面兩種的折衷,適用於別人提供的數據文件的情況。
4.最高效的方案,是用二進制格式(非文本)文件,但那存在可移植性問題。
這些方案,根據實際情況選用。

授人以渔,不授人以鱼。
2015-06-12 00:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446506-1-1.html




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

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