当前位置:文档之家› c语言课程设计总结报告

c语言课程设计总结报告

附表2
C++(或C)语言课程设计总结报告
学生学号
姓名
专 业
班 级
所属学期
一、项目介绍与设计目的
项目介绍:这是一个“学生通讯录管理系统”的程序。它具有如下功能(1)产生一个菜单选项,根据用户的需要进行选择,进行相关的操作;(2)对通讯录的内
容进行创建(输入学生的学号,姓名以及电话号码),(3)显示通讯录的全部记录,(4)按学号查询学生的相关信息,(5)按学号删除通讯录的记录,
就从新输入学生的信息,没有的话就输出“无此人”。 */
四、小组成员名单及分工情况(要求包括小组成员名单、工作分配及小组各成员贡献度))
本程序是由我一个人编写完成。
五、程序用户名及密码
本程序无
六、体会与感想
通过这次编程实践,巩固了c语言的知识,对c语言的内容有了进一步的了解,
增强了动手能力,感受到了c语言的奥妙,找到了学习编程的乐趣。同时在编程过
}
else printf("无此人!\n");
}
/*定义按学号删除通讯录中记录的函数*/
void mydelete(char num[N][12],char name[N][12],char tel[N][15],int *n)
{
int i,k;
char tempnum[12];
printf("\n请输入要删除记录的学号:");
printf("无此人!\n");
else
{
do
{
printf("\n请输入正确的学号:");
do
{
gets(tempnum);
}
while(strcmp(tempnum," ")==0);
printf("请输入正确的学号:");
gets(tempname);
printf("请输入正确的电话号码:");
void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n);
void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n);
void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n);
/ *删除通讯录的记录的函数;根据用户输入的学号,查找要删除的人,找到的话就删掉此人,总记录数减少一个 */
(7)void mymodify(char num[N][12],char name[N][12],char tel[N][15],int n)
/*修改通讯录内容的函数 ;根据用户输入的学号查找是否有此人,如果有的话
{
int i;
char tempnum[12];
printf("\n请输入要查询记录的学号:");
gets(tempnum);
for(i=0; i<n; i++)
if (strcmp(tempnum,num[i])==0)
{
printf("学号姓名电话号码\n");
printf("%12s%12s%15s\n",num[i],name[i],tel[i]);
源代码:
/*学生通讯录管理系统,能够实现对通讯录的内容进行创建、显示、查询、删除以及
修改等功能*/
# include<stdio.h>
# include<string.h>
# include<conio.h>
# include<ctype.h>
# define N 100
void myprint();
gets(tempname);
printf("电话号码(用#结束输入):");
gets(temptel);
while(tempnum[0]!='#' && tempname[0]!='#' && temptel[0]!='#')
{
strcpy(num[i],tempnum);
strcpy(name[i],tempname);
char tempnum[12],tempname[12],temptel[15];
printf("\n请输入第1个记录: \n");
printf("学号(用#结束输入):");
do
{
gets(tempnum);
}
while(strcmp(tempnum," ")==0);
printf("姓名(用#结束输入):");
gets(temptel);
for(i=0;i<n;i++)
if((strcmp(tempnum,num[i])==0) && (i!=find))
{
printf("学号重复,要重新输入码(Y/N)?");
do
{
c=getche();
}
while(c!='Y' && c!='y' && c!='N' && c!='n');
/* 创建通讯录的函数;输入学生的学号、姓名,电话号码,当输完最后一个学生的电话时,按其他任意键结束输入(除了数字以外),并统计通讯录中实际记录数。*/
(4)void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n)
/* 显示通讯录的内容的函数 */
}
while(yes_no=='Y'&& yes_no=='y');
}/*定义显示菜单界Fra bibliotek的函数*/void myprint()
{
printf("请输入选项编号(0-5): \n");
printf(" 1创建通讯录\n");
printf(" 2显示通讯录\n");
printf(" 3查询通讯录\n");
程中,也发现了自身学习态度的问题。由于上学期上课没认真听讲,课后又没及时花
时间去复习,造成了许多知识的缺漏,很多知识不能很好的运用,编写过程面临困
难。事实告诫了我:今后上课一定要认真听讲,及时复习,多动手去编程,增强实
践能力。
七、指导教师意见
指导教师(签名):
年 月 日
注:该表格由学生填写,内容采用小四号宋体。
{
char choose,yes_no,num[N][12],name[N][12],tel[N][15];
int n=0;
do{
myprint();
choose=getch();
switch(choose)
{
case '1':mycreate(num,name,tel,&n);
break;
case '2':if(n==0)
gets(tempnum);
for(k=0;k<(*n);k++)
if(strcmp(tempnum, num[k])==0)
break;
if(k<(*n))
{
for(i=k; i<(*n)-1;i++)
{
strcpy(num[i],num[i+1]);
strcpy(name[i],name[i+1]);
printf(" 4删除通讯录中的记录\n");
printf(" 5修改通讯录\n");
printf(" 0退出\n");
}
/*定义创建通讯录的函数*/
void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n)
{
int i=0;
{
printf("\n无记录,请创建通讯录!\n");
break;
}
mydelete(num,name,tel,&n);
break;
case '5':if(n==0)
{
printf("\n无记录,请创建通讯录!\n");
break;
}
mymodify(num,name,tel,n);
break;
case '0': break;
{
int i;
printf("学号姓名电话号码\n");
for (i=0;i<n;i++)
printf("%12s%12s%15s\n",num[i],name[i],tel[i]);
}
/*定义按学号查询通讯录的函数*/
void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n)
{
printf("\n无记录,请创建通讯录!\n");
break;
}
mydisplay(num,name,tel,n);
相关主题