#include
int main(){
int y=0;
int c;
int m=0;
int g;
printf("西暦を入力してください\n");
while((c=getchar()) !='\n'){
if(c>='0' && c=1900 && y='0' && g=1 && m<=12){
printf("%d\n",m);
}
return 0;
}
この問題でいまこの中にあるものだけで、文字コードから年号を入力するプログラムをつくってるのですが数字意外の文字が入力されたらまた最初の入力に戻る繰り返し分にし、Enterが入力されたらgetcharをやめて全て数字だったときに1900〜2100の範囲内にはいっていなければ最初の入力に戻る繰り返し文をつくっています(T . T)
また空白空白1900空白空白Enterとかであればokで
空白1空白9空白0空白0Enterなどのいくつも数字がバラける場合は入力に戻るプログラミングを作りたいのですがどなたか教えていただけないですか(T . T)
よろしければ
Re: よろしければ
何が「とか」に相当するかがわかりませんが、ungetcを使わずに書き直してみました。にょんた さんが書きました:ungetcとかつかわないでもかけますか?(T . T)
まだgetcharとかしかしらなくて(T . T)
while((c=getchar())==' ' || (c|=0x1000,0));
while(c=((c&0x1000) && c>=0?c&0xFF:getchar()),c>='0' && c=0&&(y=((y*10)/10==y?(y*10+c-'0'>=y?y*10+c-'0':-1):-1)),1):(c|=0x1000,0));
while((c=((c&0x1000) && c>=0?c&0xFF:getchar()))==' ' || (c|=0x1000,0));
while((c=((c&0x1000) && c>=0?c&0xFF:getchar()))=='\n'?0:((y=-1),c!=EOF));
if(y>=1900 && y<=2100)printf("%d\n",y);
Re: よろしければ
#include
int main(){
int c;
printf("年を入力してください\n");
c=getchar();
while(c==' ' ){
}
c=getchar();
while(c>='0' && c<='9'){
}
c=getchar();
while(c==' '){
}
}
int main(){
int c;
printf("年を入力してください\n");
c=getchar();
while(c==' ' ){
}
c=getchar();
while(c>='0' && c<='9'){
}
c=getchar();
while(c==' '){
}
}
Re: よろしければ
とりあえずさいごのwhile分のなかでif文を使うみたいです(T . T)
多分年号判定のifはあととしてとりあえずかけるとこまでかいてみました
多分年号判定のifはあととしてとりあえずかけるとこまでかいてみました
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 15年前