怎樣用c編寫一個星座查詢系統?求源代碼,
程序不是很好,不是很簡化。輸入格式month-day name
如果輸入格式不符就結束了。結果保存在tab。txt文檔中。
你試試行不行。
#include <stdio.h>
int main(int argc, char *argv[])
{
char t,a[50][20] = {{0},"Aquarius","Pisces","Aries","Taurus","Gemini","Cancer","Leo","Virgo","Libra","Scorpio","Sagittarius","Capricorn"},b[20];
int month,day;
FILE *fp;
if((fp=fopen("tab.txt","w"))==NULL)
{
printf("Cannot great tab.txt!");
return 0;
}
printf("請輸入日期與姓名,例:04-10 James\n");
while(1)
{
scanf("%d-%d %s%*c",&month,&day,&b);
switch(month)
{
case 12:{if(day>=22){fprintf(fp,"%d-%d %s %s\n",month,day,a[12],b);printf("%s\n",a[12]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[11],b);printf("%s\n",a[11]);break;}}
case 11:{if(day>=22){fprintf(fp,"%d-%d %s %s\n",month,day,a[11],b);printf("%s\n",a[11]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[10],b);printf("%s\n",a[10]);break;}}
case 10:{if(day>=23){fprintf(fp,"%d-%d %s %s\n",month,day,a[10],b);printf("%s\n",a[10]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[9],b);printf("%s\n",a[9]);break;}}
case 9:{if(day>=23){fprintf(fp,"%d-%d %s %s\n",month,day,a[9],b);printf("%s\n",a[9]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[8],b);printf("%s\n",a[8]);break;}}
case 8:{if(day>=23){fprintf(fp,"%d-%d %s %s\n",month,day,a[8],b);printf("%s\n",a[8]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[7],b);printf("%s\n",a[7]);break;}}
case 7:{if(day>=23){fprintf(fp,"%d-%d %s %s\n",month,day,a[7],b);printf("%s\n",a[7]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[6],b);printf("%s\n",a[6]);break;}}
case 6:{if(day>=22){fprintf(fp,"%d-%d %s %s\n",month,day,a[6],b);printf("%s\n",a[6]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[5],b);printf("%s\n",a[5]);break;}}
case 5:{if(day>=21){fprintf(fp,"%d-%d %s %s\n",month,day,a[5],b);printf("%s\n",a[5]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[4],b);printf("%s\n",a[4]);break;}}
case 4:{if(day>=21){fprintf(fp,"%d-%d %s %s\n",month,day,a[4],b);printf("%s\n",a[4]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[3],b);printf("%s\n",a[3]);break;}}
case 3:{if(day>=21){fprintf(fp,"%d-%d %s %s\n",month,day,a[3],b);printf("%s\n",a[3]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[2],b);printf("%s\n",a[2]);break;}}
case 2:{if(day>=19){fprintf(fp,"%d-%d %s %s\n",month,day,a[2],b);printf("%s\n",a[2]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[1],b);printf("%s\n",a[1]);break;}}
case 1:{if(day>=20){fprintf(fp,"%d-%d %s %s\n",month,day,a[1],b);printf("%s\n",a[1]);break;}else{fprintf(fp,"%d-%d %s %s\n",month,day,a[12],b);printf("%s\n",a[12]);break;}}
}
}
fclose(fp);
return 0;
}...
17413