gpt4 book ai didi

c - (C) - 如何比较 2 个 txt 文件 REQUESTS.txt 和 AVAILABLE.txt,将读取的每个 str 分隔成 (STR6、STR3、STR3、INT) 格式的结构?

转载 作者:行者123 更新时间:2023-11-30 20:32:28 25 4
gpt4 key购买 nike

我已经为这个程序工作了一个多星期,但没有取得任何突破。问题陈述如下:​光盘​​文件​​“REQUESTS.TXT”​​包含​​航空公司​​航类​​格式化数据​​(STR6,​​STR3,​​STR3,​​INT)​

Example:​  
AA1011​SFx​LAx​​34​ ​(American Airlines​ ​1010,​ ​SF​ ​to​ ​LA,​ ​34​ ​seats)
W0924​DNV​DFW​​101​ ​(Western​ ​0924,​ ​DNV​ ​to​ ​DFW,​ ​101​ ​seats)

另一个文件“AVAILABL.TXT”包含数量未指定的预订请求记录,其格式与上述相同​除了​​席位​​可用​​字段​是​​​​席位​​请求字段。

指南:

  1. 阅读预订航类并处理请求。如果请求可以被满足(即它在 AVAILABLE 和 REQUESTS 中),则打印“Reservation Processed”,否则打印“Reservation Denied”。
  2. 打印预订处理前后的航类数据文件,按航类 ID 以四 (4) 列格式排序。
  3. 打印所有已处理的总体结果报告。(显示满足和拒绝的请求数量的总数)

我尝试了几种不同的方法..我尝试通过 isalpha/isdigit 拆分第一个 STR6 并将它们组合起来形成 FlightID (AA + 1011)。继续尝试通过 isalpha + for 循环拆分 STR3 和 STR3 之间的剩余字符。最后,我尝试在每次 for 循环迭代期间取最后 3 位以上数字作为座位数,并将第一个数字乘以 100(对于 3 位值)或 10(对于 2 位值),然后将其相加到 availableSeats(INT) 的运行总计。至少我是这么认为的,这会产生一个

AA+1011 = AA1011(STR6)  //  W+0924 = W0924(STR6)
SFx(STR3) // DNV(STR3)
LAx(STR3) // DFW(STR3)
(3*10)+(4*1) = 34(INT) // (1*100)+(0*10)+(1*1) = 101(INT)

所有这些都存储在结构数组中。
即...
FlightData 航类; ................................................ ....FlightData 航类;
航类[0].flightID = AA1011; ................................航类[1].flightID = W0924;
航类[0].fromCity = SFx; ......................................航类[1].fromCity = DNV;
航类[0].toCity = LAx; ................................. 航类[1].toCity = DFW;
航类[0].seatsAvail = 34; ................................航类[ 1].seatsAvail = 101;

我现在真的很茫然,除了寻找不同的技术/方法来完成这项工作之外,没有其他方法可以取得进展。显然,我是一名初学者,并将继续在 C 语言中练习和进步,但如果有人能够向我提供有关如何通过 .txt 将其执行到结构中的正确方向的插入,那就太棒了。另外,如果有人有另一种方法来解决这个问题,我很乐意分析它。谢谢!

(这是我的第一篇文章,我花了很多时间在 Stackoverflow 上对其进行格式化以使其清晰,所以如果我在某些方面搞砸了,一些建设性的批评将会很有用!这适用于我的发帖和我的编码实践。再次感谢!)

编辑:我在这里问的问题是如何成功获取诸如 AA1011SFxLAx34 之类的字符串并将其转换为如上图所示的结构。它还必须适用于 ID 中只有 1 个字符的第二个字符串 W0924DNVDFW101。 (而不是 AA1011 中的两个)。阅读指南后,我不确定还应该编辑什么。

最佳答案

我认为这是一个家庭作业问题,所以我根据
回答 How do I ask and answer homework questions?

查找 C 语言教程,并完成它。
然后拿一个HelloWorld,小步修改它,从一个工作程序到另一个工作程序逐步接近你的目标。这样您至少应该能够从文件中读取文本并打印它。
然后学习将部分打印内容存储到基本变量中。
然后了解结构。
等等。

这样您就会非常接近解决方案。
如果它不完全是您所需要的,请显示您此时此处的代码,并询问有关第一个问题的具体问题,解释您怀疑问题所在。显示恰好存在该问题的代码,并使其可见且没有其他警告(至少使用例如 gcc -Wall mycode)。

借助您收到的评论/答案进行修复,重复。

关于c - (C) - 如何比较 2 个 txt 文件 REQUESTS.txt 和 AVAILABLE.txt,将读取的每个 str 分隔成 (STR6、STR3、STR3、INT) 格式的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com