C 语言课程设计
电脑仓库管理系统
学 院: 计算机与信息科学学院
学生姓名: xx
指导教师: xxx 职称 老师
专 业: 网络工程
班 级: xxx
完成时间: xxxxx
目 录
1 问题要求及任务描述 …………………………………………………………1
1.1 题目要求……………………………………………………………………1
1.2 主要任务……………………………………………………………………1 2 解决问题的主要思路和方法 …………………………………………………1
2.1 关键问题……………………………………………………………………1
2.2 拟采用解决问题的方法……………………………………………………1
2.3主要算法……………………………………………………………………1 3 程序实现 ………………………………………………………………………1
3.1 程序实现时应考虑的问题…………………………………………………1
3.2 主要源代码及说明…………………………………………………………1 4 测试或调试 ……………………………………………………………………1 5 小结 ……………………………………………………………………………1
5.1问题解决方法及程序实现小结 ……………………………………………1
5.2 尚未解决的问题及下一步工作思路 ………………………………………1 6 参考文献 ………………………………………………………………………1 7 附录 ……………………………………………………………………………1
1 问题要求及任务描述
1.1 题目要求
编写出便于电脑销售商家管理电脑信息的程序。
1.2 主要任务
程序功能可实现登录用户系统、输入密码、添加电脑信息(包括电脑品牌、电脑型号、电脑尺寸、电脑颜色)、修改电脑信息、删除电脑信息及查看所有电脑信息等。
图1.1 登录界面(五号黑体)
图1.2 输入密码界面(五号黑体)
图1.3 功能界面 (五号黑体)
2 解决问题的主要思路和方法
2.1 关键问题
如何让程序实现输入密码登录以及添加、修改、删除、查看信息的功能并实现界面的转换。
2.2 拟采用解决问题的方法
充分使用c 语音中的各种函数来解决问题。
2.3 主要算法
使用strcmp 函数实现输入密码登录,既比较输入的字符是否与原字符相同,(如图2.1);使用数组来实现添加信息,并创建文件夹使用文件指针将信息保存,(如图2.2、2.3);使用fopen 来打开文件使用fread 来读取信息(如图2.4);使用findALL 来读取所有信息(如图2.5);使用update 来修改信息(如图2.6);使用del 来删除信息(如图2.7);界面的转换则使用cls 来清空控制台(如图2.8、2.9),并使用多个do 循环和for 循环来实现界面的返回。
图2.1 strcmp函数实现输入密码
图2.2 add函数实现添加信息
图2.3saveMessage 保存信息
图2.4readMessage 读取信息
图2.5findALL 查找信息
图2.6update 修改信息
图2.7del 删除信息
图2.8清出控制台之前
图2.9清楚控制台之后完成转换界面
3 程序实现
3.1 程序实现时应考虑的问题
是否能够实现所以功能,实现过程中是否有错误。
3.2 主要源代码及说明
#include//标准化的输入输出 #include //通用工具函数
#include //控制台的输入输出
#include//包含一些字符串通用的函数 #define MAX 20 //定义一个常量
void add();
int login();
void showMainMenu();
void saveMessage();
int sum;
int readMessage();
void findALL();
void update();
void del();
struct computer{
int id;
char name[10];
int type;
char size[20];
int color;
}computer[MAX]; //数组长度 20
void main()
{
int choice;
system("color FC");
int login_num; //用来接收登录返回的结果
do
{
system("cls"); //system:用来调用我们的DOS 操
作系统 cls清空控制台
printf("▁▁▂▃▄▅▆▇██▉▉欢迎使用电脑仓库管
理系统▉██▇▆▅▄▃▂▁▁\n");
printf(" 1、登录 \n");
printf(" 2、关于我们 \n");
printf(" 0、退出系统 \n");
printf(" 2015 03 21 \n");
printf("▁▁▂▃▄▅▆▇██▉▉□□□□□□□□□
□□□▉██▇▆▅▄▃▂▁▁\n");
printf("请输入您的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:
login_num=login();
if(login_num==1)
{ //表示登录成功
sum=readMessage();
showMainMenu();
}
break;
case 2:
system("cls");
printf("版权所有:第六小组\n");
printf("技术支持:QQ :1003769711\n");
printf("按任意键继续");
getch(); //getch()和scanf 效果差不多 区别在于
scanf 能看到我们输入的东西 getch则不能看到
break;
}
}while(choice!=0);
}
int login()
{
int balance; //表示还可以输入几次密码
int i;
char realpwd[8]="123"; //定义系统登录的密码
char pwd[8];
system("cls");
for(i=0;i
{
printf("请输入密码:\n");
scanf("%s",&pwd); //取出我们控制台输入的密
码
//strcmp 比较两个字符串 如果相等 则返回0. 如
果大于的话,则返回1,否则,返回-1
if( (strcmp(realpwd,pwd))==0 )
{
printf("登录成功\n");
return 1; //1:代表登录成功
}
else
{
balance=2-i;
if(balance==0)
{
printf("你的机会已经用完,系统将自动退出
TAT\n");
exit(0);
}
printf("密码错误,你还有%d次机会O.O",balance);
}
}
return 0; //代表登录失败
}
void showMainMenu()
{
int choice;
system("color F1");
do
{
system("cls");
printf("▁▂▃▄▅▆▇█◣欢迎进入电脑仓库管理系统
◢█▇▆▅▄▃▂▁\n");
printf(" 1、添加电脑信息 \n");
printf(" 2、修改电脑信息 \n");
printf(" 3、删除电脑信息 \n");
printf(" 4、查看电脑信息 \n");
printf(" 0、退出系统 \n");
printf("▁▂▃▄▅▆▇█◤ 请输入你的选择: ◥█▇▆▅▄▃▂▁\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
add();
break;
case 2:
update();
break;
case 3:
del();
break;
case 4:
findALL();
break;
}
}
while(choice!=0); //退出系统
printf("正在保存信息中,系统即将退出\n");
saveMessage();
exit(0);
}
void add()
{
int i=sum;
char choice;
int flag=0;
system("cls");
do
{
printf("添加电脑信息\n"); //对于联系人编号的操作
computer[i].id=sum+1;
printf("添加电脑品牌:\n");
scanf("%s",&computer[i].name); //数组student[1] printf("添加电脑型号:\n");
scanf("%d",&computer[i].type);
flushall(); //回车将残留在缓存去 清空所以的缓存区
printf("添加电脑尺寸:\n");
scanf("%s",&computer[i].size);
printf("添加电脑颜色:\n");
scanf("%d",&computer[i].color);
flushall();
sum++; //代表成功插入数据 sum+1
i++; //如果继续添加的话,则开始插入第i+1条数据,也就是下一条数据
printf("是否继续添加信息:(y/n)\n");
scanf("%c",&choice);
if(choice=='y'||choice=='Y')
{
flag=2;
}
else
{
flag=1;
}
}while(flag==2);
printf("添加信息完毕,请按任意键继续");
getch();
}
void saveMessage()//保存数据到文件当中
{
FILE*fp; //这里,我们是定义了一个文件指针
int i;
//fopen:打开文件 fopen("",""); 文件的文件名是什么 以什么方式打开这个文件
//注意,一定要记得在工程里面创建式一个文本文件
//r:读 w:写 a:追加 b:二进制 t:文本
//r/w/a b/t rb rt wb wt ab at
if( (fp=fopen("computer.txt","wb"))==NULL )
{
printf("打开文件失败,请联系制作人:[1**********]\n"); }
else
{
for(i=0;i
{ //fwriter() 缓存区 大小 一次写多少个 写入的文件
if( (fwrite(&computer[i],sizeof(struct computer),1,fp))!=1 )
{
printf("写入文件失败,请联系制作人:[1**********]");
}
}
} //关闭文件
fclose(fp);
}
//读取数据信息
int readMessage()
{
FILE *fp; //这里,我们是定义了一个文件指针
int i=0;
if( (fp=fopen("computer.txt","rb"))==NULL )
{
printf("打开文件失败,请联系制作人:[1**********]\n");
return 0;
}
//feof 代表的是,检查文件是否到末尾了,如果已经到了末尾,则返回1
while(feof(fp)!=1)
{//开始读取数据
fread(&computer[i],sizeof(struct
computer),1,fp);
if(computer[i].id==0)
{
break;
}
else
{
i++;
}
} //关闭文件
fclose(fp);
return i;
}
void findALL()
{
int i=0,j=0;
int page=0;
system("cls");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
do
{
if(computer[i].id!=0)
{
j++;
if(j%10!=0)
{
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
}
else
{
page++;
printf("这是第%d页,请按任意键查看下一页\n",page);
getch();
system("cls");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
}
}
i++;
}
while(computer[i].id!=0);
printf("\n\t\t查询结束,请按任意键继续\n");
getch();
}
void update()
{
int sid;
int i;
int choice;
int flag=0;
system("cls");
do
{
printf("请输入你想修改的电脑编号:");
scanf("%d",&sid);
flushall();
//判断输入进来的联系人到底存不存在
for(i=0;i
{ //查找编号
if(computer[i].id==sid)
{ //数据已经找到
printf("该电脑的信息如下:\n");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
printf("1、修改电脑品牌\n");
printf("2、修改电脑型号\n");
printf("3、修改电脑尺寸\n");
printf("4、修改电脑颜色\n");
printf("请输入你的选择:\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
} printf("请输入修改后的品牌"); scanf("%s",computer[i].name); break; case 2: printf("请输入修改后的型号"); scanf("%d",computer[i].type); break; case 3: printf("请输入修改后的尺寸"); scanf("%s",computer[i].size); break; case 4: printf("请输入修改后的颜色"); scanf("%d",computer[i].color); break; } } else if(i==sum-1) { printf("对不起,没有找到相应的信息\n"); } } printf("修改信息成功,是否继续修改信息:(y/n)\n"); scanf("%c",&choice); if(choice=='y'||choice=='Y') { flag=2; } else { flag=1; }
while(flag==2);
printf("修改信息完毕,请按任意键继续");
getch();
}
void del()
{
int sid;
int i;
char choice;
int k;
int m=0;
int flag=0;
system("cls");
printf("请输入你想删除的电脑编号:");
scanf("%d",&sid);
flushall();
for(i=0;i
{ //查找编号
if(computer[i].id==sid)
{ //数据已经找到
printf("该电脑的信息如下:\n");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
printf("确定删除该条信息吗?(y/n)\n");
scanf("%c",&choice);
if(choice=='y'||choice=='Y')
{
//删除这里,我们是使用了一个函数 memcpy(xxxxxx ,xxxx ,xxx )
// 定义目标对象 原对象 大小
for(k=0;k
{ //已经找到我们要删除的数据 这里 sum=3 k:2 m:1 i:1
if(k==i)
{
}
else
{
memcpy(&computer[m],&computer[k],sizeof(computer));
m++;
}
}
}
}
}
printf("删除成功,是否继续删除信息:(y/n)\n");
getch();
}
4 测试或调试
经多次测试,程序已经能够正常运行。使用者能够简单便捷的使用此系统,进行对电脑仓库信息的查看、添加、修改和删除等操作。
5 小结
5.1问题解决方法及程序实现小结
充分使用c 语言的知识来解决问题。
在程序实现的过程中我们遇到的许多问题,但在老师的指导下我们团结一致,一一解决了所遇到的问题,并且收获了许多,学习到了一些编写程序时常见的问题及解决方法。
电脑仓库管理系统界面简洁清爽,简单明了,便于管理者操作管理信息,但也存在实用性不太强等问题。
5.2尚未解决的问题及下一步工作思路
C 语言课程设计
电脑仓库管理系统
学 院: 计算机与信息科学学院
学生姓名: xx
指导教师: xxx 职称 老师
专 业: 网络工程
班 级: xxx
完成时间: xxxxx
目 录
1 问题要求及任务描述 …………………………………………………………1
1.1 题目要求……………………………………………………………………1
1.2 主要任务……………………………………………………………………1 2 解决问题的主要思路和方法 …………………………………………………1
2.1 关键问题……………………………………………………………………1
2.2 拟采用解决问题的方法……………………………………………………1
2.3主要算法……………………………………………………………………1 3 程序实现 ………………………………………………………………………1
3.1 程序实现时应考虑的问题…………………………………………………1
3.2 主要源代码及说明…………………………………………………………1 4 测试或调试 ……………………………………………………………………1 5 小结 ……………………………………………………………………………1
5.1问题解决方法及程序实现小结 ……………………………………………1
5.2 尚未解决的问题及下一步工作思路 ………………………………………1 6 参考文献 ………………………………………………………………………1 7 附录 ……………………………………………………………………………1
1 问题要求及任务描述
1.1 题目要求
编写出便于电脑销售商家管理电脑信息的程序。
1.2 主要任务
程序功能可实现登录用户系统、输入密码、添加电脑信息(包括电脑品牌、电脑型号、电脑尺寸、电脑颜色)、修改电脑信息、删除电脑信息及查看所有电脑信息等。
图1.1 登录界面(五号黑体)
图1.2 输入密码界面(五号黑体)
图1.3 功能界面 (五号黑体)
2 解决问题的主要思路和方法
2.1 关键问题
如何让程序实现输入密码登录以及添加、修改、删除、查看信息的功能并实现界面的转换。
2.2 拟采用解决问题的方法
充分使用c 语音中的各种函数来解决问题。
2.3 主要算法
使用strcmp 函数实现输入密码登录,既比较输入的字符是否与原字符相同,(如图2.1);使用数组来实现添加信息,并创建文件夹使用文件指针将信息保存,(如图2.2、2.3);使用fopen 来打开文件使用fread 来读取信息(如图2.4);使用findALL 来读取所有信息(如图2.5);使用update 来修改信息(如图2.6);使用del 来删除信息(如图2.7);界面的转换则使用cls 来清空控制台(如图2.8、2.9),并使用多个do 循环和for 循环来实现界面的返回。
图2.1 strcmp函数实现输入密码
图2.2 add函数实现添加信息
图2.3saveMessage 保存信息
图2.4readMessage 读取信息
图2.5findALL 查找信息
图2.6update 修改信息
图2.7del 删除信息
图2.8清出控制台之前
图2.9清楚控制台之后完成转换界面
3 程序实现
3.1 程序实现时应考虑的问题
是否能够实现所以功能,实现过程中是否有错误。
3.2 主要源代码及说明
#include//标准化的输入输出 #include //通用工具函数
#include //控制台的输入输出
#include//包含一些字符串通用的函数 #define MAX 20 //定义一个常量
void add();
int login();
void showMainMenu();
void saveMessage();
int sum;
int readMessage();
void findALL();
void update();
void del();
struct computer{
int id;
char name[10];
int type;
char size[20];
int color;
}computer[MAX]; //数组长度 20
void main()
{
int choice;
system("color FC");
int login_num; //用来接收登录返回的结果
do
{
system("cls"); //system:用来调用我们的DOS 操
作系统 cls清空控制台
printf("▁▁▂▃▄▅▆▇██▉▉欢迎使用电脑仓库管
理系统▉██▇▆▅▄▃▂▁▁\n");
printf(" 1、登录 \n");
printf(" 2、关于我们 \n");
printf(" 0、退出系统 \n");
printf(" 2015 03 21 \n");
printf("▁▁▂▃▄▅▆▇██▉▉□□□□□□□□□
□□□▉██▇▆▅▄▃▂▁▁\n");
printf("请输入您的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:
login_num=login();
if(login_num==1)
{ //表示登录成功
sum=readMessage();
showMainMenu();
}
break;
case 2:
system("cls");
printf("版权所有:第六小组\n");
printf("技术支持:QQ :1003769711\n");
printf("按任意键继续");
getch(); //getch()和scanf 效果差不多 区别在于
scanf 能看到我们输入的东西 getch则不能看到
break;
}
}while(choice!=0);
}
int login()
{
int balance; //表示还可以输入几次密码
int i;
char realpwd[8]="123"; //定义系统登录的密码
char pwd[8];
system("cls");
for(i=0;i
{
printf("请输入密码:\n");
scanf("%s",&pwd); //取出我们控制台输入的密
码
//strcmp 比较两个字符串 如果相等 则返回0. 如
果大于的话,则返回1,否则,返回-1
if( (strcmp(realpwd,pwd))==0 )
{
printf("登录成功\n");
return 1; //1:代表登录成功
}
else
{
balance=2-i;
if(balance==0)
{
printf("你的机会已经用完,系统将自动退出
TAT\n");
exit(0);
}
printf("密码错误,你还有%d次机会O.O",balance);
}
}
return 0; //代表登录失败
}
void showMainMenu()
{
int choice;
system("color F1");
do
{
system("cls");
printf("▁▂▃▄▅▆▇█◣欢迎进入电脑仓库管理系统
◢█▇▆▅▄▃▂▁\n");
printf(" 1、添加电脑信息 \n");
printf(" 2、修改电脑信息 \n");
printf(" 3、删除电脑信息 \n");
printf(" 4、查看电脑信息 \n");
printf(" 0、退出系统 \n");
printf("▁▂▃▄▅▆▇█◤ 请输入你的选择: ◥█▇▆▅▄▃▂▁\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
add();
break;
case 2:
update();
break;
case 3:
del();
break;
case 4:
findALL();
break;
}
}
while(choice!=0); //退出系统
printf("正在保存信息中,系统即将退出\n");
saveMessage();
exit(0);
}
void add()
{
int i=sum;
char choice;
int flag=0;
system("cls");
do
{
printf("添加电脑信息\n"); //对于联系人编号的操作
computer[i].id=sum+1;
printf("添加电脑品牌:\n");
scanf("%s",&computer[i].name); //数组student[1] printf("添加电脑型号:\n");
scanf("%d",&computer[i].type);
flushall(); //回车将残留在缓存去 清空所以的缓存区
printf("添加电脑尺寸:\n");
scanf("%s",&computer[i].size);
printf("添加电脑颜色:\n");
scanf("%d",&computer[i].color);
flushall();
sum++; //代表成功插入数据 sum+1
i++; //如果继续添加的话,则开始插入第i+1条数据,也就是下一条数据
printf("是否继续添加信息:(y/n)\n");
scanf("%c",&choice);
if(choice=='y'||choice=='Y')
{
flag=2;
}
else
{
flag=1;
}
}while(flag==2);
printf("添加信息完毕,请按任意键继续");
getch();
}
void saveMessage()//保存数据到文件当中
{
FILE*fp; //这里,我们是定义了一个文件指针
int i;
//fopen:打开文件 fopen("",""); 文件的文件名是什么 以什么方式打开这个文件
//注意,一定要记得在工程里面创建式一个文本文件
//r:读 w:写 a:追加 b:二进制 t:文本
//r/w/a b/t rb rt wb wt ab at
if( (fp=fopen("computer.txt","wb"))==NULL )
{
printf("打开文件失败,请联系制作人:[1**********]\n"); }
else
{
for(i=0;i
{ //fwriter() 缓存区 大小 一次写多少个 写入的文件
if( (fwrite(&computer[i],sizeof(struct computer),1,fp))!=1 )
{
printf("写入文件失败,请联系制作人:[1**********]");
}
}
} //关闭文件
fclose(fp);
}
//读取数据信息
int readMessage()
{
FILE *fp; //这里,我们是定义了一个文件指针
int i=0;
if( (fp=fopen("computer.txt","rb"))==NULL )
{
printf("打开文件失败,请联系制作人:[1**********]\n");
return 0;
}
//feof 代表的是,检查文件是否到末尾了,如果已经到了末尾,则返回1
while(feof(fp)!=1)
{//开始读取数据
fread(&computer[i],sizeof(struct
computer),1,fp);
if(computer[i].id==0)
{
break;
}
else
{
i++;
}
} //关闭文件
fclose(fp);
return i;
}
void findALL()
{
int i=0,j=0;
int page=0;
system("cls");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
do
{
if(computer[i].id!=0)
{
j++;
if(j%10!=0)
{
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
}
else
{
page++;
printf("这是第%d页,请按任意键查看下一页\n",page);
getch();
system("cls");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
}
}
i++;
}
while(computer[i].id!=0);
printf("\n\t\t查询结束,请按任意键继续\n");
getch();
}
void update()
{
int sid;
int i;
int choice;
int flag=0;
system("cls");
do
{
printf("请输入你想修改的电脑编号:");
scanf("%d",&sid);
flushall();
//判断输入进来的联系人到底存不存在
for(i=0;i
{ //查找编号
if(computer[i].id==sid)
{ //数据已经找到
printf("该电脑的信息如下:\n");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
printf("1、修改电脑品牌\n");
printf("2、修改电脑型号\n");
printf("3、修改电脑尺寸\n");
printf("4、修改电脑颜色\n");
printf("请输入你的选择:\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
} printf("请输入修改后的品牌"); scanf("%s",computer[i].name); break; case 2: printf("请输入修改后的型号"); scanf("%d",computer[i].type); break; case 3: printf("请输入修改后的尺寸"); scanf("%s",computer[i].size); break; case 4: printf("请输入修改后的颜色"); scanf("%d",computer[i].color); break; } } else if(i==sum-1) { printf("对不起,没有找到相应的信息\n"); } } printf("修改信息成功,是否继续修改信息:(y/n)\n"); scanf("%c",&choice); if(choice=='y'||choice=='Y') { flag=2; } else { flag=1; }
while(flag==2);
printf("修改信息完毕,请按任意键继续");
getch();
}
void del()
{
int sid;
int i;
char choice;
int k;
int m=0;
int flag=0;
system("cls");
printf("请输入你想删除的电脑编号:");
scanf("%d",&sid);
flushall();
for(i=0;i
{ //查找编号
if(computer[i].id==sid)
{ //数据已经找到
printf("该电脑的信息如下:\n");
printf("\n◆◆◆◆◆◆◆◆◆◆◆◆◆电脑信息◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf("\n 编号-----品牌-----型号-----尺寸-----颜色 \n");
printf("%12d%10s%10d%8s%8d\n",computer[i].id,computer[i].name,computer[i].type,computer[i].size,computer[i].color);
printf("确定删除该条信息吗?(y/n)\n");
scanf("%c",&choice);
if(choice=='y'||choice=='Y')
{
//删除这里,我们是使用了一个函数 memcpy(xxxxxx ,xxxx ,xxx )
// 定义目标对象 原对象 大小
for(k=0;k
{ //已经找到我们要删除的数据 这里 sum=3 k:2 m:1 i:1
if(k==i)
{
}
else
{
memcpy(&computer[m],&computer[k],sizeof(computer));
m++;
}
}
}
}
}
printf("删除成功,是否继续删除信息:(y/n)\n");
getch();
}
4 测试或调试
经多次测试,程序已经能够正常运行。使用者能够简单便捷的使用此系统,进行对电脑仓库信息的查看、添加、修改和删除等操作。
5 小结
5.1问题解决方法及程序实现小结
充分使用c 语言的知识来解决问题。
在程序实现的过程中我们遇到的许多问题,但在老师的指导下我们团结一致,一一解决了所遇到的问题,并且收获了许多,学习到了一些编写程序时常见的问题及解决方法。
电脑仓库管理系统界面简洁清爽,简单明了,便于管理者操作管理信息,但也存在实用性不太强等问题。
5.2尚未解决的问题及下一步工作思路