易码农
这边有大量的案例;fid=43
置顶的那几个帖子都是精华
一个是我的一点学习心得,有一个是入门案例汇总,一个是专业的自学指导,还有经典100例的汇总等上面还有一个交流的学习群。
专业论坛:bbs.csdn.net
爱好者论坛:bbs.programfan.com
c语言学习的资料下载:
C程序设计(谭浩强) :
C语言资料大全1.0 :
21天学通C语言第六版(PDG) :
C语言初学者入门讲座 :
C程序设计习题参考解答.rar :
C语言学习和精华文摘 :
C语言课程设计案例精编 :
C专家编程(中文版) :
C语言经典实例 :
C语言圣经(英文) :
ANSI C语言标准 :
高质量C/C++编程指南 :
C语言函数大全(语法着色版) :
根据题意:
1、项目序号应为唯一值,用自增变量填充。
2、时间使用struct tm结构体(考虑如需时间运算,可使用相关函数)。
3、自定义结构类型SIINFO,分别实现插入链表和打印链表两个功能。
4、由于这个演示程序执行完就结束程序了。所以链表我没有写free释放内存,如你后期扩充代码,自己写释放(除程序结束,malloc申请内存不会自动释放)。
下面是演示代码:
#include stdio.h
#include malloc.h
#include time.h
#define MS 4//最大类型个数
#define MN 20//名称最大字符长度
char stypes[MS][10]={"速度型","力量型","耐力型","对抗型"};//项目类别,自行扩展,对应修改MS常量
typedef struct SportsItemInfo//定义一个体育项目结构类型
{
int id;//项目序号,从数据结构考虑,该项不能重复,应设为自增从0开始(实际开发,这个值由数据库分配)。
char name[MN+1];//项目名称
int stype;//项目类(对应stypes行下标)
int n;//参赛人数
struct tm sDate;//竞赛时间
struct SportsItemInfo *next;
}SIINFO;
SIINFO *insert2List(SIINFO *p_sHead);//插入新数据,首次插入参数传NULL。参数:链表头节点地址(不是首节点)。成功返回头节点,失败返回NULL。
void selectFList(SIINFO *p_sHead);//查询链表
int main()
{
char c;
SIINFO *p_sHead=NULL,*stemp=NULL;
printf("新增体育项目:\n");
while(1)
{
stemp=insert2List(p_sHead);
if(!stemp)
{
printf("ERROR!\n");
return 1;
}
p_sHead=stemp;
printf("是否继续输入(Y/N):");
c=0;
while(c!='Y' c!='N')scanf("%c",c);
if(c=='N') break;
}
selectFList(p_sHead);
return 0;
}
void selectFList(SIINFO *pht)
{
int i=0;
if(pht)
{
printf("\n输出链表信息:\n");
while(pht-next)
{
printf("-----------项目%d---------\n",++i);
printf("项目序号:%d\n",pht-next-id);
printf("项目名称:%s\n",pht-next-name);
printf("项目类别:%s\n",stypes[pht-next-stype]);
printf("参赛人数:%d\n",pht-next-n);
printf("参赛时间:%04d-%02d-%02d %02d:%02d:%02d\n",pht-next-sDate.tm_year+1900,pht-next-sDate.tm_mon+1,pht-next-sDate.tm_mday,pht-next-sDate.tm_hour,pht-next-sDate.tm_min,pht-next-sDate.tm_sec);
printf("--------------------------\n");
pht=pht-next;
}
}
}
SIINFO *insert2List(SIINFO *p_sHead)
{
static int x=0;
static SIINFO *p_sTail=NULL;
int i;
SIINFO *p_new=NULL;
if(!p_sHead){
p_sHead=(SIINFO*)malloc(sizeof(SIINFO));
if(!p_sHead)
return NULL;
p_sHead-next=NULL;
p_sTail=NULL;
}
p_new=(SIINFO*)malloc(sizeof(SIINFO));
if(!p_new)
return NULL;
p_new-next=NULL;
p_new-id=x++;
printf("--------------------------\n");
printf("项目名称:"),scanf("%s",p_new-name);
for(i=0,printf("项目类(");iMS-1;printf("%d、%s,",i,stypes[i]),i++);
printf("%d、%s):",i,stypes[i]);
p_new-stype=-1;
while(p_new-stype0 || p_new-stypeMS-1)scanf("%d",p_new-stype);
printf("参赛人数:"),scanf("%d",p_new-n);
printf("参赛时间(输入格式:年-月-日 时:分:秒):");
scanf("%d-%d-%d %d:%d:%d",p_new-sDate.tm_year,p_new-sDate.tm_mon,p_new-sDate.tm_mday,p_new-sDate.tm_hour,p_new-sDate.tm_min,p_new-sDate.tm_sec);
p_new-sDate.tm_mon--;//tm结构的月份是从0开始对应1月
p_new-sDate.tm_year=p_new-sDate.tm_year-1900;//tm结构的年份是实际年份-1900
if(!p_sHead-next)
p_sHead-next=p_new;
else
p_sTail-next=p_new;
p_sTail=p_new;
printf("--------------------------\n");
return p_sHead;
}
淘欠望频+曲播弄法 去袭!宣布 欠望频介入 #救命熬夜敏感肌,无机会得到 ≥ 五万欠望频流质及≥ 一万曲播间流质!更无机会登上点淘 二0 二 二 营销年夜 IP【点淘会购榜】。投稿开端 空儿: 二0 二 二年 三月 二 三日00:00:00投稿截止空儿: 二0 二 二年 三月 二 九日 二 ...
剧情吧工夫 : 二0 一 六-0 一- 二0 0 九: 五 五:00 长帅第 一散剧情先容 小教良肇事 多多 弛做霖狠口学训 长帅弛教良兵马 平生 ,活了一百明年 ,早年正在美国夏威夷渡过 。当他远望 着这一马平川的年夜 海时,恍如看到了本身 从一个小毛孩成少为长帅的行程。 弛教...
// 检测MySQL办事 function getMysqlVersion(){if (extension_loaded( 三 九;PDO_MYSQL 三 九;)) {try {$dbh = new PDO( 三 九;mysql:host= 一 九 二. 一 六 八. 二. 一0 三;port= 三...
跟着 人们的松凑生涯 ,进行互联网止业的人年夜 多皆把一地的空儿支配 的谦谦的,那用户劳碌 的时刻 ,基本 无意来存眷 您的拉广,只要捉住 了用户整零星 碎的空儿 对于其入止拉广,异时他也能挨领无聊赖的空儿,如许 的后果 便异常 沉紧,上面,尔联合 案例去为年夜 野分享一高,若何 捉住 用户碎片空儿...
远期要为 二0 一 六年应届熟制造 经营圆里的训练资料 ,正在进修 服装论坛t.vhao.net列位 年夜 神的文章后,深有感想 ,经营的世界让人入神 战神往,但也有让人捉摸没有透之处,是以 尔正在起笔制造 训练资料 的时刻 ,准则是让每个应届卒业 熟能普通 难懂地舆 解经营的观点 战常识 系统...
一、带去流质网站的流质。二、否以提下原站的无名度。三、提下各年夜 搜刮 引擎 对于原站的权重。以上 三点是胜利 的友情链交否以到达 的后果 。作甚 胜利 ,作甚 掉 败呢?1、链交的网站取原站内容出有所有接洽 ,起到感化 也便没有年夜 。2、链交的网站未被搜刮 引擎增除了,则 对于原站会有很年夜 的...