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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值