c语言数组增删初学者练习
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>//调用windows函数头文件
#include <mmsystem.h>//调用微软。。。
#define MAX 6
int main()
{
PlaySound(TEXT("sounds\\背景音乐.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
int i,j;
int count=3;
char name[100];
int choice;
int searchindex=-1;
char toyname[MAX][100]={"藤叶蛇","暖暖猪","小水獭"};
char levelname[4][100]={"幼年期","成年体","完全体","终结体"};
// char skill[MAX][100]={"num1,num2","num3,num4","num5,num6"};
int level[MAX]={0,0,0,-1,-1,-1};//初始精灵等级
char tmpname[20];
// char tmpskill[20];
printf("初始精灵介绍\n");
printf("名称\t等级\t\n");
for(i=0;i<count;i++)
{
printf("%s\t%s\t\n",toyname[i],levelname[level[i]]);
}
printf("输入当前召唤师名称\n");
scanf("%s",name);
printf("当前召唤师名称为:%s",name);
printf("1.精灵抓捕\n");
printf("2.精灵喂养\n");
printf("3.精灵放生\n");
//printf("4.学习技能\n");
printf("召唤师进行选择\n");
while(1)
{
scanf("%d",&choice);
switch (choice)
{
case 1:
PlaySound(TEXT("sounds\\选妃.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
printf("1.精灵抓捕\n");
if(count<MAX)
{
printf("要抓捕的宠物名称:\n");
scanf("%s",toyname[count]);
level[count]=0;
count++;
}
else
{
printf("宠物背包已满\n");
}
break;
case 2:
PlaySound(TEXT("sounds\\翻牌.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
printf("2.精灵喂养\n");
printf("要喂养的精灵\n");
scanf("%s",tmpname);
for(i=0;i<count;i++)
{
if(strcmp(tmpname,toyname[i])==0)
{
level[i]=level[i]>=3?3:level[i]+1;
}
else
{
printf("精灵未找到\n");
}
}
break;
case 3:
PlaySound(TEXT("sounds\\冷宫.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
printf("3.精灵放生\n");
printf("输入要放生的精灵\n");
scanf("%s",tmpname);
for(i=0;i<count;i++)
{
if(strcmp(tmpname,toyname[i])==0)
{
searchindex=i;
break;
}
}
if(-1==searchindex)
{
printf("未找到对应精灵");
}
else
{
for(i=searchindex;i<count-1;i++)
{
//错误代码toyname[i]=toyname[i+1];
strcpy(toyname[i],toyname[i+1]);
level[i]=level[i+1];
}
count--;
}
break;
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>//调用windows函数头文件
#include <mmsystem.h>//调用微软。。。
#define MAX 6
int main()
{
PlaySound(TEXT("sounds\\背景音乐.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
int i,j;
int count=3;
char name[100];
int choice;
int searchindex=-1;
char toyname[MAX][100]={"藤叶蛇","暖暖猪","小水獭"};
char levelname[4][100]={"幼年期","成年体","完全体","终结体"};
// char skill[MAX][100]={"num1,num2","num3,num4","num5,num6"};
int level[MAX]={0,0,0,-1,-1,-1};//初始精灵等级
char tmpname[20];
// char tmpskill[20];
printf("初始精灵介绍\n");
printf("名称\t等级\t\n");
for(i=0;i<count;i++)
{
printf("%s\t%s\t\n",toyname[i],levelname[level[i]]);
}
printf("输入当前召唤师名称\n");
scanf("%s",name);
printf("当前召唤师名称为:%s",name);
printf("1.精灵抓捕\n");
printf("2.精灵喂养\n");
printf("3.精灵放生\n");
//printf("4.学习技能\n");
printf("召唤师进行选择\n");
while(1)
{
scanf("%d",&choice);
switch (choice)
{
case 1:
PlaySound(TEXT("sounds\\选妃.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
printf("1.精灵抓捕\n");
if(count<MAX)
{
printf("要抓捕的宠物名称:\n");
scanf("%s",toyname[count]);
level[count]=0;
count++;
}
else
{
printf("宠物背包已满\n");
}
break;
case 2:
PlaySound(TEXT("sounds\\翻牌.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
printf("2.精灵喂养\n");
printf("要喂养的精灵\n");
scanf("%s",tmpname);
for(i=0;i<count;i++)
{
if(strcmp(tmpname,toyname[i])==0)
{
level[i]=level[i]>=3?3:level[i]+1;
}
else
{
printf("精灵未找到\n");
}
}
break;
case 3:
PlaySound(TEXT("sounds\\冷宫.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
printf("3.精灵放生\n");
printf("输入要放生的精灵\n");
scanf("%s",tmpname);
for(i=0;i<count;i++)
{
if(strcmp(tmpname,toyname[i])==0)
{
searchindex=i;
break;
}
}
if(-1==searchindex)
{
printf("未找到对应精灵");
}
else
{
for(i=searchindex;i<count-1;i++)
{
//错误代码toyname[i]=toyname[i+1];
strcpy(toyname[i],toyname[i+1]);
level[i]=level[i+1];
}
count--;
}
break;
default:
printf("输入有误,请重新选择");
break;
}
printf("精灵介绍\n");
printf("名称\t等级\t\n");
for(i=0;i<count;i++)
{
printf("%s\t%s\t\n",toyname[i],levelname[level[i]]);
}
}
return 0;
}
printf("输入有误,请重新选择");
break;
}
printf("精灵介绍\n");
printf("名称\t等级\t\n");
for(i=0;i<count;i++)
{
printf("%s\t%s\t\n",toyname[i],levelname[level[i]]);
}
}
return 0;
}