1. 程式人生 > >第一次自己比較的獨立編寫一個程式

第一次自己比較的獨立編寫一個程式

今天對那個調查California州移民數量做的那個程式做了擴充套件:蛋疼死了

本來打算另外搞一個函式來根據大州的名稱來獲取州的編號,後來發現無法輸出(自定義函式的返回值不知道怎麼讓字串輸出),結果想用那個atoi函式,不知道why不能對那個“48”進行轉換,結果又想用字串來返回,結果上網查發現指標貌似可以,然而我並不會使用,結果就是怎麼都試不出來,試了快1個半小時,還是把程式碼直接插到原來的main函式裡面,結果又發現不能對char standard【5】進行操作,結果室友告訴我可以用strcpy函式來copy,這個和我之前的那個想法差不多,我要求使用者輸入“    ‘的形式,然後輸入便能夠直接使用做city,也就是說standard可以作為一個地址來儲存字串。本來其實這個並不是很難,但是由於”“的存在讓這個程式的難度增加。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//int daima(char cit[20]);
int main()
{
char buf[1000];

char a[5],b[20],c[5],city[20];
long int x,total=0;
char bu[1000];
char d[100],e[100];
char standard[5];
printf("你想知道哪個州的移民資訊?\n");
scanf("%s",city);
FILE *fp=fopen("E:\\stateoutflow.txt","r");

while(fgets(bu,1000,fp)!=NULL)
{
sscanf(bu,"%*s%*s%s%*s%*s%s%*s%*s%*s",d,e);
if(strcmp(city,e)==0){
// printf("%s\n",d);
d;
break;
}
}
fclose(fp);

strcpy(standard,d);
// printf("%s\n",standard);
printf("STATE\t\t\tTOTAL\n");
printf("-----------------------------\n");
FILE *fpc=fopen("E:\\stateoutflow.txt","r");
while(fgets(buf,1000,fpc)!=NULL)
{
sscanf(buf,"%s%*s%*s%*s%*s%s%*s%*s%s",a,b,c);
if(strcmp(standard,a)==0){
x=atoi(c);
total=total+x;
printf("%-20s\t%s\n",b,c);}
}
printf("-----------------------------\n");
printf("TOTAL\t\t\t%ld\n",total);
fclose(fpc);
// printf("%s\n",standard);
return 0;
}

雖然看起來就很繁瑣,但畢竟是自己寫的,或許還可以簡化一下的,懶得看咯。

實際上,我感覺那個sscanf後面跟了9個%s可能不太好,但是我並不會用其他的方式