第一次自己比较的独立编写一个程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/woyaoxuechengxu/article/details/50182223

今天对那个调查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可能不太好,但是我并不会用其他的方式

猜你喜欢

转载自blog.csdn.net/woyaoxuechengxu/article/details/50182223