Verzweiflungsanfälle

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Verzweiflungsanfälle

    Ich soll ein Programm schreiben, in dem man Artikeldaten (Nummer, Name, Preis, Bestand) schreiben kann. Desweiteren soll die Neuaufnahme von Artikeln möglich sein. Die Dateien sollen in einer Datei gespeichert werden und auch auf diesem Wege wieder geöffnet werden (laden). Dann muss es löschen können, suchen und nach allen vier Eigenschaften sortiert werden können. Aber ich bekomm es einfach nicht auf die Kette. Bitte dringenst um Hilfe. THX!!!

    Quellcode

    1. #include<stdio.h>
    2. void main (void)
    3. goto:4;
    4. {{
    5. int a, b, c, d, e, f, g, h, i, k, l, m, ans, ok, nr, nam, pr, best, n, 4;
    6. printf("Herzlich Willkommen in dem Programm\n");
    7. printf("+++++++++++++++++++++++++++++++++++\n");
    8. printf("Hier kosten Sie kostenlos Ihre Artikel verwalten\n");
    9. printf("************************************************\n\n");
    10. printf("Was gedenken Sie nun zu tun?\n\n");
    11. printf("1. Artikeldaten eingeben -> a \n");
    12. printf("2. neue Artikel hinzufügen -> b \n");
    13. printf("3. loeschen von Artikeln -> c \n");
    14. printf("4. In Datei speichern -> d \n");
    15. printf("5. Aus Datei laden -> e \n");
    16. printf("6. Nach einem Artikel suchen -> f \n");
    17. printf("7. Sortieren nach Nummer -> g \n");
    18. printf("8. Sortieren nach Name -> h \n");
    19. printf("9. Sortiren nach Preis -> i \n");
    20. printf("10. Sortieren nach Bestand -> k \n");
    21. printf("11. Artikel anzeigen -> l \n");
    22. printf("12. Beenden -> m \n\n");
    23. printf("Was wollen Sie also tun? ");
    24. scanf("%i", &ans);
    25. /*-------->befahl nummer 1<--------------*/
    26. if a==ans;
    27. {
    28. printf("Sind Sie sicher? <j/n> : ");
    29. scanf("%i", & ok);
    30. {
    31. if j=ok;
    32. {
    33. printf("Willkommen zur Eingabe Ihrer Artikeldaten!\n\n");
    34. printf("Bitte geben Sie die Artikelnummer ein: ");
    35. scanf("%i", &nr);
    36. printf("\n\nBitte geben Sie den Artikelnamen ein: ");
    37. scanf("%i", &nam);
    38. printf("\n\nBitte geben Sie den Preis ein: ");
    39. scanf("%i", &pr);
    40. printf("\n\nBitte geben Sie den Bestand ein: ");
    41. scanf("%i", &best);
    42. printf("\n\n");
    43. }
    44. else n=ok;
    45. {
    46. return 0;
    47. }
    48. }
    49. }
    50. /*---------------->ab hier ist befehl 2<--------------------------*/
    51. if b==ans;
    52. {
    53. printf("Sind Sie sicher? <j/n> : ");
    54. scanf("%i", & ok);
    55. {
    56. if j=ok;
    57. {
    58. printf("Willkommen zur Eingabe Ihrer neuen Artikeldaten!\n\n");
    59. printf("Bitte geben Sie die Artikelnummer ein: ");
    60. scanf("%i", &nr);
    61. printf("\n\nBitte geben Sie den Artikelnamen ein: ");
    62. scanf("%i", &nam);
    63. printf("\n\nBitte geben Sie den Preis ein: ");
    64. scanf("%i", &pr);
    65. printf("\n\nBitte geben Sie den Bestand ein: ");
    66. scanf("%i", &best);
    67. printf("\n\n");
    68. }
    69. else n=ok;
    70. {
    71. return 0;
    72. }
    73. }
    74. }
    75. /*------------>ab hier ist befahl 3<------------------------*/
    76. if c==ans;
    77. {
    78. printf("Sind Sie sicher? <j/n> : ");
    79. scanf("%i", & ok);
    80. {
    81. if j=ok;
    82. {
    83. /*Hier wird stehen, wie man artikel loescht*/
    84. }
    85. else n=ok;
    86. {
    87. return 0;
    88. }
    89. }
    90. }
    91. /*----------->ab hier ist befehl 4<-------------*/
    92. if d==ans;
    93. {
    94. printf("Sind Sie sicher? <j/n> : ");
    95. scanf("%i", & ok);
    96. {
    97. if j=ok;
    98. {
    99. /*SPEICHERN*/
    100. }
    101. else n=ok;
    102. {
    103. return 0;
    104. }
    105. }
    106. }
    107. /*---------------->ab hier befehl 5<-------------*/
    108. if e==ans;
    109. {
    110. printf("Sind Sie sicher? <j/n> : ");
    111. scanf("%i", & ok);
    112. {
    113. if j=ok;
    114. {
    115. /*LADEN*/
    116. }
    117. else n=ok;
    118. {
    119. return 0;
    120. }
    121. }
    122. }
    123. /*----------------> ab hier befehl 6<------------------*/
    124. if f==ans;
    125. {
    126. printf("Sind Sie sicher? <j/n> : ");
    127. scanf("%i", & ok);
    128. {
    129. if j=ok;
    130. {
    131. /*SUCHEN*/
    132. }
    133. else n=ok;
    134. {
    135. return 0;
    136. }
    137. }
    138. }
    139. /*-------------------->ab hier befehl 7<------------------*/
    140. if g==ans;
    141. {
    142. printf("Sind Sie sicher? <j/n> : ");
    143. scanf("%i", & ok);
    144. {
    145. if j=ok;
    146. {
    147. /*SORTIEREN NACH NUMMER*/
    148. }
    149. else n=ok;
    150. {
    151. return 0;
    152. }
    153. }
    154. }
    155. /*-------------------->ab hier befehl 8<------------------*/
    156. if h==ans;
    157. {
    158. printf("Sind Sie sicher? <j/n> : ");
    159. scanf("%i", & ok);
    160. {
    161. if j=ok;
    162. {
    163. /*SORTIEREN NACH NAME*/
    164. }
    165. else n=ok;
    166. {
    167. return 0;
    168. }
    169. }
    170. }
    171. /*-------------------->ab hier befehl 9<------------------*/
    172. if i==ans;
    173. {
    174. printf("Sind Sie sicher? <j/n> : ");
    175. scanf("%i", & ok);
    176. {
    177. if j=ok;
    178. {
    179. /*SORTIEREN NACH PREIS*/
    180. }
    181. else n=ok;
    182. {
    183. return 0;
    184. }
    185. }
    186. }
    187. /*-------------------->ab hier befehl 10<------------------*/
    188. if k==ans;
    189. {
    190. printf("Sind Sie sicher? <j/n> : ");
    191. scanf("%i", & ok);
    192. {
    193. if j=ok;
    194. {
    195. /*SORTIEREN NACH BESTAND*/
    196. }
    197. else n=ok;
    198. {
    199. return 0;
    200. }
    201. }
    202. }
    203. /*-------------------->ab hier befehl 11<------------------*/
    204. if l==ans;
    205. {
    206. printf("Sind Sie sicher? <j/n> : ");
    207. scanf("%i", & ok);
    208. {
    209. if j=ok;
    210. {
    211. /*ARTIKEL ANZEIGEN*/
    212. }
    213. else n=ok;
    214. {
    215. return 0;
    216. }
    217. }
    218. }
    219. /*-------------------->ab hier befehl 12<------------------*/
    220. if m==ans;
    221. {
    222. printf("Sind Sie sicher? <j/n> : ");
    223. scanf("%i", & ok);
    224. {
    225. if j=ok;
    226. {
    227. exit;
    228. }
    229. else n=ok;
    230. {
    231. return 0;
    232. }
    233. }
    234. }
    235. /*---------------->hier beginnt der rest oder so<-------------------------*/
    236. ;
    237. }
    238. ; }
    Alles anzeigen
  • Ich glaube du hast da EINIGES missverstanden...
    Bitte versuch jede einzelne Komponente (Kontrollstrukturen!!!) erstmal einzeln und ganz simpel in ein eigenes Programm zu schreiben. Damit fällt dir die Fehlersuche vielleicht leichter.

    Quellcode

    1. #include<stdio.h>
    2. int main (void)
    3. {
    4. int zahl;
    5. printf("Bitte eine 3 eingeben: ");
    6. scanf("%d", &zahl);
    7. if(zahl == 3)
    8. {
    9. printf("Richtig!\n");
    10. return 0;
    11. }
    12. else
    13. {
    14. printf("Falsch!\n");
    15. return 1;
    16. }
    17. }
    Alles anzeigen
  • also...
    1. ich verstehe nicht was das goto am Anfang soll...
    2. du solltest mal lernen deinen code etwas übersichtlicher zu strukturieren
    3. nicht alle Variablen die du verwendest sollten vom Typ int sein (das sind nämlich nur ganze Zahlen)
    4. eine if-Abfrage sieht normalerweise so aus: if (variable=='Wert') { code; } else { code; }
    5. wenn sich der Benutzer vertan hat mit seiner Auswahl am Anfang des Programms und er somit auf die Frage "Sind sie sicher?" mit "n" antwortet sollte das Programm nicht beendet werden ;)
  • Sind solche Beispiele nicht die klassischen Verwendungszwecke für Klassen ?
    Also die ganzen Daten bündeln und dann mit einzelnen Funktionen darauf
    hantieren ? hm - is doch ne schöne Aufgabe ?
    Nur über den Sortieralgorithmus kann man sich streiten, da gibts ja ne ganze
    Menge - effektive und auch weniger effektive - ehm.

    krass int a,b,c,d,e,f,g,h ... sieht nich schlau aus irgendwie.

    Die Aufgabe is trotzdem ordentlich komplex, müsste man schon ein Wochenende
    für opfern ;)

    Edit, das sieht auch wie ein Firmenauftrag aus oder ne Uni-Aufgabe für die Ferien 8-)

    Edit2, beim Antesten der Aufgabe hab ich festgestellt, dass man die Entwicklungs-
    zeit mit paar Datenstrukturen und Funktionen der STL drastisch verringern könnte,
    wenn man jetz wieder wüsste, wo man Infos dazu findet.
  • Hm - ich habs angefangen und dann wieder verworfen weil mein Klassenkonzept
    Grütze war und ich keine Lust hatte, in die ArtikelDatenstruktur noch ne verkettete
    Liste einzufädeln - dumm gelaufen 8-P.

    Wenigstens hielten sich die Produktionskosten bis jetzt in geeignetem Rahmen ;)

    Hier noch ein kleiner, feiner C++ Kurs, da kann man auch fix nachgucken, wie
    das mit den If's so läuft ... http://www.mathematik.uni-marburg.de/~cpp/
  • Is schon fraglich, WIE man die Datensätze speichern soll ...
    da in dem Artikel über die STL gibts ne kleene Auflistung:
    http://www.c-plusplus.de/forum/viewtopic-var-t-is-143816.html

    reicht ein Vektor ? dann kann man nich gut löschen und will
    man ne Liste, dann braucht man IdentifikationsNummern,
    dann wird das mit dem Sortieren natürlich wieder problematisch.
    Wah. Ob ich den Anfang doch nochma ausm Papierkorb ziehe ;)