C语言小型项目开发报告_第1页
C语言小型项目开发报告_第2页
C语言小型项目开发报告_第3页
C语言小型项目开发报告_第4页
C语言小型项目开发报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言小型项目开发报告目录项目功能1、功能说明 2、功能框图 二、算法设计

1、算法思路2、算法流程图3、函数原型三、数据组织1、数据类型定义2、数据存储四、调试和运行1、调试过程2、运行结果五、心得体会C语言程序编写一、实践目的 1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。2.培养学生综合运用所学知识独立完成课题的能力。3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程。二、实践内容项目功能:功能说明:收集录入学生信息,储存学生信息。储存分批录入后,可以浏览,查询,修改学生信息。可以按照学号和姓名查询学生数据,并更改,储存新输入的学生数据。功能框图:开始开始录入学生信息修改学生信息查询学生信息删除学生信息退出登录录入学生信息修改学生信息查询学生信息删除学生信息退出登录二、算法设计:

1、算法思路:首先进入主菜单,系统具有,录入,浏览,查询,删除,修改学生系统,同时还可选择退出系统。2、算法流程图:开始开始选择要进行的操作选择要进行的操作浏览学生信息退出登录修改学生信息删除学生信息查询学生信息输入学生信息浏览学生信息退出登录修改学生信息删除学生信息查询学生信息输入学生信息输入要修改的学生学号输入学号输入要修改的学生学号输入学号按学号查询按姓名查询按学号查询按姓名查询输入姓名输入姓名输入要删除的学生学号要修改的信息内容输入年龄输入要删除的学生学号要修改的信息内容输入年龄输入性别输入性别输入地址输入地址输入电话输入电话3、函数原型:#include<stdio.h>#include<string.h>structstudent{longintnum;charname[20];intage;charsex[4];charb[30];charp[15];};intn=0;structstudentstu[100];structstudent*p;voidlr();voidll();voidcx();voidxg();voidsc();intmain(void){intz;printf("+---------------------------+\n");printf("|欢迎使用学生信息管理系统|\n");printf("+---------------------------+\n");printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");do{printf("\n\t\t\t--------------------------------\n");printf("\t\t\t+主菜单|\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+[1]----录入学生信息|\n");printf("\t\t\t+[2]----浏览学生信息|\n");printf("\t\t\t+[3]----查询学生信息|\n");printf("\t\t\t+[4]----删除学生信息|\n");printf("\t\t\t+[5]----修改学生信息|\n");printf("\t\t\t+[0]----退出系统|\n");printf("\t\t\t--------------------------------\n");printf("请输入您的选择:");scanf("%d",&z);switch(z){case0:break;case1:lr();break;case2:ll();break;case3:cx();break;case4:sc();break;case5:xg();break;default:printf("\n无效选项!");}}while(z!=0);}voidlr()/*录入函数*/{inty;if(n==0)p=stu;do{printf("--------------------\n");printf("请输入学生的学号:");scanf("%ld",&p->num);printf("请输入学生的姓名:");scanf("%s",p->name);printf("请输入学生的年龄:");scanf("%d",&p->age);printf("请输入学生的性别:");scanf("%s",p->sex);printf("请输入学生的地址:");scanf("%s",p->b);printf("请输入学生的电话:");scanf("%s",p->p);n++;p++;printf("\n1.继续输入.\n0.输入完毕.\n");printf("请选择:");scanf("%d",&y);}while(y==1);printf("提示:输入完毕!你一共输入%d个\n",n);}voidll()/*浏览函数*/{inti,j;if(n!=0){printf("学生总数:%d\n",n);printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");printf("-----------------------------------------------------\n");for(i=0;i<n;i++)printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);}elseprintf("提示:无学生数据,请输入数据!");}voidcx()/*查询函数*/{intc;intw,i,j=0;charname[20];if(n!=0){do{printf("\n");printf("+--------------------+\n");printf("|按学号查询请按1|\n");printf("|按姓名查询请按2|\n");printf("|取消请按0|\n");printf("+--------------------+\n");printf("请输入您的选择:");scanf("%d",&c);switch(c){case0:break;case1:printf("请输入学生的学号;");scanf("%ld",&w);printf("\n");for(i=0;i<n;i++)if(stu[i].num==w){printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);j=1;}if(j==0)printf("提示:没有该学生记录,请核对!");break;case2:printf("请输入学生的姓名:");scanf("%s",name);printf("\n");for(i=0;i<n;i++)if(strcmp(name,stu[i].name)==0){printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");j=1;printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);}if(j==0)printf("提示:没有该学生记录,请核对!");break;default:printf("\n提示:无效选项!");break;}}while(c!=0);}elseprintf("提示:无学生数据,请输入数据!");return;}voidxg()/*修改函数*/{longintnum;inti,j,c;if(n!=0){printf("请输入您要修改的学生的学号:");scanf("%ld",&num);printf("\n");for(i=0;i<n;i++)if(stu[i].num==num)j=i;do{printf("请选择您要修改的学生的信息内容:\n");printf("+----------------------+\n");printf("|姓名请按1|\n");printf("|年龄请按2|\n");printf("|性别请按3|\n");printf("|学号请按4|\n");printf("|地址请按5|\n");printf("|电话请按6|\n");printf("|取消请按0|\n");printf("+----------------------+\n");printf("请输入您的选择:");scanf("%d",&c);printf("\n");switch(c){case0:break;case1:printf("请输入新姓名:");scanf("%s",stu[j].name);break;case2:printf("请输入新年龄:");scanf("%d",&stu[j].age);break;case3:printf("请输入新性别:");scanf("%s",stu[j].sex);break;case4:printf("请输入新学号:");scanf("%ld",&stu[j].num);break;case5:printf("请输入新地址:");scanf("%s",stu[j].b);break;case6:printf("请输入新电话:");scanf("%s",stu[j].p);break;default:printf("\n无效选项!");break;}}while(c!=0);}elseprintf("提示:无学生数据,请输入数据!");}voidsc()/*删除函数*/{longintnum;inti,j,e;if(n!=0){printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");printf("-----------------------------------------------------\n");for(i=0;i<n;i++)printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);printf("请输入您要删除的学生的学号:");scanf("%ld",&num);printf("\n");for(i=0;i<n;i++)if(num==stu[i].num)j=i;if(j!=(n-1)){for(e=i-1;e<n;e++,j++){stu[j].num=stu[j+1].num;strcpy(stu[j].name,stu[j+1].name);strcpy(stu[j].sex,stu[j+1].sex);stu[j].age=stu[j+1].age;strcpy(stu[j].b,stu[j+1].b);strcpy(stu[j].p,stu[j+1].p);n--;p--;}}else{n--;p--;}printf("提示:删除完毕!");}elseprintf("提示:无学生数据,请输入数据!");}三、数据组织:1、数据类型定义:数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函数类型。数据存储:数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储介质上。数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。四、调试和运行:1、调试过程:程序先进行编译运行,无误后进入功能选择页面。任意选择录入或者查询学生信息,并进行修改和增添学生信息的页面,最后退出系统,调试可能出现的错误并进行修改。2、运行结果:登录页面录入信息页面浏览信息页面按学号查询删除页面信息修改页面五、心得体会:在一开始得知要做这个作业的时候,我有些没头没脑的,也不知道具体该做些什么,于是我就上网查了一下别人做学生信息管理系统的经验。了解到了他们做这个项目的时候的方法步骤以后,我有把他们做出来的代码读了一遍。虽然有些地方没太看懂,但也在脑中形成了一个基本的条理。首先我需要清楚我做的这个系统需要实现什么功能系统功能需求主要有1、可录入学生信息(信息包括:学号、姓名、性别、年龄、地址、电话)2、可浏览学生信息3、查询:按学号或姓名进行查询4、删除:按学号查找到对应学生并进行删除5、对学生信息进行修改(按学号查找对象并找到需修改的内容进行修改6、退出系统在系统设计需求明确了以后,我们大致的设计思路就已经有了。以上需要实现的六大功能就是我们整个系统设计的六大板块,在我明确了这一思路之后,我们小组进行了讨论,我也把我的思路向组员们进行了阐述。但我发现我的前期思考还不够深入,我仅仅是考虑了系统要实现的功能以及系统大致的板块分区。而我的组长不仅对这些有了思路整理,她还对更细节更具体的事项有了书面的整理。她按照老师上课所讲的方法,先做了一个整体的变量定义,方便我们在后期分工整合。然后她向我们讲解了她事先画好的流程图,帮我们进一步梳理具体的操作步骤。在讲解的过程中,她甚至还帮我们梳理了哪个地方要用到printf、哪个地方要用scanf,哪个地方要用什么循环结构,哪个地方需要注意什么逻辑上可能会出现的错误等等。我觉得在跟她讨论的过程中,我真的学到了很多很多。后来我们根据商讨好的可实现的功能,对我们各自的任务做了一个分工。在刚开始分配好任务要开始着手写的时候,我觉得自己的思路不是很清晰,不知道要做什么。然后我照着我们组长画的流程图又整理了一下自己的思路,大概理清了自己要做什么,以及我的部分应该如何做,要用哪些变量,哪些函数,以及整个的结构是什么样大概心里有了数。但即便如此,在实际操作过程中也遇到了不少问题。对于那些字符变量,我一开始全是(“d%”,a)这样的形式,后来发现有些变量要用f%或是别的。于是只好老老实实把书上“数据的表现形式及其运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论