Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


C++ uppgift

Postades av 2003-12-16 18:59:37 - Niklas Andersson, i forum c++, Tråden har 9 Kommentarer och lästs av 1029 personer

Hej. Är nyregistrerad medlem samt nybörjar på C++. Har köpt en bok av Stephen Prata och försöker lösa uppgifterna i slutet av varje kapitel men har kört fast. Hoppas någon kan hjälpa till. Övningen jag kört fast med är typ en följduppgift från uppgiften innan så för att ni skall förstå så skriver jag in den uppgiften också:

Du säljer handboken för "galningar". Skriv ett program som låter dig skriva in ett års månatliga försäljningstal (i antal böcker, inte i pengar). Programmet bör använda en slinga för att fråga efter värdet för varje månad med en char-vektor som intitieras till månadernas namn och en int-vektor för att lagra försäljningssiffrorna. Sedan bör programmet räkna fram totalsumman för vektorn och presentera årets sammanlagda försäljning.

Min kod (som jag tror är rätt, resultet av koden funkar iafl):

#include <iostream.h>
using namespace std;
const int months = 12;
int main()
{
char month[months][20] =
{
"januari",
"februari",
"mars",
"april",
"maj",
"juni",
"juli",
"augusti",
"september",
"oktober",
"november",
"december"
};
int fsg[months];
for (int i = 0; i < months; i++)
{
cout << "month " << month[i] << "s försäljning: ";
cin >> fsg[i];
fsg[months] = fsg[i]+i;
}
cout << "Den totala försäljningen uppgick till:" << fsg[12] << " böcker\n";

int a;
cin >> a;
return 0;



Nu till "följdfrågan"...

Gör om övning ovan men använd en tvådimensionell vektor för att lagra och hantera tre års månatliga säljsiffror. Rapportera varje enskilt års försäljning samt den totala summan för alla tre åren.

Jag har i koden nedan bara fyllt i siffror som skall vara resultat för att se ifall slingen skriver ut rätt, vilken den inte gör. Snarare helt galet. Jag hoppas någon orkar ta sig tid och kanske ändra min kod lite så att det blir rätt..

#include <iostream.h>
using namespace std;
const int months = 12;
const int years = 3;
int main()
{
char *month[months][20] =
{
"januari",
"februari",
"mars",
"april",
"maj",
"juni",
"juli",
"augusti",
"september",
"oktober",
"november",
"december"
};

int res[years][months] =
{
{1,1,1,1,1,1,1,1,1,1,1,1},
{2,2,2,2,2,2,2,2,2,2,2,2},
{3,3,3,3,3,3,3,3,3,3,3,3},
};

for (int m = 0; m < months; m++)
{
cout << month[m] << "s försäljning:\t ";
for (int y = 0; y < years; y++)
cout << res[y][m] << "\t";
cout << "\n";
}


int a;
cin >> a;
return 0;
}



Mvh
Niklas


Svara

Sv: C++ uppgift

Postades av 2003-12-16 20:28:19 - Per Persson

Är det månadsnamnen som skrivs ut tokigt? Du har nämligen gjort fel i den arrayen:
<code>
char *month[months][20] =
{
"januari",
"februari",
"mars",
"april",
"maj",
"juni",
"juli",
"augusti",
"september",
"oktober",
"november",
"december"
};
</code>

Antingen skall du ha
<code>
char month[months][20] =
{
"januari",
"februari",
"mars",
"april",
"maj",
"juni",
"juli",
"augusti",
"september",
"oktober",
"november",
"december"
};
</code>
eller
<code>
char *month[months] =
{
"januari",
"februari",
"mars",
"april",
"maj",
"juni",
"juli",
"augusti",
"september",
"oktober",
"november",
"december"
};
</code>


Svara

Sv: C++ uppgift

Postades av 2003-12-16 21:10:59 - Niklas Andersson

Tack. Nu skriver den ut som jag hade tänkt att den skulle göra när jag ville testa ifall for-slingorna skrev ut rätt fast det är fortfarande inte rätt enligt uppgiften.
Varje enskilt år skall rapporteras samt den totala summan för alla tre åren.


Svara

Sv: C++ uppgift

Postades av 2003-12-16 22:30:14 - Niklas Jansson

Tror inte jag hajar problemet...

Kan du inte räkna ut summan?

Det enklaste är väl om du gör typ så här:

int ysum[years]={0,0,0};
int totsum=0;
for (int y = 0; y < years; y++)
{
for (int m = 0; m < months; m++)
ysum[y]+=res[y][m];
cout << "Resultat år " << y << ": " << ysum[y] << endl;
totsum+=ysum[y];
}
cout << "Totalt: " << totsum;


Svara

Sv: C++ uppgift

Postades av 2003-12-17 09:32:45 - Per Malmén

Jag tycker bara att det är djupt tragiskt att Prata påstår sig skriva en bok där han lär ut C++ och visar sen läsarna hur dom ska sitta och manipulera char- och int-arrayer.
Skrämmande!

Hela meningen med C++ är ju användandet av klasser och standardbiliotek så att man slipper sånt!


Svara

Sv: C++ uppgift

Postades av 2003-12-17 14:05:28 - Niklas Jansson

Ja, visserligen bygger C++ till större delen på en högre abstraktion, men vet man inte hur grejer är uppbyggda så är det svårt att komma vidare.

Man kan ju bara tänka på att C++ också innebär ett stort användande av fristående bibliotek - saker man inte har kontroll över - och dessa kan använda arrayer.

Då tycker jag det är värre med böcker som lär ut att man ska använda #define's. Finns nog inget värre...


Svara

Sv: C++ uppgift

Postades av 2003-12-17 15:08:30 - Niklas Andersson

Tack allihopa för hjälpen. Jag tycker att uppgiften är löst, tack vare er hjälp. Tyvärr så kommer jag nog återkomma med fler problem.

Såg att ni var lite kritiska till prata. Jag är så pass färsk så att jag inte kan uttala mig om boken är bra i jämförelse med andra böcker men jag tycker ändå boken har varit rätt pedagogisk och lagom lättförstådd. Har tillgång till boken "lär dig C++ på 3 veckor" och får väl kanske jämnföra dessa två emellan. Ha det bra allihopa.

På återhörande
Niklas


Svara

Sv: C++ uppgift

Postades av 2003-12-17 16:18:31 - Niklas Jansson

Jag delar inte kritiken mot Prata lika fullt som hiflyer.

En tumregel du kan använda är:
Om skribenten använder t.ex. <iostream.h> istället för <iostream> så är det antingen en för gammal bok eller en oerhört dålig bok.

Om skribenten använder <conio.h> så är det en bok som använder något som är icke-standard. Om du använder något sånt kan du aldrig förvänta dig att det du skriver kommer kunna användas någon annanstans än där du skriver det.

Om skribenten använder #define för att göra makron eller konstanter är det en dålig eller gammal bok. För en normal användare så behövs #define bara om man vill göra villkorlig inkludering, typ

#ifndef MIN_H_FIL
#define MIN_H_FIL

//...
#endif

Allt annat kan och bör göras via nyare konstruktioner.


Svara

Sv: C++ uppgift

Postades av 2003-12-18 11:25:33 - Per Malmén

Jo tack, jag är ganska medveten om att man då och då blir tvungen att anpassa sig till annat än C++ standarden. Jag utvecklar för tillfället ett spel för SymbianOS och där finns inte std alls! Men jag tycker iaf att man bör BÖRJA med att använda sig av de verktyg std ger en. När man sen blir mer avancerad kanske man intresserar sig för HUR std är skrivet eller så blir man tvungen att lära sig andra tekniker. Men det är inte intressant i början. Då är det viktigaste att komma igång med OOP som är grunden i C++.
Jag tror inte alls på principen "C++ är en utvidgning av C så vi börjar med att lära oss C". Jag tror att det är svårare att anpassa sig till OOP om man börjar med att lära sig ren C.


Svara

Sv: C++ uppgift

Postades av 2003-12-18 11:54:30 - Niklas Jansson

Jo, det kan stämma, jag hade själv svårt att gå över helt och hållet. Men i fallet arrayer tycker jag nog det ändå är så fundamentalt och så enkelt att det inte kräver speciellt mycket av någon som skall lära sig det. Jag menar: var ska man dra gränsen, ska man inte lära sig "vanliga" variabeltyper heller?


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 518
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies