c语言课程设计总结

Python021

c语言课程设计总结,第1张

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。

我的题目是文章处理系统的设计,对于我们这些新手来说,这是很大的考验,我一千次一万次的问自己,怎么才能找到课堂所学与实际应用的最佳结合点?怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?怎样让自己的业余更靠近专业?怎样让自己的计划更具有序性,而不会忙无一用?机会是老师,学校,以及无数代教育工作者给的,而能力是自己的,耐性是需要的。经过自己的琢磨,听取了师姐,师兄们的建议,还查阅了很多书籍,才做到了心中有数,才了解了C语言课程设计的真正用意——培养自学能力,养成程序编辑的好习惯。我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻懒惰的借口,我要积极,要把握,要努力。

回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在郭老师的辛勤指导下,终于游逆而解。同时,在郭老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,在一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。不得不说这是精神的胜利,是永不言败的精神让我的程序重见天日。谢谢给我指点迷津的老师。

6月11日,我们的课程设计结束了,但是它留给我的印象是不可磨灭的。无论我以后会不会涉及到C语言程序编译的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,我们运用这种研究方法的时候会很多,我最后要感谢课程设计,它的确教会我很多。

另外,虚机团上产品团购,超级便宜

之前写过的,你可以拿去参考

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

typedef struct guest

{

int number

char name[10]

int sum

char time[5]

struct guest *next

}GuestLink,*Pointer

GuestLink stu[10]

int i,j,k

void Insert(Pointer *Head)

void Search(Pointer Head)

void Update(Pointer Head)

void Delete(Pointer *Head)

void Show(Pointer Head)

void Sort(Pointer Head)

void Save(Pointer Head)

void Put(Pointer Head)

int main()

{

Pointer Head=NULL

int i

do{

printf("\n")

printf("1---增加订餐客户信息\n")

printf("2---查询订餐客户信息\n")

printf("3---修改订餐客户信息\n")

printf("4---删除订餐客户信息\n")

printf("5---浏览客户订餐信息\n")

printf("6---按照用餐时间升序排序\n")

printf("7---保存订餐信息到数据文件\n")

printf("8---查看数据文件中的订餐信息\n")

printf("9---退出\n")

printf("\n\n")

printf("请选择1--9:")

scanf("%d",&i)

switch(i)

{

case 1:Insert(&Head)

break

case 2:Search(Head)

break

case 3:Update(Head)

break

case 4:Delete(&Head)

break

case 5:Show(Head)

break

case 6:Sort(Head)

break

case 7:Save(Head)

break

case 8:Put(Head)

break

case 9:

break

default:printf("选择错误!请重新选择!")

break

}

}while(i!=9)

return 0

}

void Insert(Pointer *Head)

{

int in_number

Pointer p,q,r

printf("请输入编号:\n")

scanf("%d",&in_number)

p=q=*Head

while(p!=NULL)

{

if(p->number==in_number)

{

printf("已经有相同编号:")

return

}

else

{

q=pp=p->next

}

}

r=(Pointer)malloc(sizeof(GuestLink))//没有*号

r->next=NULL

if(r==NULL)

{

printf("分配空间失败")

return

}

if(q==NULL)//如果是空表,判断空表用q!!!!

*Head=r

else

{q->next=r}

r->number=in_number

printf("请输入姓名:\n")

scanf("%s",r->name)

printf("请输入人数:\n")

scanf("%d",&r->sum)

printf("请输入时间:\n")

scanf("%s",r->time)

}

/*

void Insert(Pointer *Head)

{int in_number

Pointer p,q,r

p=q=*Head

printf("请输入号码:")

scanf("%d",&in_number)

while(p!=NULL)

{

if(in_number==p->number)

{printf("已存在号码!")}

else

{q=pp=p->next}

}

r=(Pointer)malloc(sizeof GuestLink)

r->next=NULL

if(q==NULL)

*Head=r

else

q->next=r

printf("请输入姓名:")

scanf("%s",r->name)

printf("请输入人数")

scanf("%f",&r->sum)

printf("请输入时间")

scanf("%s",r->time)

}*/

void Search(Pointer Head)

{

int flag=1

int number

Pointer p

printf("请输入要查询的编号:")

scanf("%d",&number)

p=Head

while(p!=NULL&&flag)

{

if(p->number==number)

{ printf("编号\t姓名\t人数\t时间\n")

printf("%s\t",p->name)

printf("%d\t",p->sum)

printf("%s\t\n",p->time)

flag=0

}

else

p=p->next

}

if(flag)

printf("没有查询到!")

}

/*

void Search(Pointer Head)

{

int flag=0

int number

Pointer p

p=Head

printf("请输入您要查找的编号:")

scanf("%f",&number)

while(p!=NULL&&flag)

{

if(p->number==number)

{

printf("已查询到您要的编号")

flag=0

}

else

{

p=p->next

}

}

if(flag==1)

{printf("姓名:%s",p->name)

printf("编号:%f",p->number)

printf("人数:%f",p->sum)

printf("时间:%s",p->time)

}

else

{printf("没有查询到您要查询的编号!")}

}

*/

void Update(Pointer Head)

