コンパイルはできるのですが出力がどうしても0か空白になってしまいます。
色々試行錯誤してみたのですができませんでした。
使っているのはEmEditorです。
作成中なのでcase5の全体表示はまだしていません。
どなたか間違いを指摘してくれないでしょうか?
#include <stdio.h>
#include <stdlib.h>
struct data{
int ban;
char name[11];
int ten;
struct data *next;
} seiseki[20];
int datasu = 0;
int misiyou = 0;
int limit = 20;
int main(void)
{
char ans ='8';
int cho,nn,i;
puts("番号を指定してください。\n1:新規作成 2:追加 3:個別表示 4:修正 5:全体表示 9:終了");
while(ans!='9'){
scanf("%[^\n]",&ans);
//入力バッファに残る\nをクリアする
fflush(stdin);
switch(ans){
case '1':
if(datasu < datasu + misiyou){
printf("番号:");
scanf("%d",&seiseki[datasu - misiyou].ban);
fflush(stdin);
printf("氏名:");
scanf("%s",seiseki[datasu - misiyou].name);
fflush(stdin);
printf("得点:");
scanf("%d",&seiseki[datasu - misiyou].ten);
fflush(stdin);
misiyou--;
}else{
printf("データを追加してください。\n\n");
}
break;
case '2':
if(datasu < limit){
printf("データを追加しました。\n\n");
datasu++;
misiyou++;
}else{
printf("データ上限です。\n");
}
break;
case '3':
printf("表示させる番号を入力してください。\n番号:");
cho = 0;
scanf("%d",&cho);
fflush(stdin);
for(i = 0;i != limit + 1;i++){
if(seiseki[i].ban == cho){
printf(" %d氏名:%s 得点:%d\n",seiseki[cho].ban,seiseki[cho].name,seiseki[cho].ten);
break;
}
}
if(i == 21){
printf("その番号は存在しません。\n");
}
break;
case '4':
printf("修正する番号を入力してください。\n?番号");
scanf("%d",&cho);
fflush(stdin);
printf("どれを修正しますか?(1:氏名 2:得点)\n?");
scanf("%d",&nn);
fflush(stdin);
if(nn == 1){
for(i = 0;i != limit + 1;i++){
if(nn == seiseki[i].ban){
scanf("%",seiseki[i].name);
fflush(stdin);
}
}
if(i == 21){
printf("該当の番号はありませんでした。\n");
}
}else if(nn == 2){
for(i = 0;i != limit + 1;i++){
if(nn == seiseki[i].ban){
scanf("%",seiseki[i].ten);
fflush(stdin);
}
}
if(i == 21){
printf("該当の番号はありませんでした。\n");
}
}
break;
case '5':
break;
default:
puts("正しい値を入力して下さい");
break;
}
//入力バッファに残る\nをクリアする
fflush(stdin);
puts("番号を指定してください。\n1:新規作成 2:追加 3:個別表示 4:修正 5:全体表示 9:終了");
}
return 0;
}