|
|
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Помогите, пожалуйста оптимизировать код программы Программу я написал(Все работает), но больно она какая то корявая((( Задача: В задаче нужно самостоятельно определить структуру записи и характеристики ее элементов, выполнить описание данной структуры и написать программу, содержащую функции создания файла, вывода на экран всей информации и информации, соответствующей условиям поиска. Запись должна содержать следующую информацию: фамилия и инициалы авторов, название книги, издательство, год издания, количество страниц, количество глав в книге, название дисциплины. Для проверки правильности работы программы ее нужно протестировать. Для этого необходимо записать в файл 8-10 записей и далее выполнить вывод на экран вначале всей инфомации, а затем информации, соответствующей условию поиска. условие поиска Напечатать фамилии авторов, названия и количество страниц книг, обеспечивающих дисциплину, название которой введено с клавиатуры. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 20:31 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
а что за странные способы ввода/вывода данных при работе с файлами? вот так уже не кавайно? : автор ofsteram outf("file.txt"); int i(0), j(1); outf << "i=" << i << "; j= " << j << endl; аналогично со вводом. зачем использовать write/read? И еще. есть гораздо более красивые методы преобразования чисел в строки (если уж так хочется это вручную делать, а не использовать стандартный вывод). К примеру, sprintf... или поток в строку... Если в общем по алгоритму - то он на столько простой, что по-моему принципиально оптимизировать то и нечего... Хотя сейчас посмотрю более внимательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 20:44 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
lrad пишет: > #include "stdafx.h" Этот "stdafx.h" лишний, он не нужен. Можешь выкидывать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:24 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Как говорил один мой знакомый: Если у вас что-то не получается, - добавьте классов. На мойвзгляд класс managerслишком перегружен, он умеет и хранить книжки и записывать/читать свое содежимое в/из файл, и печатать в нескольких форматах свое содержимое на экран. Кстати ты сделалне все - печати содержимого библиотеки по условию ты не написал. Я бы за manager оставил только отвественность контейнера книжек, не более того, а остальное вынес в другие классы. Да и название у него нескольк не удачное ну например так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:26 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
2 blinded С каких это пор в С++ появились шаблонные виртуальные функции: Код: plaintext 1. 2. 3. 4. 5. ? %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:50 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков2 blinded С каких это пор в С++ появились шаблонные виртуальные функции: Код: plaintext 1. 2. 3. 4. 5. ? %) Да-да это я маханул, просто мысля бежала впереди паровоза надо вот так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 11:47 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Спасибо Всем кто откликнулся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 22:37 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
1. Код: plaintext 1. 2. public: для struct лишнее. Ибо это умолчание. 3. Код: plaintext 1. 2. 3. 4. _name и прочие: не стоит использовать идентификаторы с ведущего подчеркивания. Впрочем, тут это дело вкуса. 5. Код: plaintext Пость пофиксенный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2007, 01:47 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
grieg 4. _name и прочие: не стоит использовать идентификаторы с ведущего подчеркивания. Впрочем, тут это дело вкуса. Здесь не только дело вкуса, стандарт отводит идентификаторы начинающиеся на '_' разработчикам компиляторов и библиотек, поэтому использование таких идентификаторов, мягко говоря, нежелательно. grieg 5. Код: plaintext вполне корректная проверка, ведь file это std::ofstream. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2007, 12:23 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
1. Стандарт резервирует идентификаторы, начинающиеся с подчеркивания и заглавной буквы или содержащме двойное подчеркивание. В любом случае -- это темные уголки стандарта. Не надо использовать ведущее подчеркивание и все. 2. http://www.cplusplus.com/reference/iostream/ofstream/open.html On failure, the failbit flag is set (which can be checked with member fail), and depending on the value set with exception an exception may be thrown. Так что я все-таки полагаю, что проверка некорректна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2007, 13:47 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков Здесь не только дело вкуса, стандарт отводит идентификаторы начинающиеся на '_' разработчикам компиляторов и библиотек, поэтому использование таких идентификаторов, мягко говоря, нежелательно Вот разработчикам STL можно, а мне нельзя. Это чегой-то за дискриминация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2007, 14:33 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
2 grieg Вот цитата из стандарта: автор27.4.4.3 basic_ios iostate flags functions operator void*() const; 1 Returns: If fail() then a null pointer; otherwise some non-null pointer to indicate success. bool operator!() const; 2 Returns: fail(). iostate rdstate() const; 3 Returns: The error state of the stream buffer. Как видно, в выражении !file будет использован перегруженный оператор !, который, согласно стандарта, возвращает значение fail. Так что проверка, вполне,коректна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2007, 18:52 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
ОК. Был не прав, погорячился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 08:56 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Не посмотрите переработанный код? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:22 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Ну а практически ничего и не изменилось. Ну добавился класс, driver только вот его появление не привнесло ничего нового, не получилось гибкой структуры. Вот захочется тебе заменить запись в двоичный код на запись в xml формат и что делать? А ежели захочется чтобы оба формата жили в одной программе? Тоже самое мжно сказать и о выводе на экран. Нужно выводить в двух форматах, ну так и сделай под каждый формат свой класс, понадобится третий- просто добавишь класс. А если так как сейчас - придется дописывать manager и перетестировать его. А что там у нас с поиском? Испарился? Вот на первый взгляд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:40 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Полностью переработал код программы компилируется под Борланд 3.11 что скажете? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 00:39 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 13:26 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
grieg Устаревшие заголовки. Следует использовать iostream, fstream, etc. и пространство имен std. Или борланд еще не в курсе? Борланд 3.11 именно не в курсе - не компилируется если я так напишу(а задание именно в нем написать) grieg Не согласованы с объявлением структуры book. не согласованны с чем? с этим? Код: plaintext 1. 2. 3. 4. 5. 6. можно тогда так написать? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 14:02 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Про Борланд: Ужас-ужас. Про define Вот это: Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. А вообще, по хорошему, надо хранить строки в std::string и не париться с выделением/освобождением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 14:42 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
тоесть должно быть так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 15:00 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Так более осмысленно. Еще раз: зачем тебе conio.h и stdlib.h? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 19:02 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 20:12 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
lradНужен для библиотечной функции " exit(1); // аварийный выход" Пока забудь о ее существовании, при ее вызове НЕ ВЫЗЫВАЮТСЯ ДЕСТРУКТОРЫ СТАТИЧЕСКИХ ОБЪЕКТОВ, костей не соберешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 20:24 |
|
||
|
Помогите, пожалуйста оптимизировать код программы
|
|||
|---|---|---|---|
|
#18+
Возникла проблема с программой: При сохранении данных в английской раскладке все замечательно а при сохранении в русской раскладке - не работает поиск что можно придумать? кроме конечно же сохранения только в английской раскладке.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2007, 21:45 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34498180&tid=2028932]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 510ms |

| 0 / 0 |