{

int flag=1

int number

Pointer p

printf("请输入要修改的编号:")

scanf("%d",&number)

p=Head

while(p!=NULL&&flag)

{

if(p->number==number)

{

printf("请输入人数:")

scanf("%d",&p->sum)

printf("请输入用餐时间:")

scanf("%s",p->time)

flag=0

}

else

p=p->next

}

if(flag)

printf("没有找到要修改的记录!")

}

//update与查询过程相似!!!

void Delete(Pointer *Head)

{

int flag=1

int number

Pointer p,q

printf("请输入要删除的数据编号:")

scanf("%d",&number)

p=q=*Head

while(p!=NULL&&flag)

{

if(p->number==number)

{

if(p==*Head)

{

*Head=p->nextfree(p)//删除结点后要及时释放内存!!!

}

else

{q->next=p->nextfree(p)}

flag=0

}

else

{q=pp=p->next}

}

if(flag)

printf("没有找到可以删除的数据!!")

}

/*

void Delete(Pointer *Head)

{

Pointer p,q

p=q=*Head

int number

int flag=1

printf("请输入您要删除的结点:")

scanf("%d",&number)

while(p!=NULL)

{

if(p->number==number)

{ if(p==*Head)

{

*Head=p->nextfree(p)

}

else

{

q->next=p->nextfree(p)

}

flag=0

}

else

{

q=pp=p->next

}

}

if(flag)

{printf("没有找到要删除的数据!")}

}

*/

void Show(Pointer Head)

{

Pointer p

p=Head

printf("编号\t姓名\t人数\t用餐时间\n")

while(p!=NULL)

{

printf("%d\t",p->number)

printf("%s\t",p->name)

printf("%d\t",p->sum)

printf("%s\t\n",p->time)

p=p->next

}

}

void Sort(Pointer Head)

{

//三个for循环,第一个赋给结构数组 第二个排序,第三个输出

Pointer p

p=Head

int count=0

GuestLink temp

for(i=0p!=NULLi++)

{

strcpy(stu[i].name,p->name)

stu[i].number=p->number

stu[i].sum=p->sum

strcpy(stu[i].time,p->time)

count++

p=p->next

}

for(i=0i<count-1i++)

{

k=i

for(j=i+1j<countj++)

if(strcmp(stu[j].time,stu[k].time)<0)k=j

if(k!=i)

{temp=stu[i]stu[i]=stu[k]stu[k]=temp}//一个字都不能改!!!!

//{temp=stu[k]stu[k]=stu[i]stu[i]=temp}

}

printf("编号\t姓名\t人数\t用餐时间\n")

for(i=0i<counti++)

{

printf("%d\t",stu[i].number)

printf("%s\t",stu[i].name)

printf("%d\t",stu[i].sum)

printf("%s\t\n",stu[i].time)

}

}

/*Head=p=stu

while(p!=NULL)

{

printf("姓名:%-10s",p->name)

printf("人数:%-10d",p->sum)

printf("用餐时间:%-10s",p->time)

printf("编号:%-10d\n",p->number)

p=p->next

}*/

/*

void Sort(Pointer Head)

{

Pointer p

p=Head

GuestLink temp

count=0

while(p!=NULL)

{p=p->next

count++

}

p=Head

while(p!=NULL)

{for(i=0i<counti++)

{

stu[i].number=p->number

strcpy(stu[i].name,p->name)

stu[i].sum=p->sum

strcpy(stu[i].time,p->time)

}

p=p->next

}

for(i=0i<count-1i++)

{

k=i

for(j=0j<countj++)

{if(strcmp(stu[j].time,stu[k].time)<0)k=j

if(k!=i)

{temp=stu[k]stu[k]=stu[i]temp=stu[i]}

}

}

}

*/

void Save(Pointer Head)

{

Pointer p

FILE *fp

p=Head

for(i=0p!=NULLi++)

{

strcpy(p->name,stu[i].name)

p->number=stu[i].number

p->sum=stu[i].sum

strcpy(p->time,stu[i].time)

p=p->next

}

if((fp=fopen("stud","w"))==NULL)

{printf("can't open !")}

p=Head

while(p!=NULL)

{

if(fwrite(p,sizeof(GuestLink),1,fp)!=1)

printf("can't write!\n")

p=p->next

}

fclose(fp)

}

/*

void Save(Pointer Head)

{

FILE *fp

Pointer p

p=Head

for(i=0p!=NULLi++)

{

stu[i].number=p->number

strcpy(stu[i].name,p->name)

stu[i].sum=p->sum

strcpy(stu[i].time,p->time)

p=p->next

}

p=Head

if((fp=fopen("stud","w"))==NULL)

{

printf("cam't open the file")

}

for(i=0i<counti++)

if(fwrite(p,sizeof(GuestLink),1,fp)!=1)

{

printf("cant write")

}

fclose(fp)

}

*/

void Put(Pointer Head)

{

FILE *fp

Pointer p

p=Head

if((fp=fopen("stud","r"))==NULL)

{printf("can't open the File\n")}

printf("编号\t姓名\t人数\t用餐时间\n")

while(p!=NULL)

{

if(fread(p,sizeof(GuestLink),1,fp)!=1)

{printf("can't read!")}

printf("%d\t",p->number)

printf("%s\t",p->name)

printf("%d\t",p->sum)

printf("%s\t\n",p->time)

p=p->next

}

fclose(fp)

}

采纳哦~