c - 如何修复我的开关盒以使其正常工作?
问题描述
我一直在做一个C
关于组建团队并将其保存在文件中的项目,以便在下一次执行时可以读取它。现在我正在开发一个功能,该功能应该向用户询问团队中的一名球员并消除用户选择的球员。
为此,我正在使用for loop
打印结构对象中存在的每个玩家,然后我要求用户选择要删除的玩家。
然后我有一个switch case
因为,根据用户选择的玩家的ID,上面的玩家应该向下移动一个位置。
代码如下:
int eliminarjogadores(jogador players[NUM], FILE *fplayers, int nj){
int a=0;
int i=0;
printf("Qual o jogador que pretende eliminar?\n");
for(i=0;i<nj;i++){
printf("%i - %s\n",i+1, players[i].nome);
}
scanf("%i",a);
switch (a) {
case 1:
printf("fds...\n" );
while(a<nj&&a<NUM){
strcpy(players[a-1].nome,players[a].nome);
a++;
}
if(a==NUM-1){
strcpy(players[a-1].nome,"");
}
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 10:
break;
default:
printf("Opção inválida!\n");
break;
}
return nj-1;
}
代码还没有完成,但是如果用户选择选项一,它应该用第一个玩家的名字替换玩家二的名字,第二个玩家的名字替换第三个玩家的名字,依此类推,直到对象上没有玩家结构,然后最后一个玩家应该有一个空名称,如“”。
但是当我尝试运行代码并选择这些选项时,我有这个输出: 代码输出
它没有进入开关盒,我不知道问题出在开关盒本身还是在scanf或其他地方,你们能帮帮我吗?
解决方案
推荐阅读
- jquery - Jquery:无法在 jquery $(data) 中找到 div 元素
- c# - .NET Core 库中的依赖注入调用
- java - Apache PDFBox2:无法提取条形码
- python - 更改字典格式
- elasticsearch - 尝试在 elasticsearch 中重命名嵌套对象名称时出错
- java - 如何使用 java API 监控登录时间和注销时间并存储到 mysql 数据库中
- html - iFrame 中的 FTP 文件
- react-native - 如何在不触及主题的情况下在 React Hook Form Controller 中使用它时更改 UI Kitten React Native Datepicker 背景和边框颜色?
- clojure - 使用列表中的参数调用函数
- docker - 如何从保持调用进程所有权的 docker 容器中自动提取构建工件?