|
查看: 1481|回复: 7
|
C programming language
[复制链接]
|
|
|
各位,我的大学assignment 搞到我一个头两个大。可以帮帮我吗?
帮我写几个function也好。。
题目的要求是这样的:
create an address book with:
-contain last name n 1st name
-able to insert address
-able to search address by last name(要有多过一个的可能性)
-able to delete the previous search
-able to display the entire address book
我的问题:
1. 要怎样做sorting?
2.用text file 来store the data?array可以吗?
3.要怎样delete之前的搜寻?
4.我insertdata时, 药store在哪里?
5.search function要怎样写?
帮帮我,做到要呕 |
|
|
|
|
|
|
|
|
|
|
发表于 23-8-2009 03:15 AM
|
显示全部楼层
原帖由 ~龍兒~ 于 23-8-2009 01:28 AM 发表 
各位,我的大学assignment 搞到我一个头两个大。可以帮帮我吗?
帮我写几个function也好。。
题目的要求是这样的:
create an address book with:
-contain last name n 1st name
-able to insert address
...
你是utar精算第1年的吧..
1. 要怎样做sorting?
大概是這樣
用for loop, 再用strcmp來compare每個record, 大過0 (1=現在的record大過下面的record)就是需要sort, 就先把當前record存進1個暫時的variable
然後把下面的record存進當前record, 再把剛才的暫存record存進下面的record
2.用text file 来store the data?array可以吗?
你們應該有學到fopen那些吧. fprintf就是把data寫進去text file
從text file read出來就用fscanf
3.要怎样delete之前的搜寻?
這個跟sorting差不多, 都是換位子的問題
比如說你有0, 1, 2, 3, 4, 5 (index number)
你要delete 3, 你的for loop就從3開始, 把4寫進3, 5寫進4, 可以用strcpy
那麼, 3就不見了咯
4.我insertdata时, 药store在哪里?
從你的program來看..都是先store在array的, 過後才選擇save進text file吧
5.search function要怎样写?
用for loop + strcmp, 就像剛才我說的strcmp, 0就是一樣, 所以strcmp(value1, value2)==0 就是找到了
怎樣整合起來..就花點時間去想咯
1個個function慢慢做吧, 完整了才做下一個 |
|
|
|
|
|
|
|
|
|
|
发表于 23-8-2009 03:37 AM
|
显示全部楼层
原帖由 ~龍兒~ 于 23-8-2009 01:28 AM 发表 
各位,我的大学assignment 搞到我一个头两个大。可以帮帮我吗?
帮我写几个function也好。。
题目的要求是这样的:
create an address book with:
-contain last name n 1st name
-able to insert address
...
没错,你就是UTAR生。
有些程序你们还没学到
所以呢,不懂怎样解释! 加油 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 23-8-2009 12:37 PM
|
显示全部楼层
回复 2# mdw1121686 的帖子
你怎么知道我是utar的?还知道精算?不过我不是year1 了。。。
1.要用什么sorting?
selection sort?bubble sort?insertion sort?有tutor跟我说用string compare窝?
『2.用text file 来store the data?array可以吗?
你們應該有學到fopen那些吧. fprintf就是把data寫進去text file
從text file read出來就用fscanf 』
- idea是不是这样——txt file是空的。我insert data进去,把它store在txt file。
如果要display就fscanf? |
|
|
|
|
|
|
|
|
|
|
发表于 23-8-2009 01:03 PM
|
显示全部楼层
原帖由 ~龍兒~ 于 23-8-2009 12:37 PM 发表 
你怎么知道我是utar的?还知道精算?不过我不是year1 了。。。
1.要用什么sorting?
selection sort?bubble sort?insertion sort?有tutor跟我说用string compare窝?
『2.用text file 来store the data?array可 ...
啊..搞錯
沒啦..因為看過朋友的題目
1.要用什么sorting?
selection sort?bubble sort?insertion sort?有tutor跟我说用string compare窝?
只是說sorting的話 沒加以解釋 甚麼sort都可以吧
我跟你說的"strcmp" 拆開來讀就是string compare咯
sort方面你甚麼都可以sort吧, 通常呢我們就拿名字來sort, 大多數人都用last name吧
用法是這樣, strcmp("aaa", "bbb"), 如果aaa小過bbb就return -1
等於就return 0
大過就return 1
所以你大概是這樣配合for loop用
for(i=0; i<n;i++)
{
if(strcmp(record[i].name, record[i+1].name)>0
{
xxx
}
}
大過0時就是record i 大過 record i+1 (example: qqq 大過 ppp)
然後就照我剛才說的方法換位
『2.用text file 来store the data?array可以吗?
你們應該有學到fopen那些吧. fprintf就是把data寫進去text file
從text file read出來就用fscanf 』
- idea是不是这样——txt file是空的。我insert data进去,把它store在txt file。
如果要display就fscanf?
你這idea沒錯, 不過還是要看你的題目是怎樣
你題目是不是有叫你可以save, 又可以retrieve的?
所以我覺得應該是這樣: 先把data store在array, 再有個save function把array裡面的data寫進txt file
display時, 從array裡面拿出來
如果剛開program, array裡面沒data, 就要從load function裡面read data store進array, 再從array display出來
[ 本帖最后由 mdw1121686 于 23-8-2009 02:13 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 1-9-2009 05:44 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 1-9-2009 11:12 PM
|
显示全部楼层
|
year1用linked-list,有点勉强呢,导师应该还没教。 |
|
|
|
|
|
|
|
|
|
|
发表于 6-9-2009 07:25 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|