| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2992 人关注过本帖
标题:(3)C语言问题之学生信息管理系统
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我以前發過解刨麻雀的例子,你可以去參考一下。

授人以渔,不授人以鱼。
2015-11-15 21:43
武伟
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:506
专家分:2638
注 册:2015-7-23
收藏
得分:0 
回复 51楼 TonyDeng
先回复50楼,您老人家别老是玩贪吃蛇好不好?多玩玩俄罗斯方块

接着51楼,这个就有点神奇了,Codeblocks每新创建一个新工程,都会多创建两个文件夹,如下图:

那个.exe文件其实是创建在bin→Debug的文件下。

神奇的事情就在这里出现了:我昨天晚上是直接在CB里点的构建并编译,如下
图片附件: 游客没有浏览图片的权限,请 登录注册


那个Information文件是在上面说到的Debug文件下的,总是显示录入失败。

今天我把导出文件先写好,先点构建并编译,导出文件竟然在第一个图里“比较浅的文件夹里”(原谅我不会表述)

瞬间就明白了,昨天的那个要想导入成功的话必须在bin→Debug的文件下点.exe程序才行,不能在Codeblocks点构建编译;要想构建编译也成功,那么在“比较浅的文件夹里”存在Information文本就可以了。

我说得有些罗嗦,T版你慢慢看

[此贴子已经被作者于2020-3-23 13:06编辑过]

2015-11-15 21:54
武伟
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:506
专家分:2638
注 册:2015-7-23
收藏
得分:0 
回复 52楼 TonyDeng
嗯,搜索到了

不过老师刚刚在群里布置了一个作业,要求现在开始做,明天交,我得过会儿再看。
2015-11-15 22:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
IDE環境下有獨特的路徑設置,它的“根”目錄在源文件所在的目錄中,雖然編譯得到的執行文件放在另一個目錄,但在IDE下執行程序,它是到“根”目錄中搜索文件的。但是編譯好的程序,不會在IDE下執行,此時程序默認的搜索目錄是自己所在的目錄。在IDE下調試程序,最終效果與實際發佈的環境是不完全相同的。

授人以渔,不授人以鱼。
2015-11-15 22:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你現在有一個問題,是系統的文件管理知識點欠缺。

授人以渔,不授人以鱼。
2015-11-15 22:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 47楼 武伟
那是你編寫程序時沒考慮到數據文件怎麽從無到有,如何增,如何刪,如何改。很多人寫的所謂課設,最終不過一千行左右,但實際上這個行數是遠遠不夠的,必然漏洞百出,就是根本沒考慮我所説的那些情況。是否讓人繞過程序直接修改數據文件,是必須在設計階段就決定好的,是與否,對整個程序的設計實現影響非常大,具體來說就是使用文本文件格式和二進制格式的區別。文本格式,可以讓用戶繞過程序對數據文件動手脚,但那就存在他破壞數據格式的風險,對程序的容錯能力要求很高;二進制格式,則必須由程序全部負責對數據文件的一切管理操作,不容用戶對數據文件動手脚,此時程序提供的功能必須足夠,比如數據增加,有多種形式,末尾追加、中間插入、空文檔時如何處理、數據量大時如何處理,等等,都要考慮到,即對程序的設計要求較高。一個程序滿足使用需要,最基本的要求是在各種各樣的情景下都不能出錯而且結果必須正確。不是某些人以爲的那麽簡單,一千行代碼搞得定,那衹能是無用的兒戲課。

授人以渔,不授人以鱼。
2015-11-15 23:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我前面就提醒過,你使用文本格式的數據文件,卻用fread()/fwrite()讀寫,如果不瞭解某些細節,必然會出錯,果然如此。這個意思,不是說不能用fread()/fwrite(),而是具體怎麽用,要瞭解這類函數和文件格式之間的對應關係,才不會出錯。實際上,你問到這樣讀進來的數據如何與結構體的每個字段匹配,就是因爲不明白這一對函數機制而來,不明白這個,故寫出來的程序也必然有問題,因爲不知道規避。

授人以渔,不授人以鱼。
2015-11-15 23:12
武伟
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:506
专家分:2638
注 册:2015-7-23
收藏
得分:0 
回复 57楼 TonyDeng
    说实话,学校期末对课设的要求是3小时400行代码,也就是说你400行实现它那个基本要求即可。1000行是高级要求,说要是提前自己准备好1000行以上的课设可以申请答辩,进而申请答优(据说给个优秀的成绩不容易)。

    本来我的初衷是想提前准备,有答辩这方面的想法,但这两天想了想,现在才学了1个多月的C语言,指针&链表都没学,后面的文件就不用说了,而且现在也不清楚课设的具体时间,心里想着是不是准备得太早了?有种上战场打仗的士兵连枪怎么用都不知道的感觉
2015-11-15 23:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
一個學生管理系統,實際上是一個小型的數據庫系統,自己做數據庫,不是外挂現成數據庫系統,而是自己的程序就是數據庫系統。基本功能就是所有數據庫都要有的那些,別以爲很少很簡單,沒有一定的數據庫設計知識,做出來的數據結構文檔和實現方案是好不到哪去的。自己做數據庫管理,難度由數據量的規模及功能的需求決定,小型有小型的實現方案,中型、大型有另外的方案,千變萬化,這類課題,怎麽做都有新鮮的做法,都能鍛煉能力。我說過,抓住一個課題死啃,大學四年就這麽個課題,做好了,也就差不多了。刷題,就衹能做一個一個的獨立功能,對系統設計沒有幫助,你的志向不是衹做螺絲釘的。

授人以渔,不授人以鱼。
2015-11-15 23:42
武伟
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:506
专家分:2638
注 册:2015-7-23
收藏
得分:0 
以下是引用TonyDeng在2015-11-15 22:42:51的发言:

你現在有一個問題,是系統的文件管理知識點欠缺。

感觉这个概念有些模糊,T版大大能稍微说得详细点不?

“所谓文件管理,就是操作系统中实现文件统一管理的一组软件、被管理的文件以及为实施文件管理所需要的一些数据结构的总称(是操作系统中负责存取和管理文件信息的机构)从系统角度来看,文件系统是对文件存储器的存储空间进行组织,分配和回收,负责文件的存储,检索,共享和保护。从用户角度来看,文件系统主要是实现"按名取存",文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。”
                                                                                                                          ————摘自百度
时间也不早啦,明天也可以回复的
2015-11-15 23:44
快速回复:(3)C语言问题之学生信息管理系统
数据加载中...
 
   



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

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